たかはしです。
これから数回に分けて、Arduinoで電子工作を楽しむポイントをお伝えしていきます。
第一回は、基本ともいえるLEDチカチカ(通称、Lチカ)からいきましょう。簡単にざっと説明しますので、Arduino IDEの使い方、スケッチの書き込み方がわからない方は調べながら実行してみてください。
今回やりたいこと
Arduinoを使い、LEDを点滅するよう制御します。11番ピンにLEDを繋ぎ、1秒ごとにLEDが点いたり消えたりするようにしてみましょう。
やりかた(例)
写真だけでは配線がわかりにくいので、https://www.tinkercad.com/circuitsで実体配線図を書いています。これを参考にArduinoと各電子部品をつないでみてください。
11番ピンを出力として使い、抵抗(過電流を防ぐため、数kオームでよいです)を経由してLEDに接続します。
LEDには2本の足(A:アノード、K:カソード)が出ています。アノードを+側、カソードを-側(GND)になるように繋ぎます。アノードの方がちょっと足が長いです。
カソードをブレッドボードの-に接続し、同じくブレッドボードの-をArduinoのGNDに接続します。これでぐるりと一周する回路ができました。
ちなみに、ブレッドボードは中央のa~e、f〜jと書かれている部分がそれぞれ中で繋がっています。例えば抵抗の右側の足とLEDの左側の足はどちらも11番(d、e)に接続されているので、中で繋がっていると読みます。同様に、両端の+や-は横に同じく繋がっています。上の+-と下の+-は接続されていません。
int led = 11; void setup() { // put your setup code here, to run once: pinMode(led,OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(led,HIGH); delay(1000); digitalWrite(led,LOW); delay(1000); }
結線が終わったら、Arduino IDEでコードを書きます。今回は、11番ピンに接続したLEDを1秒(1000ミリ秒)ごとにHIGH/LOWを切り替え、点滅させるようにしています。
setup()の中身は起動時に一度だけ実行されます。その後、loop()の中身がずっと繰り返し実行されます。これは英語で注釈が入っている通りですね。
コンパイルエラーがなければ、Arduinoにプログラム(スケッチ)を書き込めば完了です。LEDがチカチカ点滅しましたか?簡単ですね。
応用例として、チカチカするタイミングをもっと長くしたり短くしたりしてみましょう。
次はこのプログラムをScratchのコードブロックと並べてみることで理解を深めてみましょう。