motogp fan

motogp ファンによる、雑ブログ、ガジェットネタも

電子工作初心者がIoT挑戦!Arduinoボードを使ってみよう

前回のIoT通信試験では省略したArduinoマイコンボードの使い方を説明します。

Arduinoアルドゥイーノと読みます。
2005年イタリアで始まったオープンソースハードウエア作成プロジェクトで、使いやすさとボード仕様のオープン化に成功して普及。
今では3000円位で入手できます。

製造会社は内部分裂して複数存在、大人の世界はいろいろ大変ですね。

 

プログラムは専用のC言語で書きます。
難しい事は知らないので勉強していきましょう。

 

目次

 

 

開発ソフトのダウンロード

下記ページからダウンロードします。

Arduino - Home

 

ダウンロードのページから、使っているパソコン用のソフトを選択。
私はWindows10 64bitなのでWindows installerをクリック。

ちなみに、このページは表示言語を変更できますが、日本語はありません。

 

f:id:motagp:20160708065605p:plain

 

 

サーボート料金選べますよ。
日本語じゃないからパス。

f:id:motagp:20160708065820p:plain

 

ダウンロードできました。
ウイルスチェックは任意で実施して下さい。
このファイルを実行。

f:id:motagp:20160708070038p:plain

 

セットアップ

どこに入れる?

f:id:motagp:20160708070128p:plain

 

 

USB通信用のドライバーをインストール。

f:id:motagp:20160708070345p:plain

 

また聞いてきた。

f:id:motagp:20160708070419p:plain

 

面白いでしょ。
内部分裂したArduino srl とArduino LLCの各ドライバーです。
両方入れとけば、どっちの互換ボードでもOKって事。

 

特に問題なく終了。
セットアップ終了の画面はバーが残るから終わって無いように感じます。

f:id:motagp:20160708070552p:plain

 

デスクトップにゴレンジャー的なショートカット。

f:id:motagp:20160708070617p:plain

 

 

 

初期設定

ソフトを起動すると、Windowsの警告が表示。
ここで初めてJava使ってたのね、と気が付きます。
ホームネットワークに許可。

f:id:motagp:20160708070836p:plain

 

 

上段にプログラム、下段にメッセージを出力するシンプルな画面が表示されます。

f:id:motagp:20160708070939p:plain

 

 

使うマイコンボードの種類を[ツール][ボード]で変更。

f:id:motagp:20160708072029p:plain

 

ボードとPCをUSBケーブルで接続。

f:id:motagp:20160708073950j:plainf:id:motagp:20160708074023j:plain

 

 

接続されたUSBのシリアルポートを選択[ツール][シリアルポート]で変更。

f:id:motagp:20160708071929p:plain

2016/7/8現在、バージョンは1.6.9でした。

以上で準備完了。

 

 

 

動かしてみよう

では早速簡単なプログラムを動かしてみましょう。
接続するセンサーが無くても、内臓のLEDで遊べます。

 

プログラムを書く場所はスケッチと呼びます。
サンプルも内臓されていて、スケッチの例から呼び出し可能。

そういえばメニューが日本語ですね。
どこで識別したのか不明だけど賢い。

 

では最も簡単な内臓LEDの点滅プログラムを動かしましょう。
[スケッチの例] [01.Basics] [Blink]を選択。

f:id:motagp:20160708072300p:plain

 

あれ?新しいウインドウが表示された。
思ってたのはこんな感じじゃないけど、まあいいや。
元の画面は閉じます。

f:id:motagp:20160708072353p:plain

 

読み込まれたプログラムです。

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が点いたり消えたりする単純なプログラムですね。

 

では文法に間違いないかコンパイル。 

f:id:motagp:20160708072740p:plain

 

エラー(間違い)が無ければ下記メッセージで完了。
右下に現在接続中の情報が表示されます。

f:id:motagp:20160708072844p:plain

 

そしてボードにプログラム転送。

f:id:motagp:20160708072928p:plain

 

成功した画面。

f:id:motagp:20160708073013p:plain

 

 

結果は?
pinMode(13 ってそもそも何処?

 

f:id:motagp:20160708073926j:plain

 

 

 実行結果はこれ。
上部にある13の文字の下が光りました。 

youtu.be

 

動きましたね~
最初はこれぐらいでも感動します。

 

では、ちょっとだけプログラム修正して変化させてみましょう。
消えているタイミングを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
}

 

 コンパイルして転送。

youtu.be

 

おー変わりました。
満足。

 

お父さん、今年の夏休みは子供と電子工作デビュー、いかがでしょう。

 

以上 今回はここまで。

 

motagp.hatenablog.com