覚え書きブログ

読者です 読者をやめる 読者になる 読者になる

子供の夏休みの自由研究(Arduino IDEと動作確認)

子供と秋葉原千石電商秋月電子で、

を購入してきた。


f:id:hirotaka_hachiya:20150810141656j:plain

今回は、Arduino IDELinuxにインストールして、購入してきたArduino UNOのLEDを点滅させるところまで進めてみる。
まずは、Arduino 1.6.5のLinux64bit版「arduino-1.6.5-linux64.tar.xz」を、https://www.arduino.cc/en/main/softwareから、ダウンロード、解凍、および起動する。

> xz -dv arduino-1.6.5-linux64.tar.xz
> tar -xvf arduino-1.6.5-linux64.tar
> cd arduino-1.6.5
> sudo ./arduino

ここで、Arduino UNOに書き込む際に、ルート権限が必要なため、arduinoをsudoで起動する必要がある。
arduinoを起動すると、下図のように、arduinoのプログラムのテンプレートが表示される。
arduinoのプログラムは、初期化のsetup関数と、繰り返しのloop関数から構成される。
f:id:hirotaka_hachiya:20150810101721p:plain


そして、ArduinoIDEとArduino UNOの動作確認のために、LEDを点滅させるプログラムを、下記のサイトを参考に作った。
https://www.arduino.cc/en/Tutorial/Blink

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */
 
// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(13, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

setup関数では、13番ピンをpinModeを用いて出力モード(OUTPUT)に設定している。
loop関数では、digitalWriteを用いて、13番ピンに、HIGH(1)およびLOW(0)を繰り返し出力している。
delay(1000)は、1秒間遅らせている。

Arduino UNOとパソコンを、USBケーブルで接続し、Arduino IDEの「ツール」メニューの「ポート」で
「/dev/ttyACM0(Arduino UNO)」を選択し、「スケッチ」メニューの「マイコンボードに書き込む」を選択し、
Arduino UNOにコンパイルしたプログラムを書き込んだ。

次に、下記の写真のように、Arduino UNOのGNDピンと、13ピンとを、抵抗とLEDとを付けたブレッドボードに繋ぎ、DCプラグ付きバッテリースナップを介して角型電池をArduino UNOに繋いで、LEDが一秒間隔で点滅するのを確認した。

f:id:hirotaka_hachiya:20150810134951j:plain

今回のLEDの点滅は、子供が最初に作るArduinoのプログラムとしては丁度いいレベルだった。