14.Arduinoでスイッチ入力で音を鳴らす(digitarRead)

digitalRead_tone 1.最初からマスター

digitalReadとtoneを使って、せっかくならスイッチの入力を検知して音を鳴らす回路とプログラムを作ってみます。
今回はSerial関数を使って、状態を画面上に表示してみるテクニックも使ってみます。

全体接続のイメージ

スイッチはタクトスイッチと言って、カチっと押すと接点が接触して導通するものを使います。

そしてLoopの中でスイッチを接続したポートがLOWになったら「押された!」ということで、その時にtone命令でブ~と音をならしてみます。

ブレッドボードで配線してみる

Arduino digitalRead

回路図

スイッチの片方は①です。
①はUNOから10KΩの抵抗を使ってUNOの2番の足とつながっています。
こうしておくと、スイッチを押されていない時には常に2番には+5V(HIGH)が入力されていることになります。

 

digitalRead

スイッチのもう片方は②です。
②はUNOのGNDに接続をしています。

普段は②は+5V(HIGH)ですが、スイッチが押されると①は②とつながることでGND(LOW)となります。

プログラムを作ってみる

ブザーは11番ピン、スイッチは2番ピンに接続しています。
2番ピンを入力モードにすることで、digitalReadを使うことでポートの状態を読み取ることができます。
読み取ったpinの値を判断して、LOWであれば440Hzの音を10m秒鳴らしてみます。

状態を画面に表示できるSerial

スイッチを押したときの状態をArduinoのIDE画面に表示することができます。
setup関数の中でまずSerialを使うよ~と Serial.begin(115200);をコールします。
次に見たい場所でそのデータを画面に出力するようにSerial.printlnをコールします。

コメント

タイトルとURLをコピーしました