ピックワールド(PIC World)

インフォメーション

この記事は 2013年04月30日 に以下のカテゴリに投稿されました Arduino Blog.


Arduino UNO 基本編 – 1 LED ピカピカ

まぁ、最初の一歩としては、おきまりですね。

Arduino (ここでは UNO) を使って、ボード上の LED をピカピカさせるプログラムやってみます。

まずは、Arduinoの開発環境 で解説した、Arduino IDE を起動します。

Arduino IDE

Arduino IDE

メニューのファイル->新規ファイルをクリックして、スケッチ(ソースコード)を入力していきます。

コードはいくつかのブロックに分かれていて、

  • 定数等の宣言
  • ボードの設定
  • プログラム本体

を記述します。こんな小さなスケッチでも、多くのことを処理する大きなスケッチでもかわりはありません。

//定数等の宣言

void setup() //ボードの設定
{
//ボードの設定を行う
}

//プログラム本体
void loop()
{
//プログラムの処理を書く
}

この形が基本になります。

今回の処理は、Arudino UNO のボード上にある LED を 500 ミリ秒の間隔で点滅させる事が目的です。
LED は Arduino UNO の 13 番のピンに接続されていますから、これを前提に処理を考えてみます。
文章で記述すると、

  1. LED のピン番号を変数に代入 -> 定数等の宣言
  2. Arduino UNO の13番のピンを出力モードに設定 -> ボードの設定
  3. LED を点灯する -> プログラムの処理(1)
  4. 500 ミリ秒待つ -> プログラムの処理(2)
  5. LED を消灯する -> プログラムの処理(3)
  6. 500 ミリ秒待つ -> プログラムの処理(4)

となります。

さて、スケッチをコーディングします。

定数等の宣言は最初に行い、

const int LED = 13;

の記述で、変更されない(const)整数(int)型の変数で、名前は LED 、代入する値は 13 ですっという意味になりますね。

ボードの設定は、

void setup()
{
pinMode(LED, OUTPUT);     //指定したピンを出力モードにする
}

が相当します。コメント(5行目の//に続く文字列)にもありますが、指定したピン番号(LED = 13)を出力(OUTPUT) として使いますっという意味です。

プログラムの本体は

//setup()が実行された直後に繰り返し実行される関数
void loop()
{
digitalWrite(LED,HIGH); // LEDを点ける
delay(500);            // 1 秒待つ
digitalWrite(LED,LOW);  // LED を消す
delay(500);            // 1 秒待つ
}

こんな感じです。
コメントにもあるとおり、void loop() の次の大カッコ { から } が現れる間をずっと実行し続けます。
digitalWrite は LED (13)で指定されたピンを HIGH (オン)の状態にします。delay(500) は 500ミリ秒の間待つ命令です。次にくるのは、digitalWrite(LED,LOW); で、もうおわかりの通り、13 番のピンを LOW (オフ) の状態にせよ!という命令です、その後また 500 ms の Wait し、void loop() の中身をずっと実行し続けます。ですから 13 番のピンに LED (発光ダイオード) がちゃんと接続されていれば、0.5 秒ごとに点滅をするというスケッチです。

全部合わせると、

const int LED = 13;

void setup()
{
pinMode(LED, OUTPUT);     //指定したピンを出力モードにする
}

//setup()が実行された直後に繰り返し実行される関数
void loop()
{
digitalWrite(LED,HIGH); // LEDを点ける
delay(500);            // 1 秒待つ
digitalWrite(LED,LOW);  // LED を消す
delay(500);            // 1 秒待つ
}

こうなります。
かんたんですね。
基本はこのような形です。

さて、スケッチを入力し終えたなら、早速コンパイルしてみます。
コンパイルとは、スケッチを Arduino がわかる形に書き換えることですね。
Arduino IDE の左上にある
arduino-2
このボタンがコンパイルを行うボタンです。
入力したスケッチに何も問題が無ければ、
コンパイル終了と下部の黒い窓の上に表示され、コンパイル後のスケッチのサイズ:1,076バイト(最大容量32,256バイト)などと表示がされコンパイルが完了します。

さて次は、Arduino に、このスケッチを転送しますがその前に IDE の設定を行います。

Windows7 の場合、コンピュータでデバイスマネージャーを表示させ、Arduino をインストールした、COM ポートを確認します。

arduino-3

この場合は COM6 ですね。

IDE のメニューで、ツール->シリアルポート をクリックし、COM6 を割り当てます。
次いで、ツール->マイコンボードで、Arudino UNO を選択します。

さて、いよいよスケッチを転送します。
arduino-4
ボタンを押すと転送が開始され、Arduino 上の緑の LED が点滅します。下部の黒い窓には、マイコンボードへの書き込みが完了しました。と表示され、即、転送したスケッチが実行されます。

さて、動いている様子は、こんな感じです。ちゃんと点滅していますね。

ちょっと退屈ですが、少しずつ進めていきましょう。ちなみに Arduino UNO を購入したときに電源を入れるとやはり LED が点滅していますが、これは 1000ms (1秒)ごとに点滅するプログラムが入っているようです。

投稿者のプロフィール

minorus
minorus

電子機器が大好きです。
プログラムを書くのをお仕事としていたこともあるので、両方できる PIC や Arduino を使って、いろいろな(役にあんまり立たない)ものを作っています。
実は UNIX 関連のお仕事も長かったので、Raspberry Pi もお手の物なのですけれど、これから触る機会が多くなるのかなぁ。
ボチボチ行きまが、お付き合いください。
若いころの写真なので、現時点では、まだ髪の毛は黒くてありますが、お髭は真っ白になりました。
愛車の国鉄特急カラーのカスタムしたリトルカブで、時々、秋月電子通商の八潮店に出没します。


コメントを残す

最近の投稿

最近のコメント

アーカイブ