Arduinoを使ってLチカをする
Lチカとは何か?
Lチカとは、LEDを点滅させることです。
電子工作のキモは I/Oピンの制御です。
I/OピンにHIGH、LOWを出力しLEDを点灯、消灯させるLチカはまさにI/Oピン制御の基本です。
電子工作の初歩の初歩であり、プログラミングで言う所の『Hello world』にあたります。
使用するもの
・Arduino UNO 本体 :1個
・ブレッドボード:1個
・LED:1個
・330Ω抵抗:1個
・ジャンパー線(オス-オス):2本
手順① Arduino IDE を使ってプログラムを作成する
Arduinoを使った開発では、Arduinoの標準的な開発環境であるArduino IDEを使用します。
Arduino IDE で使用するプログラミング言語は C言語と一部のC++の機能です。
基本的には、C言語と同じ書き方で実装できます。
ここから以降は、Arduino IDEをインストールしていることを前提に説明を行います。
インストールがまだの方は、以下の記事を参考にインストールを行ってください。
wakamelab.hatenadiary.com
Arduino IDEのアイコンをダブルクリックして、Arduino IDE を起動してください。
Arduino IDE が起動すると、このようにテキストを入力できるウィンドウが立ち上がります。
setup()関数は、Arduinoが起動した時に一度だけ実行される関数です。
関数の名前の通り、I/O ピンやタイマーの初期化に使用します。
loop()関数は、Arduinoが起動している間繰り返し実行される関数です。
実行したい処理はこの関数の中に記述します。
では以下にLチカのサンプルプログラムを紹介します。
このプログラムをArduino IDEに記述してみてください。
#define LED 7 void setup() { pinMode(LED, OUTPUT); //7番ピンを出力に設定 } void loop() { digitalWrite(LED, HIGH); //LED点灯 delay(1000); //1秒待機 digitalWrite(LED, LOW); //LED消灯 delay(1000); //1秒待機 }
このプログラムの意味を解説します。
#define LED 7
#define は置き換えのマクロです。#define (A) (B) とすることで、A を B に置き換えるという意味になります。
この場合、"LED"という文字を、"7"に置き換ることを意味しています。
pinMode(LED, OUTPUT);
pinMode(ピン番号, OUTPUT/INPUT) で指定したピンを入力/出力に設定します。
この場合、LED(7)番のピンを出力に設定しています。
digitalWrite(LED, HIGH);
digitalWrite(ピン番号, HIGH) で指定したピンに5Vの電圧を出力します。
この場合、LED(7)番ピンに5Vの電圧を出力し、LEDを点灯させる処理です。
delay(1000);
delay(数値) で、数値分の時間ミリ秒間処理を停止します。
1000ミリ秒→1秒間、処理を停止することを意味しており、LEDの点灯を1秒間キープします。
digitalWrite(LED, LOW);
digitalWrite(ピン番号, LOW) で指定したピンの電圧の出力を止めます。
この場合、LED(7)番ピンの電圧を0Vにし、LEDを消灯させる処理です。
delay(1000);
1000ミリ秒→1秒間、処理を停止することを意味しており、LEDの消灯を1秒間キープします。
このプログラムを書き終わったら、名前を付けて保存してください。
名前は何でもいいですが、必ず半角英数字のみを使ってください。
ここでは、仮に"LED_BLINK"としています。
プログラムをコンパイルする
プログラムが完成したのでコンパイルを行います。
コンパイルとは、プログラミング言語で書かれたプログラムを、コンピューターが実行可能な形式に変換することです。
コンパイルを行うことで、今作成したプログラムをArduinoが実行できる形式に変換することができます。
コンパイル方法は、Arduino IDE 上の"検証"ボタンを押すだけです。
検証ボタンを押してコンパイルを始めてください。
下の画像のように、"コンパイルが完了しました”と表示されればOKです。
もしこれ以外が表示された場合、プログラム上のどこかが間違えています。
どこが間違えているかをコンパイラーが教えてくれるので、根気よくエラー部分を修正してください。
最初はどうしてもエラーが出ると思いますが、だんだんと慣れてくるとエラーを出さないためのプログラムを書くことができるようになるので、ここは仕方ないと割り切って、地道にエラーを修正してください。
配線方法の紹介
LEDを光らせるために、Arduinoに線を接続します。
つなぎ方は単純で、LEDにArduinoの7番ピンとGNDのピンを接続してください。
LEDの端子は長さが違う2本の端子が出ていると思います。
長い方の端子はアノードといい、短い方の端子はカソードといいます。
アノードにはプラス側、カソードにはマイナス側を接続し、アノードからカソードへ電気が流れるように接続します。
つまり、長い方の端子(アノード)をArduinoの7番ピン、短い方の端子(カソード)をGNDのピンに接続します。
以下の配線図を参考にしてください。
プログラムをArduinoに書き込む
では接続も完了したので、Arduinoにプログラムを書き込みましょう。
まず、USBでArduinoとPCを接続します。
次にボードの設定を行います。今回はArduino UNOを使用しているので、Arduino UNOを設定します。
ポート番号を設定します。
ポートはUSBを接続すると選択することができるようになります。
※ポート番号は人によって違います。
では書き込みを行います。Arduinoを接続した状態で、”マイコンボードに書き込む”ボタンを押してください。
下の画像のように、"ボードへの書き込みが完了しました"と表示されれば書き込みは成功です。
LEDが1秒周期で点滅し始めましたか?
点滅しなければ、プログラムか配線が間違えていると思います。
根気よく原因を探してみてください。
Arduino 基本学習キットの紹介
当社では、Arduinoを始めたい人に向けたスターターキットを販売しております。
気になる方は以下のURLよりアクセスしてみて下さい。
ホームページ:
www.wakamelab.com