‘学校行事’ カテゴリーのアーカイブ

Arduinoで遊んでみた

2011年6月28日 火曜日

みなさんこんにちは。

ふじもんです。

今日は前回の予告通りArduinoを使って遊んでみました。

Arduinoとは?

  • Arduino(アルドゥイーノ)は、AVRマイコン、入出力ポートを備えた基板、C言語風のArduino言語とそれの統合開発環境から構成されるシステム。Arduino はスタンドアロン型のインタラクティブデバイス開発だけでなく、ホストコンピュータ上のソフトウェア(例えば、Adobe Flash、Processing、Max/MSP、Pure Data、SuperCollider)で制御することもできる。組み立て済みの基板を購入することもできるが、オープンソースハードウェアであり、ハードウェア設計情報のEAGLEファイルは無料で公開されており、誰でも自分の手で Arduino を組み立てることができる。

まあ簡単に言うと、PICと同じような事ができて、プログラムの書き込みがUSBにつなぐだけで簡単にできるツールキットです。

余談ですが、Arduinoの互換機のJapanino(ジャパニーノ)もあるそうですね。

表面

裏面

Arduinoも最近はインターネット上に文献がたくさんあるのでそっちを参考にしても良いと思いマウス。

今回は「Arduino UNO」という「最も標準的なArduino」を使いました。

では早速このArduinoで遊んでいきたいと思います。

 

1.Arduino IDEのインストール

Arduinoボードにプログラムを書きこむためにはIDE(統合開発環境)が必要になります。

下記のページから自分の環境に合ったファイルをダウンロードします。

Download the Arduino Software

今回のふじもとの環境はWindows 7 64-bitなので「Windows」をクリック。

ダウンロードしたファイルを解凍して、できたフォルダ「arduino-xxxx」(xxxxのところはバージョン番号で今回は「arduino-0022」)をどこか適当な場所へ移動させます。

(例) 「C:\software\arduino-xxxx」、 「C:\arduino-xxxx」

この理由はこちらをご覧ください。

※Macだと保存場所はアプリケーションフォルダが一般的らしいです。

あとはフォルダの中の「arduino.exe」を実行すればArduino IDEが起動されます。

※まだ実行はしないでください。まだやることがあります。

 

2.ドライバのインストール

※Windws 7の場合はドライバのソフトウェアを自動でインストールしてくれるためここの項目は飛ばしてもおkです。

・Windowsの場合

ドライバをインストールするため、ArduinoとPCをUSBで接続します。

その際に、Windows XP(多分Vistaも)の場合はドライバの場所を聞かれるので、先ほどダウンロードしたArduinoフォルダの「\drivers\FTDI USB Drivers」を指定する。

Windows 7でインストールに失敗した場合、もう一度自動でインストールするか、手動でデバイスマネージャを開いてドライバソフトウェアを更新してください。その際にはArduinoフォルダの「\drivers」を指定してください。

 

・Macの場合

ソフトをダウンロード、解凍すると、Arduinoのアイコンと、PPC・Intel 用のUSBドライバパッケージが入ったフォルダが開きます。

Arduinoのアイコンをアプリケーションフォルダ内にドラッグ&ドロップします。ドライバパッケージは、お手持ちのMacintoshにあわせて、PPCまたはIntelをダブルクリックすれば、インストールが始まります。

その後、Arduino基盤をUSBケーブルでMacに接続します。

 

以上でインストールは完了です。

 

3.シリアルポートの選択

まずArduinoとPCを接続したままデバイスマネージャを開きます(開き方がわからない場合はこちらの記事を参考にしてください)。

ポート(COMとLPT)にシリアルポートの一覧が表示されるので、そのツリーの中から、Arduino UNOの()内の番号を確認します。

正常にインストールされている場合はArduino UNOにCOMポートの番号が設定されています。

ふじもんの環境ではCOM7になりました。

COMポートの番号がわかったら、Arduino IDE(Arduino.exe)を起動して、メニューの「Tools」→「Serial Port」でその番号と同じ番号を選択してください。

※COMポートの番号の確認でCOM10以上だった場合には、それが原因で通信に問題が生じる場合があるそうです。これについては公式サイトのトラブルシューティングを参照してください。

 

4.サンプルプログラム実行

では実際にArduinoを動かしてみましょう。

まずはArduinoにLEDを指します。

アノード(リード線が長い方)を「13」に、カソード(リード線が短い方)を「GND」に指します。

次にArduino IDE(Arduino.exe)を起動させて、サンプルプログラム1を入力します。

サンプルプログラム1

入力し終わったら、メニューの「File」→「Save as…」で適当に「arduino_sample1」と名付けて保存します(名前は好きな名前を付けても大丈夫です)。

Processingがダウンロードされている環境ではProcessingの保存先(ドキュメント\processing)にデフォルトで保存されるようになっていました。特に問題はないので保存先はProcessingフォルダで大丈夫です。Processingをダウンロードしたい方は前回の記事の一部を参考にしてください。

保存したら「Verify」ボタンという▲が横になっているボタンをクリックしてコンパイルします。

コンパイルをしてエラーが検出されなければ、「Upload to I/O Board」ボタンをクリックしてArduinoに書き込みます。

するとArduinoの基盤にプログラムが書き込まれたため、後はPCに接続しなくても電源さえあればLEDが点滅します。

ね?簡単でしょ?

※実際に動作させるときはきちんと抵抗値やらを計算して抵抗をつけてください。

 

[おまけ]

こんな簡単なプログラムじゃなくもっと複雑なの作れって?

生意気な奴らめ。

では前回同様、外部出力を得てLEDを光らせるようなサンプルを作ってみます。

赤外線センサから距離の値を取得して、その値をLEDの光の強弱に変換するプログラムを作ってみました。

サンプルプログラム2

※回路はけっこう適当です。あまり参考にしないでください。

実行したプログラムはこのように動作します。

ちょっと見えづらいですが、マウスパッドを上下してその距離に応じてLEDの光の強さを決定しています。

ちょっと長くなりましたが、とりあえずこんなもんで。

ここ最近ハードウェアを久しぶりにいじってみて思ったのは、やっぱり私はソフト屋さん(ソフトウェア)なんだなと実感しました。

以上,徒然なるままに。

ふじもん。

 

[参考文献]

ARDUINO

projects : Biotope: Arduinoを準備します

建築発明工作ゼミ2008

Arduinoをはじめよう

Arduino – Reference

ArduinoのUSBドライバのインストール方法

Gainerを使ってプロトt(ry

2011年6月27日 月曜日

みなさんこんにちは。

ふじもんです。

先日Phidgetsのインストールをプロジェクトの後輩に教えたところ、

「いや、自分らやりたいのこういうのじゃないんすよ。もっと空気読んでくれません?」

とお叱りを受けたので、今度はGainerについて記述したいと思います。

じゃあ早速Gianerって何?

  • GAINERは、センサ(例:明るさや加速度など)やアクチュエータ(例:LEDやモータなど)とパソコンを接続するI/Oモジュールと、Max/MSPやProcessing用のソフトウェアライブラリからなる環境です。この環境を用いることで、モニター、キーボード、マウスといった通常のパソコンの環境に留まらない作品(インスタレーションなど)やインタフェースのプロトタイプ(場合によっては最終形まで)を短時間で作り出すことができます。

 

まあ簡単に言うとPhidgetsよりかは自由度が比較的高いけど、自分で回路組まないといけないからPhidgetsよりかは少し敷居の高いツールキットだよって感じです。

Gianerはインターネット上や書籍なんかでも文献がたくさんあるのでそちらを参考にしても良いと思いマウス。

また、Gainerは「Processing」、「Flash/ActionScript」、「C#」など様々な言語で扱うことができるのも一つの特徴かと。

では早速導入してみましょう。

[ふじもんの環境]

  • Windows 7 64ビットオペレーティングシステム
  • Processing 1.1

 

1.ドライバのインストール

まずは公式サイトからGainerのUSBドライバをダウンロードします。

GAINER.cc

この赤丸の中から自分の環境に合ったドライバをダウンロード。

ちょっと今回はリンクが切れてたっぽいのでその下の「もしこれらのリンクが切れている場合には、次のページから該当するドライバをダウンロードして下さい。」の下のリンクからドライバのダウンロードページに飛びます。

ダウンロードページに飛ぶと、下の方にダウンロードリンクが設置されているので自分の環境に合ったドライバをダウンロード(今回のふじもとの環境ではWindows 64-bit版をダウンロードしました)。

ダウンロードが終わったら下記の公式サイトのドライバのインストールマニュアルを参考にしてインストールします。

  • Windows (Windows Vistaでもこちらの設定で動作確認済み)
  • Mac OS X

※Windows 7の場合ドライバのインストールを自動でやってくれるため「1.ドライバのインストール」はやらなくても大丈夫でした(;´∀`)

 

2.Processingのダウンロード

まずはProcessingをダウンロードします。

Zipを落として解凍すればそのまま使えます。

ダウンロードURLはこちら。

Download Processing.org

Java環境がある方は「Without Java」のバージョンを入れてもおkです。

※少しでも自分の環境がわからないという方は赤丸の方をダウンロードしてください。


 

Zipをダウンロードしたらそのまま解凍。

※Processingの保管場所に日本語が入ってると不具合が起きると聞いたので「C:\processing」等に移動して使用してください。

後はフォルダ内のprocessing.exeを起動すれば動きます。

 

3.Processingの設定

まずは先ほどドライバをダウンロードしたページから、Processing用のソフトウェア・ライブラリをダウンロードします。

GAINER.cc

ProcessingでGAINER I/Oモジュールを利用するには、必要なファイルをProcessingのインストールフォルダにコピーする必要があります。

ダウンロードしたライブラリを展開し、以下のようにファイルをコピーします。

※Processingは「C:\processing」にインストールされていると仮定して話を進めます。

  1. 「C:\processing\lib\keywords.txt」のバックアップをとる
  2. 「libraries」 → 「C:\processing\libraies\」
  3. 「reference」 → 「C:\Processing\reference\libraries\」
  4. 「examples\gainer_examples」 → 「\マイドキュメント\Processing\」
  5. 「lib」 → 「C:\Processing\lib」

次に、I/Oモジュール(Gainer)を接続した状態で、デバイスマネージャーを開きます。

ポート(COMとLPT)にシリアルポートの一覧が表示されるので、そのツリーの中から、USB Serial Portの()内の番号を確認します。

(コンピュータを右クリックしてのプロパティ → デバイスマネージャー で開けます)

ふじもんの環境ではCOM6でした。

COMポートの番号の確認でCOM3以外だった場合には、以降のサンプルプログラムを実行する際、COMポートの指定を必要に応じて書き直す必要があります。

これについては後述します。

 

4.サンプルプログラム実行

では実際に準備が整ったところでサンプルプログラムを動かしてみたいと思いマウス。

「processing.exe」を実行してProcessingを起動します。

「File」→「Sketchbook」→「gainer_examples」→「LED」を選択してサンプルプログラムを開きます。

Processing1

サンプルプログラムを開くと、I/Oモジュール(Gainer)が接続されているのを確認して実行。

表示されるウィンドウの黒い四角をクリックするとGainerのLEDが光ります。

Gainer2

以上でちゃんとGainerが動いているのが確認できました。

※公式サイトでは、

「COMポートが3以外の場合はプログラムの

gainer = new Gainer(this);

gainer = new Gainer(this, COM6);

に書き換えてあげないといけない」

と書いてあったのだが、特に書き換えなくても実行できた。

エラーが出た場合はこちらを書き換えてみてください。

 

[おまけ]

こんな簡単なプログラムじゃなくもっと複雑なのよこせって?

生意気な奴らめ。

では外部出力を得てLEDを光らせるようなサンプルを作ってみます。

まずはブレッドボードとLEDと抵抗とジャンプワイヤを用意します。

そしたら抵抗の計算やら配線やら何やらを設定します(ちょっとずるして回路を簡素化しました)。

抵抗や電子回路の組み方に関してはLED抵抗器計算抵抗器のカラーコードを参照してください。

※丁度良い抵抗がなかったため少し抵抗の値がおかしいです。ご了承ください。また、この回路を参考にする場合は自己責任でお願いします。

設定が終わったらレッツプログラミング!!

サンプルプログラム

実行したプログラムはこのように動作します。

ちょっと見えづらいですが、マウスカーソルが右に行くとLEDの光が強くなり、左に行くと弱くなっています。

また、白い四角から外に出るとLEDを消す仕組みになっています。

ちょっと長くなりましたが、とりあえずこんなもんで。

次はArduinoか…(;´Д`)ハア

以上,徒然なるままに。

ふじもん。

 

[参考文献]

Gainerとはどういうものですか?

GAINER.cc

LED抵抗器計算

抵抗器のカラーコード