注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ ここ]をクリックして今すぐ参加しましょう!
ウェルカム
このプロジェクトでは、PIRセンサーを使用して人の存在を検出し、スピーカーを使用してコンビニエンスストアの入口のドアベルに似たドアベルをシミュレートします。 歩行者がPIRセンサーの範囲内に現れると、スピーカーが鳴り、ドアベルを模倣します。
必要なコンポーネント
このプロジェクトには以下のコンポーネントが必要です。
全体のキットを購入すると便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
|---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから別々に購入することもできます。
コンポーネント紹介 |
購入リンク |
|---|---|
- |
|
- |
配線図
回路図
コード
注釈
ファイル
01_welcome.inoをelite-explorer-kit-main\fun_project\01_welcomeのパスから直接開くことができます。または、このコードをArduino IDEにコピーしてください。
どのように動作しますか?
以下はコードの詳細な説明です:
ヘッダーファイルのインクルード:
analogWave.hとpitches.hという二つのヘッダーファイルをインクルードします。analogWave.hファイルにはanalogWaveクラスの定義が含まれており、pitches.hには音楽ノートの定義が含まれています。オブジェクトのインスタンス化と定数の定義:
analogWaveクラスを使用してwaveオブジェクトを作成し、PIRセンサーに接続されたピンとしてPIR_PINを2として定義します。メロディ配列:
melody配列は、音楽的なメロディを定義し、各ノートにはその持続時間を表す数が続きます。 負の数は点付きのノートを表し(持続時間を50%増加)、符点をつけます。グローバル変数:
関数間でデータを共有するためのグローバル変数を定義します。
setup():PIR_PINを入力として初期化し、wave.sine(10)を使用して正弦波の周波数を10Hzに設定します。loop():PIRセンサーの値を継続的に監視します。 人の存在が検出されると(pirValueがHIGHの場合)、
playMelody()関数を呼び出してメロディを演奏し、メロディの反復的な再生を防ぐために10秒待ちます。playMelody():この関数は
melody配列のデータに基づいて各ノートの持続時間を計算し、対応するノートを演奏します。ノート間には短い一時停止があります。 この関数はwave.freq()を使用して波形の周波数を設定し、delay()関数を使用してノートとノート間の一時停止の持続時間を制御します。注意:このコードを実行する前に、
pitches.hヘッダーファイルが実際に存在することを確認してください。