【Arduino】Arduinoのプログラム

先週は秋めいてきたなぁ と思っておりましたが、蒸しムシの暑アツで嫌な感じですね!
こんな時はさっさと帰りましょう!!
ヨリミチ団です。
さて、いよいよArduinoにプログラミングを書き込みます。
まずArduinoを初めとした、様々なプログラミング界で特に有名なものに[ Lチカ ]というものがあります。
これは文字通り LEDをプログラミングでチカチカ光らせるものです。

SODIAL(R)100pcs 3mm青い LEDライトの発光ダイオード

新品価格
¥158から
(2016/11/5 00:11時点)


void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}


これを書き込むと
上記のプログラムがLEDを1秒おきにチカチカさせる文章です。
P1040342.jpg
写真は青色LEDを13番ピンとGNDに刺したものです
P1040344.jpg
LEDには電気を入れてあげる向きが電池と同じ様にあります。それはLEDの足を見れば分かります。
足が長い方をアノード(電池で言う+的な)、短い方をカソード(電池で言う-的な)と言い、アノードに電気の+を当てると光ります。
乾電池にLEDの足を直接触れさせると光るので分かりやすいです。ただし、LEDは大体3V使用なのでそれ以上の電流を流すとすぐにフィラメントがぷすぷすと一瞬煙をあげて焼けてしまいます。
Lちか2
ちなみに、LEDを持っていなくても最初から本体にLEDが13番ピンに用意されいます。
これは使わない手はないですね!

さて、話がそれましたが
まずどうやってArduinoに書き込むのかという所からですね。
P1040345.jpg
USB Type-A(よくみる一般的なへらべったいタイプ)とType-B(ずんぐり四角いタイプ)となっているケーブルを用意する必要があります。もしも家庭用プリンターをお持ちでしたらそれについているかもしれません。PCと繋ぐことで電源供給もされ、Arduinoが光ります。
USBは5Vの電源供給をします。

それではプログラムをコピペして検証しましょう
検証
左上の チェックマーク で検証ができます。プログラムに問題がなければ コンパイル終了。 で出ます。
その下はArduino本体の消費量の様なものです。大きなプログラミングを書き込むとどんどん消費されて行き、処理能力が危なくなると知らせてくれます。

検証がオッケーであればArduinoに流し込みましょう!
でもその前に、アプリケーションの[ツール]→[ボード]へ行き、どのArduinoを使用しているか指定します
本体選択
私はArduinoUNOを使用しておりますので、それを選択します。
続いて[ツール]→[ポート]を選択肢、どうやってArduinoに流し込むか指定します
ポートはUSB

有線のUSBケーブルを使用しているので、usbmodemと書かれているものを選択します。私は1411と書かれていますが、人によって数字が違う場合があります。
これでデータをArduinoの送り込む準備が整いました。
書き込む
左上から2番目の[→]を押すとArduinoの書き込みが開始され、完了すると写真の下の様に マイコンボードへの書き込みが完了しました。 と言われます。

これでLEDが1秒おきにチカチカします。

最初のこれは
void setup() {
pinMode(13, OUTPUT);
}

Arduinoの定義をします。今回は13番ピンをアウトプットにしますよー と指定することです。

次いで、

void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}

・void loop() {
以下loop内の文章を繰り返すことを意味します

・digitalWrite(13, HIGH)
HIGHとは電圧を送ることを指します。大体5Vですが、その値は駆動電源環境で変動します。
LEDは3Vで光るので、HIGHを利用して光らせることができます。先ほど3V以上の電圧はLEDを焼いてしまうと言いましたが、
Arduinoはいい塩梅に電圧を落としてくれているように感じます。
私見ですが、Arduinoの穴でLEDを使用する分にはあまり深く考えなくても良いかもしれません。

・delay(1000)
1000とは1000ms(ミリセカンド)を表し、1000msは1秒を意味します。
delayとは遅らせるという意味で、単純に一秒遅らせるというプログラムになります

・digitalWrite(13, LOW)
先ほどのHIGHの逆で、0Vを送ります。つまりLEDは消えます

・delay(1000)
再び一秒遅らせます。

loop内はこの動作を永久に繰り返します。
言葉に置き換えると、
・13番ピンに5Vの電圧を一秒おきにON/OFFを繰り返す
というプログラムになります。

どうでしょうか?
なんとなく理解していただけたらば次回はWaveShieldのプログラムもそのちょっと大きいバージョンというイメージになります。

心の準備はできましたか?
まぶしい

LEDにはいろんな色があります。好みの色を手に入れてもいいかもしれませんね

HiLetgo 3mm LED ダイオード LED電子部品バッグ 5種類 各20pcs 合計100pcs [並行輸入品]

新品価格
¥140から
(2016/11/5 00:12時点)

つづく

この記事が気に入ったら
いいね ! しよう


PAGE TOP