Make一覧

ProcessingでXBee操作

 2ヶ月に1回の土曜日当番なので出社。
 帰宅後、リモコンのコードテスト。昨夜途中まで書いやつをデバッグ。動くようになりました。あとは肉付けしていくだけですね。動画でボタンを押してみてますが未実装なのでその部分を・・・。

 クロウラーの肉付けとしては、
PololuのGP2Y0D810Z0F
 スイッチサイエンスさんで、ロボット系ショップPololuの10cm近接センサーを買ったので要検討。これ電源電圧が2.7~6.2Vなので使いやすそう。
 使用用途は、クロウラーが狭いところに入り込んだ場合に無駄にグリグリ動かないように左右の障害物との距離を測ろうかなと。まぁ、無駄が多い四輪車とは違って無限軌道なので超信地旋回して脱出もできますからね。その超信地旋回もできない左右だったら動作を止めて圧電ブザーでも鳴らせようかな。
 ハッ、そんな時なら単純にバックすれば良いのかw。


距離センサーのテスト

 超音波による距離センサが届いたのでテスト。HC-SR04という、パララックス社の「PING))) Ultrasonic Distance Sensor」のパチもん?みたいな奴。ググろと1個150円で手に入れた人もいますが、自分はAmazonで790円。これでも半値。

 まず5VのArduino UNOにLCDシールドを載せたものでテスト。サクッと動作確認完了。

 つづいて、ブレッドボード上に3.3V動作のArduinoProMiniを使ってのテスト。5V電源のセンサへの供給は3.3VをHT7750で昇圧して供給。
 まずは、シャープの赤外線距離センサGP2Y0A21YKにてテスト。事前にそれほど出力シグナルの電圧は5Vフルとかは出なさそうなことを検索して得ていたので強行。3.3VArduinoのADCのぎりぎりのとこまでしか出ない様だ。直結でも使えそう。

 つぎはHC-SR04のテスト。以下の画像の感じで。
DSC_0471

 センサからの出力側は分圧抵抗で下げておいて、センサへの入力は5Vレベルのロジックでも3.3Vの信号はHIGHと認識するであろうという期待から直結。で、動作確認できました。どちらも消費電力が同じようなのでどっちを採用しても良いですね。HC-SR04はオシロで出力の最大値を見ておいたほうがいいかな。

 リモコンのソフトウエア面は、小改造。黄色いボタンに機能を割り当てました。自律モードへの導入および解除。
クロウラー側はまだいろいろ検討ちゅうなので、とりあえず自律モードにはいったら2秒間時計と逆回り、自律モードからぬけたら2秒間時計回りをするようにしてみた。
 今後は、距離センサをつかった障害物避け。あと、方位センサで方位を意識した動作(特定角度を維持しつつ床を塗りつぶす的な)を検討。

 そして、リモコン側は使いやすさを考慮してゲームコントローラに切り替えます。
 ただし脳みそ部分は、

  1. Arduino&USBホストシールド
  2. PCでProcessingにてjavaのgame API
  3. PCでC# & DirectInputで

のどれにしようかね?あえて三番目?

 というか、方位センサと距離センサで部屋の地図作れるかも。塗りつぶし方式ですけど。それをProcessingでリアルタイムに可視化すると。だと二番目にしておこうかな。そもそもC#にする必要性は全くないし。職場もjava系になりそうであるのでリハビリとして。どんな言語でもライブラリとかフレームワークとか決まってるのならそれで作るだけですし。フレームワークや言語の好き嫌いはありますが。


とりあえずクロウラー完成...?

20130608_01

 午前中でアルシオーノの二階部分を作成完了。無事に動作するかと思ったら、プログラムと実基板のピンが合っていない部分があってソフトウエアにてピン修正して完了。開いてるソケットは2軸コンパスを使う時用。

20130608_02

 その後リモコンの改良。秋月からスライド抵抗を買ったので、これでモータの回転を可変にする為のPWM値のベースとした。でも、マブチのFA130ブラシモータだからか、知識が無くてよくわからないのだけど、細かい速度調整は達成出来なかった。リニアには行かないようです。微調整してみようかな。秋月で売ってる日本電産コパル株式会社のステッピングモータも手に入れたので、いつかステッピングモータードライブのおもちゃも良いかと思う。
 リモコンに付いている黄色いボタンはユーザ操作モードと自律モードの切替に使う予定。

20130608_03

 で、自律行動の基本として、前方に障害物があったらバックしつつ回転して新たな方向へ向かうプログラミングでもしようと。近接センサーとしてVCNL4000を持ってますが、もともとノートパソコンの蓋が開いてるかどうかのセンサなんで距離的に微妙。手持ちのシャープのGP2Y0A21YKという10cm~80cmが測距できるセンサ(上記画像)を利用しようかと。こいつ電源が5Vなんですよね。昇圧電池ボックスを使うかね。試してみたら一応3.3Vでもなんか動いてはいましたけどね。距離が急変した時に値が激しく変わる現象はあるようです。

 「カメラで状況を解析して」なんて事はしたくないので、距離センサや明るさセンサで状況を解析しつつ移動する感じに仕上げたい。お助けとして赤外線LEDで灯台を作るのも良いかもね。

 まぁ、色々試していけば良いかなと。ロボコンに出るわけでもないので自律行動に目的はない。逆に操作モードで動かしてると楽しいので、アーム類のギミックを搭載するほうが良いのかも。


様子見中の雨センサ

chart20130607

 今日の電圧グラフは↑こんなん。横軸は現在(19:30)からの過去時間(hour)。午前中の雨も検知してたのでひとまずOKかな。今晩、電源電圧が急降下しなければ。しかしこの現象の原因が不明だ。朝10:00くらいに電圧が復活してきて、夜中0:00くらいに下がっていく。時間的に太陽電池の発電タイムとは合わないのですよね。定期的にリチウムイオン電池をリフレッシュしないといかんかもね。


雨センサのバッテリーが・・・

20130606_01

 雨センサの電源。
 このところ、充電はしているようなのだが、夜半に電圧が2.5V程度まで落ちて、朝に太陽電池が復活してくると3.1Vまで戻るようなデータがとれている。バッテリーが死んだか?というと夜でも日が変わる前は動いているので完全に死んでいるわけでもないみたい。
 別のリチウムイオン電池に取り替えようとしたのだけど、そっちこそ過放電で死んでた。2年間使ってなかったからなぁ。スイッチサイエンスさんで替えの同じタイプのリチウムイオン電池を物色してみたんだけど、どうも端子が2mmのJSTになっている様で、家のは2.54mmのJSTっぽい。付け替えてもいいのだけどJSTの2.54mmの2ピンが手持ちにない。
 今まで使っていた奴を再充電してみて様子見しよう。ダメそうなら、ベランダ柵までUSB5Vのケーブルを引っ張るかね。カメラ使ってた時にベランダにモールを設置してあるのでそこの中の這わせれば電源は渡せないことはない。でも、有線でつなぐなら信号線も無線のXBeeでなく有線にしてもよいかもね。
 梅雨の時期前なのですがちょっと様子見です。雨センサと風センサはどうも継続的実用が素人レベルでは難しいですね。


アルシオーノの二階作成中

 20130604_01

 サイズ的にアルシオーノと合うのでサンハヤトのArduino用ユニバーサル基板 UB-ARD03-Pを使用。この基板GNDラインとVCCラインがあって便利。付属のピンソケットはモータドライバ基板のソケットとかUSB-シリアルアダプタのソケットに使用して、一階との接続は普通のピンヘッダにしてみた。今日中に完成する事も可能ではあるが、余裕を持って明日以降に持ち越しです。一階も二回もL字ピンヘッダが多いですな。