2011年6月アーカイブ

 センサを使って白地に黒で描いたコースをトレースして走行できるプログラムを考えましょう。まずは右カーブと直進を考えます。

右カーブ
 右センサに黒いコースが反応したときに、右にカーブしていると判断して、車体を右に旋回します。右旋回はモータ課題のrigth()関数を使います。

直進
 左右のセンサが無反応の時、コースは直進していると判断して、車体を前進します。直進にはモータ課題のforword()関数を使います。

7_br_sensor.jpg
  新しいCortex-M0を搭載したLPCXpressoが出始めるようです。

IMG_0649.jpg 多くの情報は、このページが詳しいです。
  
LPC11U14
 LPC1114に USBを搭載品 (LPC1114にUSBを追加、ROM内にオンチップのクラス・ドライバはない。次のLPC11U2xでオンチップROMドライバ搭載)
  http://www.jp.nxp.com/news/content/file_1876.html
  http://ics.nxp.com/products/lpc1000/lpc1100/lpc11u00/~LPC11U12/#LPC11U12

LPC11C24
 LPC1114にCANコントローラ および トランシーバを搭載。 CAN & CANOpenドライバをオンROM内に搭載。
  http://ics.nxp.com/products/lpc1000/lpc1100/lpc11cxx/~LPC11C12/#LPC11C12

 
LPC1227
 LPC1100にRTC、ウオッチドッグ、DMA、CRC、アナログ・コンパレータx2 を追加。Flash:128KB。RAM:8KB。パッケージは64ピン。
 ROM内にオンチップの割り算ライブラリ。 コンパレータは555タイマとしても使える。
  http://www.jp.nxp.com/news/content/file_1832.html
  http://ics.nxp.com/products/lpc1000/lpc12xx/
  http://www.nxp-lpc.com/images/LPC122x%20product%20introduction.pdf

◆LPCXpressoサンプル・コード
  http://ics.nxp.com/support/lpcxpresso/
  
 

徒歩ログ編
 完成したシステム一式は100円ショップで購入した透明ケースに収納しました。まずは、近所をぶらぶらと散歩しながらロギングに挑戦です。スイッチをONにして、GPS+GT-720Fを起動します。LCDに起動画面が表示され、ロック前状態=>ロック開始すれば、ロギング開始です。GT-720Fの赤LEDが点滅していることを確認しながら、田んぼの周辺を一周しました。

17_gps_logger.jpg
3-3 オリジナル・リモコン・プログラムの作成

 それでは、プログラムを作成していきたいと思います。プログラム名は[choroq_remocon]にします。
トレース課題4
 課題1~3のまとめになります。次の条件でLEDが点灯・消灯するようにプログラムを考えましょう。

  左センサのみ・・・橙LED、右センサのみ・・・緑LED
  両センサ反応・・・橙緑両LED
  両センサコース外・・・両LED消灯
 続いてジョイスティックを使ったCHOROQ用リモコン(図16)を作成してみたいと思います。
 使用するジョイスティックは、浅草ギ研の型式AS-JS(図17)を使用しました。ジョイスティックについては浅草ギ研の以下のホームページに紹介されています。
  http://www.robotsfx.com/robot/AS-JS.html(浅草ギ研 商品説明ページ)

s図16_ジョイスティックリモ.jpg
図16 ジョイスティック・リモコン


トレース課題3

 左右のセンサを読み取り、両センサが黒ライン上にある時に、橙緑両LEDを点灯するプログラムを完成しましょう。課題1と課題2を参考にして考えてください。

2_br_sensor.jpg
2 CHOROQのリモコンでmbedを制御する

 それではCHOROQのリモコン信号をmbedで読み取り、押されたボタンをLCDに表示するプログラムを作成しましょう。回路は簡単で赤外線受光モジュールに電源を接続し、出力信号をmbedのP21端子に接続するだけです。今回の回路図を図13に示します。赤外線受光モジュールはSFC-5110というセンサを使用しましたが、38[kHz]用の赤外線受光モジュールであれば違う型式のものでも代用できます。

 また、電源に電池を使う場合、新品の乾電池を使うと電圧が高くなるので回路に接続する前に必ず電圧を確認し、電圧が高い場合は充電池を使うか電池の本数を減らすようにしてください。
 それでは、プログラムを作成していきましょう。プログラム名は[choroq_sigAnalyze]です。

s図13_赤外線受光モジュール.jpg
図13 赤外線受光モジュール回路図


 mbed+GPS GT-720Fの組み立ては完成しましたか? 今回はGPSロガー用mbedプログラミングを楽しみます。

 課題6までのプログラミングにより、衛星を捕捉してロックしたGT-720FのGPGGAセンテンスを読み込み、緯度経度を表示する部分までは完成しています。今回はローカル・ファイル・システムをオープンして、ロック後に緯度経度を内蔵フラッシュ・メモリに記録します。
 記録間隔は10秒としていますが、好みで変更してください。10秒間隔は定期的にタイマ割り込みを実行するTicker機能を使って実現します。
トレース課題2
 右センサを読み取り、黒ライン上にある時に緑LEDを点灯するプログラムを完成しましょう。

■■右センサのプログラミング
 右センサの値を読み取るC言語プログラミングは次のようにします。
unsigned int RSensor; 
RSensor=ADRead(1);


4_br_sensor.jpg
■プログラムの説明
 表1の設定をプログラムにしたものがリスト1(の後半)です。なお、 mbeduino にはLCDがありませんで、LCDのかわりに、mbedのLED2~LED4を使用して、電力供給状態を示すことにします。そのため、リスト1の前半でLED2~4の出力を設定しています。

リスト1
// OUTPUT  LED
DigitalOut led1(LED1); // LED 
DigitalOut led2(LED2); // LED 
DigitalOut led3(LED3); // LED 
DigitalOut led4(LED4); // LED 
//  OUTPUT  Relays Shield + mbeduino  (galileo-7.com)
//  more Info  
//   Relays Shield http://www.galileo-7.com/?pid=22163783
//    mbeduino http://www.galileo-7.com/?pid=23835216  
DigitalOut X1_OUT(p30);// X1 OUTPUT
DigitalOut X2_OUT(p22);// X2 OUTPUT
DigitalOut X3_OUT(p23);// X3 OUTPUT
DigitalOut X4_OUT(p11);// X4 OUTPUT





カテゴリ


Copyright (C) 2006-2015 CQ Publishing Co.,Ltd. All Rights Reserved.