前回の記事で鉄道模型を走らせるPWMコントローラの話をしましたが、もう少し進んだ制御方法や鉄道レイアウトで使われる転車台の制御などのために、今回新しくマイコンを使った方法を勉強したいと思いました。
写真は鉄道博物館にある転車台(ターンテーブル)です。列車の方向転換などに使われました。

この転車台は模型で実現する事は結構面倒くさいのです。回転させること自体は簡単ですが、決められた所にぴたっと止めるのがなかなか厄介なのですね。ステッピングモータを使ってArduinoで制御すれば何とかなるかもと思ったのが今回の端緒でした。
さて、マイコンというと色々面倒なことをやらなければならなかったのですが、いまは2008年頃から徐々に人気がでて来ているイタリアで開発されたArduinoというアーキテクチャーを使って色々試していきたいと思います。先週そのマイコンボードを手に入れました。とりあえずはエントリーキットです。
内容の理解はArduino開発プロジェクトの一人Massimo Banzi著の本を参考にしました。
まずは初心者が行う動作テストでLEDをチカチカさせるというまさしく赤ん坊のような第一歩をトライしました。今回はその様子を少しまとめてみました。
まずArduinoというのはどのようなボードか?写真を見てください。

上記の写真のなかにコンポーネントの部品名を入れましたが、USBでコンピュータに接続しマイコンのプログラムを入力します。このボードの中心はATmega328と呼ばれるアトメルのマイクロプロセッサーです。各I/OポートはこのLSIから直接つながっています。電源はUSBからかあるいはDCアダプターから供給します。
つまりこのボードでマイコンの開発が全て出来るようになっています。
コンピュータにはArduinoのサポートサイトから開発用のソフト環境を無償でダウンロードすることができます。このプログラムはWindows, Mac OS-X, Linuxのどの環境でも稼働します。ダウンロードはこちら Arduino 開発プログラムダウンロード
ダウンロードしてソフトを開けると下記のような画面がでてきます。

この言語はBasicなどと違ってコンパイル言語なので最終的にマイコンにはオブジェクトコードで書き込まれます。
さてまず第一歩としてLEDを点灯させてみましょう。接続は大変簡単でArduino UNOボードのGNDとPin13(Digital)にLEDを接続します。コンピュータのUSBとボードのUSBポートを接続します。下記写真のように。LEDの足の短い方(カソード)をGNDに。

コンピュータのスケッチ(ソースプログラムとでもいうべき)は下記のように書き込みます。これはPin13にLEDをアサインしてデジタル信号を1000msecだけONしてその後1000msecOFFするという命令です。Pin13に接続されたLEDは1秒点火して1秒消える事を続けます。下記にSketch画面と動画を示します。

これを例えば100msec添加して2000msec消灯させるようにするにはプログラムのパラメータを次のようにすれば言い訳です。

動画です。
もうLEDの点火時間は自由に変えられるといってもいいでしょう。
これはまだ序の口の序の口で、Arduinoの「イロハのイ」ですが、基本的には;
1) やりたい事を決める
2) そのためのハードの回路を決める
3) ソフトで動作を決める、マイコンにソフトを書く。
4) あとはやりたい動作をさせる。
という事ですね。もう少し勉強をして高度な動きをさせたいと思っています。今のところゴールは転車台の制御です。進捗状況は順次報告します。
写真は鉄道博物館にある転車台(ターンテーブル)です。列車の方向転換などに使われました。

この転車台は模型で実現する事は結構面倒くさいのです。回転させること自体は簡単ですが、決められた所にぴたっと止めるのがなかなか厄介なのですね。ステッピングモータを使ってArduinoで制御すれば何とかなるかもと思ったのが今回の端緒でした。
さて、マイコンというと色々面倒なことをやらなければならなかったのですが、いまは2008年頃から徐々に人気がでて来ているイタリアで開発されたArduinoというアーキテクチャーを使って色々試していきたいと思います。先週そのマイコンボードを手に入れました。とりあえずはエントリーキットです。
![]() | Arduinoエントリーキット () Physical Computing Lab 商品詳細を見る |
内容の理解はArduino開発プロジェクトの一人Massimo Banzi著の本を参考にしました。
![]() | Arduinoをはじめよう 第2版 (Make:PROJECTS) (2012/03/16) Massimo Banzi 商品詳細を見る |
まずは初心者が行う動作テストでLEDをチカチカさせるというまさしく赤ん坊のような第一歩をトライしました。今回はその様子を少しまとめてみました。
まずArduinoというのはどのようなボードか?写真を見てください。

上記の写真のなかにコンポーネントの部品名を入れましたが、USBでコンピュータに接続しマイコンのプログラムを入力します。このボードの中心はATmega328と呼ばれるアトメルのマイクロプロセッサーです。各I/OポートはこのLSIから直接つながっています。電源はUSBからかあるいはDCアダプターから供給します。
つまりこのボードでマイコンの開発が全て出来るようになっています。
コンピュータにはArduinoのサポートサイトから開発用のソフト環境を無償でダウンロードすることができます。このプログラムはWindows, Mac OS-X, Linuxのどの環境でも稼働します。ダウンロードはこちら Arduino 開発プログラムダウンロード
ダウンロードしてソフトを開けると下記のような画面がでてきます。

この言語はBasicなどと違ってコンパイル言語なので最終的にマイコンにはオブジェクトコードで書き込まれます。
さてまず第一歩としてLEDを点灯させてみましょう。接続は大変簡単でArduino UNOボードのGNDとPin13(Digital)にLEDを接続します。コンピュータのUSBとボードのUSBポートを接続します。下記写真のように。LEDの足の短い方(カソード)をGNDに。

コンピュータのスケッチ(ソースプログラムとでもいうべき)は下記のように書き込みます。これはPin13にLEDをアサインしてデジタル信号を1000msecだけONしてその後1000msecOFFするという命令です。Pin13に接続されたLEDは1秒点火して1秒消える事を続けます。下記にSketch画面と動画を示します。

これを例えば100msec添加して2000msec消灯させるようにするにはプログラムのパラメータを次のようにすれば言い訳です。

動画です。
もうLEDの点火時間は自由に変えられるといってもいいでしょう。
これはまだ序の口の序の口で、Arduinoの「イロハのイ」ですが、基本的には;
1) やりたい事を決める
2) そのためのハードの回路を決める
3) ソフトで動作を決める、マイコンにソフトを書く。
4) あとはやりたい動作をさせる。
という事ですね。もう少し勉強をして高度な動きをさせたいと思っています。今のところゴールは転車台の制御です。進捗状況は順次報告します。
スポンサーサイト
