ソレノイドをArduinoで制御しよう!【付録編①】
本編の補足です!Arduinoの設定からご紹介しています。
①動作環境設定
②LEDをArduinoで制御する
①動作環境設定
Arduinoの動作、プログラム環境を整えましょう。
【動作環境】
付属のUSBケーブルでArduinoとパソコンと繋げば動作環境が整います。
【プログラム】
ご利用のOSに合わせてArduino IDEをダウンロードしてください。インストールしたらプログラム環境は完了です。
プログラムからArduinoで制御するまでの工程
① 回路
目的の動作ができるように回路を組み立てます。
② プログラム
Arduinoを動かすためのプログラムを作成します。言語はC言語です。
③ コンパイル⇔エラー訂正
コンパイルした時、文法の誤りなどを犯すと下の黒枠にエラーが表示されます。エラーを訂正して再度コンパイルを行いましょう。下の図は、エラーのサンプルです。黒枠には、「セミコロン“;”が抜けています。」とエラーの内容を教えてくれます。
エラーが出なければコンパイル完了。左上の矢印を押すと、プログラムはArduinoに書き込まれます。
コンパイルはプログラム自体の矛盾をエラー表示するため回路との整合性は確かめられないことに注意が必要です。コンパイルエラーはないけど思った動作をしない場合は、回路や回路とプログラムの整合性を見直してください。
②LEDをArduinoで制御する
【LED】LEDは写真のように足が二本ついています。長い方(アノード)をプラス、短い方(カソード)をマイナスとして接続しましょう。反対に接続しても点灯しません。
ArduinoのGNDとブレットボードのマイナス、Arduinoの「DIGITAL」ピンをプラスとして、LED、抵抗と繋ぎます。抵抗はLEDに電流が流れすぎないようにするために挿入しています。
ブレットボードは、プラス・マイナスは縦につながっていて、それ以外は横につながっています。上の写真では、黄緑線が繋がっていることになります。
【プログラム】
このプログラムでは、LEDピンに1000ミリ秒(=1秒)間HIGHを出力、その後1000ミリ秒(=1秒)間LOWを出力する、つまり1秒間LED点灯させたのち、1秒間消灯させています。
プログラム | 説明 |
int LED = 8; void setup() { pinMode(LED,OUTPUT); } void loop() { digitalWrite(LED,HIGH); delay(1000); digitalWrite(LED,LOW); delay(1000); } |
ピン定義 【setup関数】 LEDピンを出力として設定 【loop関数】 LEDピンにHIGHを出力 1000ミリ秒待つ LEDピンにLOWを出力 1000ミリ秒待つ |
ピン定義:「LED」という名前のピンは、Arduino上の8番ピンであることを示します。ピン定義が無くてもプログラムを作成することは可能です。「int」は、はじめのうちは気にしない方が良いと思うで魔法のキーワードと思っておいてください。
void setup():初期設定の内容を記載しています。初期設定では、変数(必要な値を一時保管する領域)やピンモードの初期化を行います。pinMode()は先ほど定義したピンが入力or出力であることを示します。ここでは、LEDピンを出力に設定しています。
ピン定義をしない場合について、例えば、Arduino上のDIGITAL10番ピンを入力とするときは「pinMode(10, INPUT)」と記載すれば良いです。ピン定義で「pin10 = 10」としている場合は「pinMode(pin10, INPUT)」としましょう。
void loop():loop関数の内容は上から下まで実行、繰り返されます。digitalWrite関数では指定したピンにHIGH(=5[V])または、LOW(=0[V])を出力します。delay関数はdelay(5000)ならば、5000ミリ秒(5秒)間、動作を停止する関数です。