先日購入した アルデュイーノ(Arduino)。環境構築まではしたんですが、その後は案の定、放ったらかしになってました。本日、やっと動作確認。
以下、いまさらですが、今回学んだ Arduino の基礎を。
◆環境構築
Arduino と PC を USB で接続する前に、ドライバをインストールしておきます。
本来なら、本家 Arduino のページを参照し、この辺りからソフトをダウンロードして、環境構築をするのですが...スイッチサイエンスさんで、日本語化環境を公開されているので、そちらを使用しました。
Arduino統合環境日本語版
USB シリアルのドライバも入ってます。
ダウンロードしてきた arduino-0017-ja-jp.zip を解凍して、インストール。完了後、USB 経由で PC と Arduino を接続。
◆プログラミング(スケッチ)
Arduino を起動すると、sketch_xxxxx という名前のタブがあります。こいつは、Visual Studio で言うところのプロジェクト名みたいなモンすかね。いきなり名前を変更しようとすると怒られるので、適当に何か書いて、後から好きな名前に変更するが吉。
プロジェクトのフォルダですが、厳密に管理されている訳ではないので、エクスプローラ等でファイルを好きなフォルダへ移動させてしまっても大丈夫。Arduino の [開く] ボタンから呼び出せば OK。
ソースコードの記述ですが、Arduino のエディタが使いづらいんで、環境設定メニューで、[外部のエディタを使用する] にチェック。Arduino 環境のプログラムフォルダを開いて、*.pde がソースファイルらしいので、こいつを秀丸で開いてコーディングする形にしました。
ああ、そうそう、スケッチは UTF-8 で書いてやる必要があるので、その点、注意。秀丸だと、ファイル(F) → エンコードの種類(D) で UTF-8 を選択。Shift-JIS だと日本語のコメントが化けるなり。
さて、C のプログラムが main() 関数からスタートするように、Arduino では、下記2つのファンクションの記述が必須となっているようです。
- void setup()
- void loop()
◆コンパイル&Arduinoへ転送
- 秀丸で書いたスケッチ(プログラム)をセーブ。
- Arduino の [検証] ボタンを押すと、ソースコードがリロードされてコンパイル実行開始。
- [マイコンボードに書き込む] ボタンを押すと、プログラムが Arduino へ転送されて、動き出します。
今日は、曲げセンサの値を、文字列で COM ポートへ送信するプログラムを作ってみました。まんま サンプルプログラム ですね。でも、実現したい機能に対しては、これで十分なので。
//----------------------------------------------------- // 初期化 // //----------------------------------------------------- void setup() { Serial.begin(115200); } //----------------------------------------------------- // メイン // //----------------------------------------------------- void loop() { int iValue; Serial.print("[Sensor]"); // Analog 0 iValue = analogRead(0); Serial.print(iValue, DEC); Serial.print(","); // Analog 1 iValue = analogRead(1); Serial.print(iValue, DEC); Serial.print("\r\n"); delay(50); }
クルマのアクセルとブレーキの踏み加減をセンサで検出して COM ポートへ送信したいのです。
曲げセンサは、Analog 0 ポートへ接続。Analog 1 はグランドへ落としてあります(センサ未接続)。
PC 側で、TeraTerm を使って受信してみました。
ジャンプワイヤを数本繋げるだけ、あとは全てソフトでやっちゃう!!楽しいです。