gpsrobocar

Arduino + GPS

ロボットカーのスケッチ

2009-11-09 16:54:03 | ダウンロード
8ビットタイマーのPWMでは、どうしても細かなサーボの制御ができません。
SDカードからwaypoint情報を読み込むことを諦めて、Timer1をサーボに使うことにしました。

時間に余裕もないので、とりあえず前大会で組んだATmega128のコードの一部をArduinoに移植。
NMEAのparseなんかもベタ書きです。
フィジカルコンピューティングとしては間違ったスケッチだとは思うけど、ライブラリにするのも面倒だ。

動作確認はまだですが、参考までにスケッチを貼っておきます。

【ダウンロード】
ロボットカーのスケッチ
Timer1を使ったサーボ制御のライブラリ




GH-81受信機のバイナリデータ

2009-09-04 08:43:40 | ダウンロード
GPS受信機シールドが、ユーザーの皆様のお手元に届いたようです。

シールドに搭載されているGPS受信機は、広く利用されているNMEAではなく、独自のバイナリデータを出力します。
そこで、動作チェックも兼ねて、GH-81受信機のバイナリデータを読むためのサンプルスケッチを作成しました。

ダウンロード
GH-81受信機テスト用スケッチ

受信機からの出力は、NewSoftSerialを利用して受信します。Ladyadaのサイトからダウンロードしておいてください。
解凍したNewSoftSerialのライブラリは、hardware\liblariesにコピーします。

基板上のジャンパは、Arduinoのpin2とpin3を、それぞれJ5の1番ピン(GPSTX)と2番ピン(GPSRX)に接続してください。

サンプルスケッチでは、動作確認のためにLEDも点滅させています。
Arduinoのpin8とpin9を、それぞれJ6の2番ピン(LED2)と3番ピン(LED1)に接続してください。

その他のジャンパも、試作基板と同じセットアップです。
これまで公開しましたサンプルスケッチは、ダウンロードのカテゴリーをご参照ください。


Timer0によるサーボ制御

2009-08-01 15:20:35 | ダウンロード
Arduinoのservoライブラリでは、pin9とpin10でPWMによるサーボ制御を行っています。
しかし、GPS受信機シールドでは、pin10をSDカードのSPI制御に使用しているため、サーボ制御に利用できません。
そこで、Timer0のPWMを利用して、pin5とpin6でサーボを制御するライブラリを作成しました。

ここでさらなる問題が発生。
ArduinoはデフォルトでTimer0をdelay関数などの時間管理に使用しています。
Timer0をサーボに使うとなると、delay関数が使えません。
こちらは、Timer2を利用した新たなdelay関数を作ることで回避しています。

ダウンロード
サーボ制御のスケッチ
Servo0ライブラリ
Timer2ライブラリ


試作基板のGerberファイル

2009-07-30 13:52:53 | ダウンロード
試作基板の動作を確認できましたので、配布版の製造に入ります。
8月中には配布のご案内を出せるかと思いますので、もうしばらくお待ちください。

それまで待てないという方のために、試作基板のデザインファイルを公開します。
7月31日までならば、P板.comのキャンペーンを利用できます。

ダウンロード
基板デザインファイル
パーツリスト

GPSロガーのスケッチ

2009-07-28 17:34:45 | ダウンロード
GPSシールドの動作確認のために、GPSロガーのスケッチを作成しました。
Ladyadaのコードを基本にしていますので、NewSoftSerialAF_SDLogのライブラリをダウンロードしてください。

ATmega328はRAMの容量も倍になっているため、NewSoftSerialと一緒に使っても問題なく動作します。
そのため、SoftSerialでGPS受信機のデータを取り込み、同時にUSB経由でGPSのデータもモニタできます。

ダウンロード
GPSロガースケッチ
GPSシールド回路図

Arduinoのpin2がSoftSerialのRX、pin3がTXに接続されています。
さらに、SDカードの/CSをpin10に接続します。

pin9とpin8は、それぞれLED1とLED2に接続しており、エラーの状態やSDへの書き込みをモニタできます。
pin7に接続されているSW1を押すと、ログを停止し、ファイルを閉じます。