見出し画像

Day6. ArduinoではじめてのLチカをしよう!

※ひとりでIoTまるっとチュートリアル Advent Calendar 2018
6日目の記事です。まだ購読していないかたは是非よろしくおねがいします!

Arduino(アルディーノ)。電子工作をしている方なら、ほとんどの方が知っていると思います。最近では汎用的なマイコンとして、まずはここから入るという方も多いと思います。今回は、Arduinoとはなんなのか。そして具体的に制御できるところまで解説しようと思います。

Arduinoとは

Arduinoというのは、2つの意味を孕んでいます。

・ Arduino マイコンボード
・ Arduino 統合開発環境 (Arduino IDE)

この2番目の統合開発環境(Arduino IDE)がめちゃくちゃ便利です。Arduino自体は、Arduino言語というので実装しますが、近年のマイコンは、このArduino言語に対応しているものが多くあり、このArduino IDEを用いて実装することが出来ます。

SORACOMのハンズオンでは、WioLTEというマイコンボードを使っているのですが、Arduinoのボードマネージャに追加すれば、簡単に開発環境が出来上がります!これがめちゃくちゃ便利。(参考)

Arduino IDE インストールの仕方

Arduinoのサイトに飛び、自分の環境に合わせたダウンロードリンクを選択します。

Downloadのボタンが、Contributeしないとダメに見せかけて、左の「JUST DOWNLOAD」を押すと無料で使えます。

あとはI AgreeとInstallをぽちぽちして、インストール完了です!結構簡単

IDEの使い方

Arduinoのサイトに飛び、自分の環境に合わせたダウンロードリンクを選択します。

Downloadのボタンが、Contributeしないとダメに見せかけて、左の「JUST DOWNLOAD」を押すと無料で使えます。

あとはI AgreeとInstallをぽちぽちして、インストール完了です!結構簡単

コード実装の基本

Artuino IDEを使って実装していくとき、抑えておくべき基本を列挙します

・Arduino言語で書く(C/C++寄り)
・setup()とloop()がある。setupは初期起動時に一度だけ使われる関数、loopは電源ON時に継続的に使われる関数
・動作はArduino言語の公式リファレンスを参考にする
"電子工作を始めよう"のArduinoリファレンスも充実している(しかも日本語!)

光らせてみた

まずは、マイコンの登竜門、Lチカをしてみましょう!LEDを点滅させる処理のことです。
Day.4の回路図通り、組んでいきます。
回路の黒の線は、ブレッドボード上でつながっている線のイメージです。回路図と回路が同じ配線になっていることを確認しましょう。

今回は、13番ピンを出力としてつなぐので、Arduinoの13と書かれた箇所とLEDの+側をつなぎましょう。

次に、コードをArduino IDE上に書いていきます。


// 初期起動時に設定する項目を書く
const int LED_PIN = 13; /loopでも使う変数(グローバル変数)は外
void setup() {
 // LEDの13番ピンを出力先として指定
 pinMode(LED_PIN, OUTPUT); 
}
// 起動後ずっと動く関数
void loop() {
 int interval = 100; //ミリ秒
 digitalWrite(LED_PIN, HIGH);   // LEDを光らせる(電圧がHIGH)
 delay(interval);               // 指定した時間、何もしない
 digitalWrite(LED_PIN, LOW); 	// LEDを光らせる(電圧がLOW)
 delay(interval); 		// 指定した時間、何もしない
}

コードを書いたら、コンパイルをします。

図のように、検証はIDE内でコンパイル、書き込みはボードにコードを書き込みます。一度検証でコードにバグがないかをチェックしておくのがいいでしょう。ボードへの書き込みが終わると、PCから電源を引っ張る必要はなく、普通のUSB給電であってもきちんと作動します。

書き込みを押して、LEDが点滅できれば成功です!

※参考までに、書き込み時にWindowsでハマったときのメモ

1. COMポート指定忘れ

avrdude: ser_open(): can't open device "\\.\COM1": 

COMポートを指定しなければならないので、きちんと確認しましょう。

2. いつまでたってもコンパイルできない

Error compiling. Unable to rename core.a 

AntiVirusのリアルタイムスキャンが悪さしていことがあるかもしれません(参考)。私はマカフィーのリアルタイムスキャンを一時的に止めることで、コンパイルできました。

まとめ

さてさて、これでArduinoに触れることが出来たと思います。特にArduino IDEは、今後も使うことが多くなると思いますので、慣れておきましょう。

明日も、Arduinoです。Lチカは単純な出力を繰り返すのみですが、出力の大きさを自由に変えたり、例えばセンサから値が欲しいとか言う場合、どうすればいいのか。Arduinoを使いながら学んでいきましょう。マイコンの基本的な使い方はほとんどどれでも一緒なので、他のマイコンであっても転用できると思います。

また明日。ではではっ!

前の日 :  Day5. IoTのバリエーションの源泉『マイコン』のキホン
次の日 :  Day7. Arduinoで温度センシング!入出力をマスターせよ

サポートいただけると励みになります! よろしくおねがいします!!