倅と一緒にArduino_Lぴか_Lチカ
目次
・倅と一緒に遊ぶために、ArduinoUno3という機械を買ってきて愚息(高校に入学しました)と遊ぼうと思っています。
今回の玩具は、アマゾンでも買えるこちら。
Arduino(アルドゥイーノ)
財政厳しい折、Amazonさんでも安いものを選び、届くまで2週間(本当に届くのか心配:どきどき)かかりましたが、安く手にはいりました。(お急ぎの方は早く届く商品もありますよ!)
今回のお話「LEDをチカチカさせる(LチカとかLピカとか言われています)」では、LEDも一緒に用意する必要があるので、以下のLEDも購入しました。秋葉原あたりの秋月の地下にでも行けば1個15円とか30円とかありますし、待つのが嫌な場合、不要な部品が余るのもいかがなものかと思われる場合はそちらでー
さらに言いますと、ここで紹介しているやり方は、正しい使い方でないため、LEDが痛んで使えなくなることもあります。また、ミスや事故でLEDが不駄目になってしまうこともありますので、スペアとでもいいましょうか、少し多めに入手しておいてもよいのではないかと思います。
さて、
Arduino(アルドゥイーノ)を紹介
しますね。
「Arduino」は、簡単に言ってしまうと簡単にプログラムで制御できる「マイコン」です。
2005年にイタリアで始まった大変安価で大変簡単にマイコン制御に取り掛かれる大変素晴らしいオープンソースハードウェアです。
「アルドゥイーノ」と発音するようです。
パソコンでArduinoのマイコン電子基板を制御するスケッチと呼ばれるプログラム(動作を記述するプログラムをスケッチと呼びます)を作成して、動作させることができます。
スケッチをArduinoはマイコンボードに書き込んだり、記述が正しいかチェックしたり、パソコンに保存しりたりする機能のソフトウエアをIDEと呼んだりするのですが、Arduinoには無料で使えるIDEがあります。(このIDEも含む環境とセットでArduinoと呼ばれています)
早速、
ArduinoのIDEを用意
してみましょう。
Arduinoのボードが届くまで時間がありますので、予めパソコンに開発環境を作っておきましょう。
・ダウンロードはArduinoのダウンロードのページで
[Download the Arduino IDE]の部分の右側から、対応するOSを選びます。
この時、Windows7環境の場合注意が必要です。Windowsマークではなく、「Install」をクリックした方がよさそうです。
次のページではワタシはここをクリックするようにしています。
たまに、ArduinoのIDEダウンロードボタンが見つからない、とか、ArduinoのIDEダウンロードでお金を求められたなどの話を聞きますが、多くの場合、この「just DownLoad」を見落としていることが原因のようです。
-ダウンロードファイルが大変大きいため、ダウンロードには時間がかかります。ご注意ください。
Windows用=arduino-1.8.2-windows.exe ファイルサイズ 89M byte
MacOS用=arduino-1.8.2-macosx.zip ファイルサイズ 151M byte
(2017/04時点)
ダウンロードしたファイルをMacOSでは解凍してdmgファイルをマウント、インストールしてください。Windowsの方は、.exeファイルを実行してインストールを始めてください。
インストールを進めると、特にWindowsの場合。
「USB ドライバーの追加」や「ファイアーウォール」の警告が出ますが、各々インストールの実行や、アクセスの許可で対応することとなります。ArduinoIDEを開公としたときに「Java SE 6 ランタイムが必要」などと言われることもあるようです。差支えなければインストールしてください。
このあたり、難しかったり、怖かったりする方は、詳しい方にお聞きになるようにお願いいたします。
傾向として、Windowsの方が(あとからも)、いろいろ手間がかかります。
スパッと取り掛かれるのはMacOsXの環境のようですが、その分(今のところそういう事件は起きていませんが)何か起きた時には対応が難しいのかもしれません。(根拠なし:実は再インストール程度で簡単に進む可能性もありますが、当方まだトラブルに出会っていません)
Arduinoが届きました
Arduino本体を上から見ると、大雑把にこんな形。です。左側にUSB接続するためのポートが(図だと黒いところ上)あります。こちらにUSBケーブルを挿す前に、LEDを付けましょう。
LEDというやつは こんな感じです。
色が緑だったり、青だったり、黄色だったり、透明だったり、他の色だったりします。
準備が済んだら、LEDを挿します。
LEDを「13」番の穴と、隣の「GND」グラウンドの穴にまたがる形で入れます。(ご注意、写真では撮影確度の関係で、穴の位置がずれているように見えますが、正しい位置に入っているかしっかり確認してくださいね!)
LEDの脚は短いのと長いものがある約束になっており、短い方をGNDに挿します。
この時点で、LEDの足が逆に入っていますと正しく動作しません。のでご注意ください。
ここでUSBケーブルを挿したりして、PCと接続したりすると、LEDが1秒間に1回点滅したりします。これは、Arduinoを製造したボードメーカーさんが動作確認でプログラムを入れてくれているからです。
さて、USBケーブルをArduinoとPCでつないでください。え?USBケーブルがないですって?ケーブルもセットになってるものを紹介しておきましたが付属しいていない?それですと、業者さんと相談をしたほうがよいかもしれませんね。隣国から送られてきますが、時々品物が間違っていたり、部品に不足があることがある模様です。(私はまだそういう目に会っていませんが、、、)
ケーブルをつないで、パソコンに入れたArduinoIDEを起動します
しばらくすると、下記のような画面になりますので、メニューから機種が自動で選択されているかを確認してみてください。
ツール>ボード:”Arduino Genuino Uno”>Arduino/Genuino Uno
とメニューをたぐってください。謎の儀式になってしまいますが、上記のメニューの最後「Arduino/Genuino Uno」が選択状態になっていても、もう一回マウスクリックしておいてください。おまじないです。
同じく、
ツール>シリアルポート>COM3 ←数字の部分はcom3,com4,com6等環境によって変わってきますので柔軟に対応願います。また、Macの場合は’/dev/tty.usbmodem~~~’などと表現が変わってきますので、こちらもご注意ください。
ここまで接続が終わったら、いよいよプログラミングです。
Arduinoではスケッチと呼びます
試しに下記のスケッチを真似してみてください。
#define XD_PIN_LED 13 // LEDを使うのは13番 //初期化の時に1回だけ呼ばれる関数 void setup() { pinMode( XD_PIN_LED , OUTPUT ); // LEDを使用するポート(今回の場合13番)を出力で使用する宣言 digitalWrite( XD_PIN_LED , LOW ); // LEDを消灯 } //周期的に呼ばれる関数 void loop() { // 0.5秒LEDを点灯してから0.5秒消灯する処理を記述(loop()は何回も呼ばれるので結果点滅になる) digitalWrite( XD_PIN_LED , LOW ); // LEDを点灯 delay( 500 ); // この関数を呼ぶと、引数で処理を指定したミリ秒だけ待ってから次の処理にうつる digitalWrite( XD_PIN_LED , HIGH); // LEDを消灯 delay( 500 ); // この関数を呼ぶと、引数で処理を指定したミリ秒だけ待ってから次の処理にうつる //ここまで処理終わったら割合すぐにもう一回loop()関数は呼ばれる }
出来たら、このボタンを押してみてください。書いたスケッチが正しいかチェックしてくれます。
このチェックのマークのボタンを押して、プログラムが正しいかチェックしてください。
正しいようでしたら、上記、先ほどチェックに使ったボタンの右横の右向き矢印ボタンを押してArduinoボードに動作内容を転送書き込みしてください。
しばらく何か転送動作をしていて、Arduino側に書き込みが終わったら動作を始めます。
正しければこのように動作します。
ぱちぱちぱち
まずは、自分が書いたものが動いていることを確認するために
delay( 500 ); // この関数を呼ぶと、引数で処理を指定したミリ秒だけ待ってから次の処理にうつる
というところの「500」という数字を書き換えてみてください。
これはLEDの点灯、消灯を行ってから次の動作まで感覚を開けるための操作で、単純に時間が経過するのを待っている処理です。
500ミリ秒(1秒の半分)待つようにしてあって2箇所に書いてありますので0.5秒LEDを点灯してから、0.5秒LEDを消灯しているわけです。
void loop()
という記述の部分が定期的にArduinoのボードによって処理されるので、結果としてではありますが、1秒ごとにLEDが点滅するという動作になります。