【初めてのArduino】3.Lチカ|ハンズオンで学ぶ初心者向け入門コース

YouTube

目次
0:00 オープニング
0:26 使う材料の準備
0:44 回路図
1:40 回路を組む
2:29 プログラムの基本
3:27 プログラムの作成
4:32 ボードに書き込む
5:06 まとめ
電子工作を始めたばかりで、回路作成からプログラム作成までが分からなくて困っているんだ。

それじゃあまず、このコースを受けてArduino IDEの基本的な事から一緒に学んでいこう!

今回のレッスンでは、「3.Lチカ」というテーマで、手を動かしながら以下のようなことを学んでいきます。

今回のレッスンで学べる事
  • 回路作成からプログラム作成までの一通りのフロー
  • Arduino IDEの使い方
  • Arduinoのプログラムの基本: setupとloop関数、digitalWrite、delay、pinMode 

このコースは、これから電子工作を始める方向けに、代表的なマイコンボードであるArduinoを使って、電子回路の組み方やプログラミングの仕方などをハンズオン形式で学べるコースになっています。

以下3つのボードは、全く同じコードで動作することが確認できています!

使用したコード

動画内で使用したコードです。ご自由にご使用ください。

3.Lチカ

それでは、Arduinoを使って実際に動かしていってみましょう。

このレッスン3では、手を動かしながら、以下のようなことを学んでいきます。

このレッスンで学ぶこと
  • 回路作成からプログラム作成までの一通りのフロー
  • Arduino IDEの使い方
  • Arduinoのプログラムの基本:setupとloop関数、digitalWrite、delay、pinMode

まずは、このレッスンで作成するものをお見せします。
以下のように、ブレッドボードにつないだLEDが1秒おきにON/OFFを繰り返しているのが分かると思います。

これがいわゆるLチカです!

Lチカは電子工作を始める人が必ず最初に通る道なので、このコースでもここから始めていきたいと思います。

それでは、まずは使用する材料を揃えていきましょう。

使うものは、Arduino Uno・ブレッドボード・オスオスのジャンパーワイヤ2本・赤色LED・330Ωの抵抗です。

レッスン1で紹介したELEGOOというキットであれば、これらが全てセットで入っています。

今回作る回路を、回路図で表したのが以下の図になっています。

Arduinoの10番のデジタルピンを電源とし、その先にLED・抵抗・GNDを接続しています。

デジタルピンは入力と出力をプログラムで切り替えられ、出力の場合は5Vの電圧が出力され、プログラムによってスイッチのように出力と停止を切り替えることができます。

そのため、回路図は以下の図のように書き換える事ができます。

このスイッチを、一定の時間おきに切り替えることで、Lチカが実現できるわけです

また、必ずLEDには抵抗もセットで接続します。

抵抗がなくてもLEDは点きますが、電流を流しすぎてArduinoやLEDを壊してしまう可能性があるためです。

抵抗値は、以下の図のようにオームの法則を使って求めました。

ここでは流す電流を10mA程度としています。
計算上は300Ω程度となるのですが、ちょうど良い抵抗値がなかったので値の近い330Ωを選んでいます。

次にこの回路を、ブレッドボードを使って以下のように接続していきます。

ブレッドボードは、回路を手早く簡単に作ることを目的とした電子工作に必須の工具です。

ブレッドボードは、外側にある青い線と赤い線のラインが引かれた穴は縦でつながっていて、内側の穴は横でつながっています。

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に書き込みます!

前準備として、メニューバーの「ツール」→「ボード」で「Arduino Uno」、「シリアルポート」でArduino Unoと書かれたポートを選んでおきます。

ここにArduinoの名前が出てこない場合は、ケーブルがちゃんと挿さっていない可能性があります。

そして、ツールバーの「マイコンボードに書き込む」のボタンを押すと、プログラム上にエラーがなければ自動的に書き込み処理が始まります。

数秒経つと処理が完了し、このようにLEDが1秒おきにチカチカする事が確認できました。

まとめ

今回は、これから電子工作を始める方向けに、ハンズオンで学ぶ初心者向け入門コースの第三弾として「3.Lチカ」というテーマで説明してきました。

今回のレッスンで分かったこと
  • 回路作成からプログラム作成までの一通りのフロー
  • Arduino IDEの使い方
  • Arduino のプログラムの基本:setupとloop関数、digitalWrite、delay、pinMode

Lチカの周期を変えるためにはどこを変えれば良いか、今回学んだことを踏まえてご自身で考えてみて下さい!

本記事の続きは、ハンズオンで学ぶ初心者向け入門コースの第四弾で説明していきます。

当サイトでは、最低限身につけるべき知識やツールの解説など、電子工作を 0 から体系的に学べる動画や記事を投稿しています。

さらに電子工作について学びたい方は、他の動画や記事もぜひ見てみてください。