電子工作初心者がIoT挑戦!Arduinoボードを使ってみよう
前回のIoT通信試験では省略したArduinoマイコンボードの使い方を説明します。
Arduinoはアルドゥイーノと読みます。
2005年イタリアで始まったオープンソースハードウエア作成プロジェクトで、使いやすさとボード仕様のオープン化に成功して普及。
今では3000円位で入手できます。
製造会社は内部分裂して複数存在、大人の世界はいろいろ大変ですね。
プログラムは専用のC言語で書きます。
難しい事は知らないので勉強していきましょう。
目次
開発ソフトのダウンロード
下記ページからダウンロードします。
ダウンロードのページから、使っているパソコン用のソフトを選択。
私はWindows10 64bitなのでWindows installerをクリック。
ちなみに、このページは表示言語を変更できますが、日本語はありません。
サーボート料金選べますよ。
日本語じゃないからパス。
ダウンロードできました。
ウイルスチェックは任意で実施して下さい。
このファイルを実行。
セットアップ
どこに入れる?
USB通信用のドライバーをインストール。
また聞いてきた。
面白いでしょ。
内部分裂したArduino srl とArduino LLCの各ドライバーです。
両方入れとけば、どっちの互換ボードでもOKって事。
特に問題なく終了。
セットアップ終了の画面はバーが残るから終わって無いように感じます。
デスクトップにゴレンジャー的なショートカット。
初期設定
ソフトを起動すると、Windowsの警告が表示。
ここで初めてJava使ってたのね、と気が付きます。
ホームネットワークに許可。
上段にプログラム、下段にメッセージを出力するシンプルな画面が表示されます。
使うマイコンボードの種類を[ツール][ボード]で変更。
ボードとPCをUSBケーブルで接続。
接続されたUSBのシリアルポートを選択[ツール][シリアルポート]で変更。
2016/7/8現在、バージョンは1.6.9でした。
以上で準備完了。
動かしてみよう
では早速簡単なプログラムを動かしてみましょう。
接続するセンサーが無くても、内臓のLEDで遊べます。
プログラムを書く場所はスケッチと呼びます。
サンプルも内臓されていて、スケッチの例から呼び出し可能。
そういえばメニューが日本語ですね。
どこで識別したのか不明だけど賢い。
では最も簡単な内臓LEDの点滅プログラムを動かしましょう。
[スケッチの例] [01.Basics] [Blink]を選択。
あれ?新しいウインドウが表示された。
思ってたのはこんな感じじゃないけど、まあいいや。
元の画面は閉じます。
読み込まれたプログラムです。
setup()が初期化処理で最初に1回実行されます。
その次にloop()が実行され、同じことを繰り返します。
-----------------------------------------
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT); // ←13番に出力するよの宣言
}
// the loop function runs over and over again forever
void loop() {
// 13番出力に高い信号を送る LED光れ命令
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
// 1000ミリ秒待機 この間は光り続けます
delay(1000); // wait for a second
// 待ちが終わったら低い信号送信 LEDが消えます
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
// 1000ミリ秒待機 この間は消えます
delay(1000); // wait for a second
}
LEDが点いたり消えたりする単純なプログラムですね。
では文法に間違いないかコンパイル。
エラー(間違い)が無ければ下記メッセージで完了。
右下に現在接続中の情報が表示されます。
そしてボードにプログラム転送。
成功した画面。
結果は?
pinMode(13 ってそもそも何処?
実行結果はこれ。
上部にある13の文字の下が光りました。
動きましたね~
最初はこれぐらいでも感動します。
では、ちょっとだけプログラム修正して変化させてみましょう。
消えているタイミングを100msに変更。
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(100); // wait for a second
}
コンパイルして転送。
おー変わりました。
満足。
お父さん、今年の夏休みは子供と電子工作デビュー、いかがでしょう。
以上 今回はここまで。