カメラとwifiコントロールを備えた自家製ボット

公開された記事を読んだ後、昔、合板、アトメガ、はいラズベリー 、私は自分のクラフトを共有することにしました。

ボットの作成時に、次のタスクが設定されました。


オンボードコンピューター


オンボードコンピューターには、手元にあるデュアルコアアンドロイドミニコンピューターUG-802を選択しました。 オペレーティングシステムとして-完全なLinuxディストリビューション、LinaroからのUbuntuのアセンブリ。



最初に、問題のある組み込みのWi-Fiアダプターで何かをしなければなりませんでしたが、これは頑固に再アセンブルされたカーネルで実行したくありませんでした。 基本的な決定は、はんだ付けを解除し、2番目のUSBホストコネクタをインストールすることでした。このコネクタには、通常のusb wifi(または3Gモデム)を接続できます。 すぐに言われたように、内蔵のwifiボードははんだ付けされず、2台目のホストが代わりにはんだ付けされました。

内部USBホストの最初のチェック:


インストールされたUSBホストの最終ビュー:


ホイールプラットフォーム


Ardubotプラットフォームとモーター付きホイールを注文したが、手が届きませんでした。 ためらうことなく、それを使用することにしました。 店舗で特別に購入した車の充電器に取り付けられた12〜5ボルトのコンバーターボードが取り付けられました(使用される超小型回路の入力電圧範囲が広くなっています)。 11.1V / 1250mAのリチウムポリマーバッテリーは、過去に壊れたモデルからすでに入手可能でした。 Ardubotボードは、制御ボードの機能のために軽く変更する必要がありました(トラックはD9から切り離され、D7にはんだ付けされています)。 5ボルトの電力のみが出力されるusbコネクタもインストールされました。


ホイールエンコーダーからの配線は後ろに見えます:


エンジン、調光


ArdubotはもともとArduinoと共有するように設計されていたので、活用してみてください。 Arduinoの代わりに、コネクタと互換性のあるOLIMEX PIC32-PINGUINO-MX220を使用しました。 不快な些細なことが判明しました-モーター制御ピンの1つがPINGUINOボードのLEDに使用されていました。 すべては問題ありませんが、このLEDはファームウェアブートモードで点滅し、同時にホイールを回します。 したがって、上で書いたように、トラックを再はんだ付けする必要がありました。

デバッグを容易にし、汎用性を高めるために、制御ボードはUSB経由で接続されています。 PINGUINOファームウェアは、シリアルポート/ dev / ttyACM0としてユーザーに表示されるCDC-ACMデバイスをエミュレートします。 送信される制御コマンドは次のようになります。
モーターXYX-モーター番号、Y-状態
ライトxyX-ランプ番号、Y-状態
クリアすべてをデフォルト状態にリセットします
コミット適用する


モーターの番号付け:0-左、1-右。
状態:0-停止、1-前方、-1-後方。

たとえば、プラットフォームの背面LEDをオンにするには、コンソールからコマンドを送信するだけで十分です。
echo "LIGHT 1 1" > /dev/ttyACM0 echo "COMMIT" > /dev/ttyACM0 


先に進むには:
 echo "MOTOR 0 1" > /dev/ttyACM0 echo "MOTOR 1 1" > /dev/ttyACM0 echo "COMMIT" > /dev/ttyACM0 


カメラとハブ


オンボード(ボット)コンピューターの1つのUSBポートはwifiアダプターで使用され、もう1つはプラットフォーム制御ボードです。 カメラをどこに接続しますか? 解決策があります-ハブを使用します。 コンピューターの1つに、最も安価なWebカメラの1つが格納され、疑わしい種類のUSBハブが購入されました。

電子機器の配置


ボットが何を探すかを見つける過程で、IPOD TOUCHのプラスチックボックスパッケージが正常に見つかり、UG802と分解されたUSBハブが理想的に挿入されました。 3つのハブコネクタの側面にカットアウトが作成されました。 4番目の(内部)コネクターに差し込まれたカメラ(ケーブルが事前に短縮されている)。 ふたにもUG802のUSBコネクタの切り欠きがあり、閉じられませんでした。


すべてがPINGUINO-MX220-プラットフォーム制御ボードの上部にねじ込まれています。


最終組み立てとテスト


すべてをまとめるときです。


すべての配線が本来あるべき場所で止まっている-ハブのPINGUINO、ArdubotのUSBコネクタに電源供給されているUG802:


オンボードコンピューターはsshアクセス用に構成され、作業に必要なすべてのツール(コンパイラー、ライブラリー、mc)はLinaroリポジトリーからインストールされます。 入って、書いて、コンパイルして、デバッグしてください。 美人!

テストのために、ボットのカメラからオンライン画像を表示し、どこに行くか、ランプをオン/オフするコマンドを送信するコントロールコンソールが開発されました。 ソフトウェアボットはコマンドを受信し、オンラインビデオを管理コンソールに送信します。 現在のステータスはディープベータです。 ただし、すでにシステムを使用できます!

ビデオデモンストレーション




推奨事項

sparkfan ardubotを使用する必要はありません。より安価で優れたオプションがあります。
UG802は安価なアナログ(MK802、CX-01)に置き換えることもできますが、特定のデバイスクローンで動作するカーネルソースが利用できるようにする必要があります。 そうしないと、本格的なLinuxをインストールするのに問題が生じるか、まったく不可能になります。

参照資料

googolコードのプロジェクト(ソース)
リナロ
OLIMEXのPIC32-PINGUINO- MX220
SparkfunのArdubot

Source: https://habr.com/ru/post/J176307/


All Articles