Arduino UNOを初めて触ってみる日記
電子工作やらマイコンなるものはほぼ触ったことがないのだが初めてArduino UNOなるものをいじってみようと思う。前提知識が全くない。全くないのでとりあえずArduino公式サイトを見るとGetting Startedなる良さ気な文献があるのでそれに沿って進めてみる。このチュートリアル自身もCC3.0で公開してるし、Arduinoの人達は偉いなー。
インストール
丁寧に書いてあったのでそれに沿ってサクッと。
初めてのArduinoプログラム
Exampleの中にあった、LEDを点滅させるプログラム。
/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(13, LOW); // set the LED off delay(1000); // wait for a second }
動かすと、Arduino UNOボードにのっているLEDの一つが1秒間隔ぐらいで点滅。
LEDに繋がっているピン13を出力ピンとして認識、HIGHを書いたときにLEDが点灯、LOWを書くと消灯するのだろう。
いくつか浮かんだ疑問と回答
- ピン13がLEDに接続されているとかどこでわかる?
- ArduinoのサイトにArduino UNOのスペックとか乗ってるから読むと良い → http://arduino.cc/en/Main/arduinoBoardUno
LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.
- digitalWriteがあるからにはanalogWriteがある?
- ある → http://arduino.cc/en/Reference/AnalogWrite
- digitalはHIGHかLOWの2値、analogは0から255までの連続性のある値を取るらしい。
- Arduino 1.0の開発環境、お手軽感は良いとして、あまり良いものではない。
- This page has been movedに沿って進めるとEclipseでArduino開発環境を構築することができる。
- Arduino Playground - Eclipseの記述は古い。
- ↓とりあえずこんなコードを実際にEclipseで書いて動かしてみた
#include <Arduino.h> int main() { init(); setup(); for (;;) loop(); return 0; } void setup() { pinMode(13, OUTPUT); pinMode(12, OUTPUT); } void loop() { digitalWrite(12, LOW); digitalWrite(13, HIGH); delay(1000); digitalWrite(12, HIGH); digitalWrite(13, LOW); delay(1000); }
12,13ピンを1秒間隔で交互にHIGHにする。LEDとか繋ぐと交互に点滅。
そんなこんなでArduinoプログラミングしていましたら4月9日になり28歳になっていました。もうすぐ30代だなー。