YouTube
今回のレッスンでは、「3.Lチカ」というテーマで、手を動かしながら以下のようなことを学んでいきます。
- 回路作成からプログラム作成までの一通りのフロー
- Arduino IDEの使い方
- Arduinoのプログラムの基本: setupとloop関数、digitalWrite、delay、pinMode
このコースは、これから電子工作を始める方向けに、代表的なマイコンボードであるArduinoを使って、電子回路の組み方やプログラミングの仕方などをハンズオン形式で学べるコースになっています。
- Arduino Uno ¥3,150:https://amzn.to/39dcJgb
- ELEGOO Uno ¥2,399:https://amzn.to/3EGw84F
- KKHMF Uno ¥1,099:https://amzn.to/3L50Gzs(別途ドライバのインストール...
使用したコード
動画内で使用したコードです。ご自由にご使用ください。
1 2 3 4 5 6 7 8 9 10 11 12 | void setup() { // put your setup code here, to run once: pinMode(10,OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(10,HIGH); delay(1000); digitalWrite(10,LOW); delay(1000); } |
3.Lチカ
それでは、Arduinoを使って実際に動かしていってみましょう。
このレッスン3では、手を動かしながら、以下のようなことを学んでいきます。
- 回路作成からプログラム作成までの一通りのフロー
- Arduino IDEの使い方
- Arduinoのプログラムの基本:setupとloop関数、digitalWrite、delay、pinMode
まずは、このレッスンで作成するものをお見せします。
以下のように、ブレッドボードにつないだLEDが1秒おきにON/OFFを繰り返しているのが分かると思います。
Lチカは電子工作を始める人が必ず最初に通る道なので、このコースでもここから始めていきたいと思います。
それでは、まずは使用する材料を揃えていきましょう。
使うものは、Arduino Uno・ブレッドボード・オスオスのジャンパーワイヤ2本・赤色LED・330Ωの抵抗です。
レッスン1で紹介したELEGOOというキットであれば、これらが全てセットで入っています。
今回作る回路を、回路図で表したのが以下の図になっています。
Arduinoの10番のデジタルピンを電源とし、その先にLED・抵抗・GNDを接続しています。
デジタルピンは入力と出力をプログラムで切り替えられ、出力の場合は5Vの電圧が出力され、プログラムによってスイッチのように出力と停止を切り替えることができます。
そのため、回路図は以下の図のように書き換える事ができます。
このスイッチを、一定の時間おきに切り替えることで、Lチカが実現できるわけです。
また、必ずLEDには抵抗もセットで接続します。
抵抗がなくてもLEDは点きますが、電流を流しすぎてArduinoやLEDを壊してしまう可能性があるためです。
抵抗値は、以下の図のようにオームの法則を使って求めました。
次にこの回路を、ブレッドボードを使って以下のように接続していきます。
ブレッドボードは、回路を手早く簡単に作ることを目的とした電子工作に必須の工具です。
ブレッドボードは、外側にある青い線と赤い線のラインが引かれた穴は縦でつながっていて、内側の穴は横でつながっています。
LEDは、部品の脚が長い方をアノード、短い方をカソードと言い、アノードからカソードにしか電流が流れないようになっているので注意しましょう。
一方で、抵抗は向きによる差はないので、向きは気にしなくて大丈夫です。
また、部品の脚が長いまま使うとグラグラしやすく、他の部品とショートする原因となってしまうので、できるだけ切るようにしましょう。
これらの注意点を意識しながら、ブレッドボード図を参考に回路を組んでいきます。
ということで、回路を組むことができました。
回路が作れたら、最後にプログラム作業に移ります。
まずプログラムの画面を見ると、void setup()とvoid loop()という、大きな2つの塊があることが分かります。
Arduinoでは、電子工作で良く使う関数が最初から2つ用意されています。
setupの方は、Arduinoを起動して最初の1回しか実行されない関数、loopの方は、setupを実行後に繰り返し行われる関数になります。
一般的には、初期設定に相当するものはsetup、メインの処理はloopの方に書きます。
そして、プログラムは基本的には上の行から順に実行されていきます。
また、2つのスラッシュで始まる行はコメントと言って、プログラムを書いている人に向けて書かれたメモのようなものです。
それではプログラムを書いていきましょう。
まずは、setupの方にpinMode(10, OUTPUT); と書きます。
pinModeというのは各ピンのピン設定をするためにあらかじめ作られている関数で、以下のように書くと10番のデジタルピンを出力設定にするという意味になります。
次にloopの方に、以下の図ように4行追記します。
digitalWriteというのがスイッチの役割を持った関数で、指定した番号のピンを、HIGHの場合はON、LOWの場合はOFFにします。
delayというのは、次の処理に進むまでに何ms待つかを決める関数で、ここでは1000msなので1秒待つ設定にしています。
最後に、書いたプログラムの行を選んでキーボードのタブを押し、見た目を整えたら完了です。
このように、Arduinoにはあらかじめ作られている便利な関数がたくさんあり、自由に呼び出す事ができます。
また、各行の最後にはセミコロンを入れるルールなので、忘れず入力しましょう。
ここまで完了したら、メニューバーの「ファイル」→「名前を付けて保存」を押して、一旦ファイルを保存しておきます。
前準備として、メニューバーの「ツール」→「ボード」で「Arduino Uno」、「シリアルポート」でArduino Unoと書かれたポートを選んでおきます。
ここにArduinoの名前が出てこない場合は、ケーブルがちゃんと挿さっていない可能性があります。
そして、ツールバーの「マイコンボードに書き込む」のボタンを押すと、プログラム上にエラーがなければ自動的に書き込み処理が始まります。
数秒経つと処理が完了し、このようにLEDが1秒おきにチカチカする事が確認できました。
まとめ
今回は、これから電子工作を始める方向けに、ハンズオンで学ぶ初心者向け入門コースの第三弾として「3.Lチカ」というテーマで説明してきました。
- 回路作成からプログラム作成までの一通りのフロー
- Arduino IDEの使い方
- Arduino のプログラムの基本:setupとloop関数、digitalWrite、delay、pinMode
Lチカの周期を変えるためにはどこを変えれば良いか、今回学んだことを踏まえてご自身で考えてみて下さい!
本記事の続きは、ハンズオンで学ぶ初心者向け入門コースの第四弾で説明していきます。
当サイトでは、最低限身につけるべき知識やツールの解説など、電子工作を 0 から体系的に学べる動画や記事を投稿しています。