ELEGOO (Arduino)で始めるマイコン入門 4:LED点灯

さっそく動かしましょう。マイコン初学者はみな、LEDを点滅させるという儀式を経て学習を始めていきます。LEDをチカチカさせるので、Lチカ、と呼ばれています。

どうやってLEDを光らせるのか

LEDを光らせる前に、マイコンの基本的な考え方を確認します。マイコンができることはただ一つしかありません。それは電流を外部に流すことです。電流を流し、電圧を変えることで素子へ入力を行うのです。LEDを光らせるのも、特定の場所に電流を流し、電圧を変化させることで実現します。

Arduino megaには、53個のデジタルポート(ピンとも呼びます)があります(電流を流せる出力端子です)。このうち、13番目のピンがボード内臓のLEDに繋がっています。つまり、13番ピンの出力を変えることによって、LEDを点滅させることができるのです。

Lチカのプログラム

Lチカを行うプログラムを書きましょう。その前に、Arduinoのプログラムがどのように実行されるかを確認します。Arduinoは、下の画像のように、setup関数とloop関数によって構成されます。

画像1


setup関数で、どのピンを使うかなどのボードの設定を行い、loop関数でプログラム本体の実行を行います。

Lチカのプログラム本体

void setup() {
 // put your setup code here, to run once:
 // 最初にこの関数が実行されます。
 pinMode(13, OUTPUT); // 13番ピンを出力に設定
 digitalWrite(13, LOW); // 初期値はLOW(LEDは消灯)出力
}

void loop() {
 // put your main code here, to ruSn repeatedly:
 // setupが実行されると、この関数が無限回、実行されます。
 int count;

 for (count = 0;; count++){
   delay(1000); // 1000ms(1秒)待つ
   digitalWrite(13, HIGH); // 13番ピンをHigh出力 (LEDは点灯)
   delay(1000);
   digitalWrite(13, LOW);
 }
}

解説

 Arduino IDEはC++をベースにしたプログラミング言語を使用します。プログラミングの基本については他のサイトに譲るとして、Arduino特有の関数の説明を行います。
 まず、setup関数内のpinModeです。pinMode(ピン番号, mode)となっており、modeには、INPUT、OUTPUT、INPUT_PULLUP(入力がないときに、Highを入力されているとみなすモード)があります。Arduinoでは、13番ピンが内臓LEDに接続されているため、今回は13番ピンを出力に設定します。
 次に、digitalWrite関数です。digitalWrite(ピン番号, Value)となっており、ValueにはLOWとHIGHの2種類が選べます。LOWは0V、HIGHは5Vが出力されます。
 最後にdelay関数です。delay(value)はvalueミリ秒待機します。よって、1000を入れると1000ミリ秒、つまり1秒待機します。
 このプログラムを実行すると、1秒ごとにLEDが点滅します。

次はブレッドボードと3色LEDを使ったプログラムを行います。


この記事が気に入ったらサポートをしてみませんか?