こんばんは!
今回はAruduinoの基本構造のsetup()関数とloop()関数について説明します。
Setup()関数
setup()関数は、Arduinoメインボードに電源が入って起動したときに、最初に1回だけ呼ばれる処理です。
setup()関数内ではピンの状態を設定したり、シリアル通信を開始したりします。
Arduino IDEを起動したときにもコメントで"put your setup code here, to run once"と説明が記述してあります。
1 2 3 4 | void setup() { // put your setup code here, to run once: } |
loop()関数
loop()関数は名前の通り、処理をずっとループする関数です。
Arduinoメインボードに電源が入って起動し、setup()関数の処理が終わったら、電源が切れるまでこの関数内に書いてある処理を繰り返し実行します。
このloop()関数がArduinoのプログラムのメインとも言えます。
Arduino IDEを起動したときにもコメントで"put your main code here, to run repeatedly"と説明が記述してあります。
1 2 3 4 | void loop() { // put your main code here, to run repeatedly: } |
実際に使ってみる
ではこのsetup()関数とloop()関数がどのように処理されているかを確認するため、実際にArduino UNOを使ってみます。
使用するもの
・Arduinoメインボード(https://amzn.to/2vkPIUH)
・USBケーブル(https://amzn.to/2UHhntl)
サンプルコード
Arduino IDEを起動して、次のコードを記述していきます。
1 2 3 4 5 6 7 8 9 10 | void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(1000); } |
コードの説明をしていきます。
まず、setup()関数内ではピンの状態を記述しています。
pinMode()というのは、指定されたピンを入力または出力として動作するように設定するものです。
ここでは13番ピンを出力にしています。
次にloop()関数内を見ていきます。
loop()内ではArduinoのLEDを0.5秒間ONにさせ、1秒間OFFにします。
digitalWrite(pin,value)は指定したピン番号をHIGHまたはLOWに設定するものです。
HIGHにするとLEDはONになり、LOWにするとLEDはOFFになります。
delay()は指定された時間分、プログラムを一時停止します。
これをメインボードに書き込むと以下の動画のようになると思います。
まとめ
今回はArduinoのメインの関数であるsetup()とloop()についてでした。
これらはArduinoプログラムを実行するときには必ず必要になる関数なので絶対に使い方を覚えてください。
今回はこれで終わります。
ではまた!