arduino勉強記録、今回はボタンのON/OFFをarduinoで取得します。
今回の回路は、前回の回路から少しだけ変わっています。
ボタンのON/OFFを取得する
ボタンのON/OFFにより電流が流れた、流れていないを取得するためスイッチの後ろ側でON/OFFを取得することとします。arduinoがわでは7番ピンで取得することにします。
スケッチはこんな感じにしました。前回までのLチカのスケッチに【追加行】で追加していったはずが、気づいたら全とっかえになっていました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/* データ取得 シリアルモニタ Get the state of the switch */ int button_pin = 7; // 【追加行】ボタンのon/offを取得するピン番号 int state = 0; // 【追加行】ピンから取得したデータ格納用 // the setup function runs once when you press reset or power the board void setup() { Serial.begin(38400);//【追加行】シリアル速度設定 pinMode(button_pin, INPUT);//【追加行】ボタンのon/off取得ピンを入力要に設定 } // the loop function runs over and over again forever void loop() { state = digitalRead(button_pin); // 【追加行】ピンよりデータ取得 Serial.println(state); // 【追加行】シリアルモニタに出力 } |
スケッチをarduinoに書き込んでボタンを押して、押した間だけLEDが点灯することを確認しました。
シリアルモニタで取得情報を確認する
loop関数の下記で7番ピンからデータを取得しています。
1 |
state = digitalRead(button_pin); // 【追加行】ピンよりデータ取得 |
次の行で、シリアルモニタへ取得内容を送信しています。
1 |
Serial.println(state); // 【追加行】シリアルモニタに出力 |
シリアルモニタを確認してみます。
シリアルモニタは、IDE右上の虫メガネから確認できます。
クリックすると、こんな画面が出てきます。
最初に右下のドロップダウンリストで、転送速度がスケッチ内容と一致しているか確認します。
モニタ内に数字が並んでいますが、0がLOW、1がHIGHです。ボタンを押すと0から1に数字が変わりました。
今回はブレッドボード上の挙動を、arduinoで取得してみました。
次回はスイッチとLEDを切り離して、スイッチの挙動からarduino経由でのLED点灯に挑戦します。