Tosainu Lab

RaspberryPiを使ったブラウザから操縦するラジコンカー

どうもです!!

 

製作中だったラジコン、ついに完成しました!!!!

今日は中の構造及びどのように制御しているかの解説をしようと思います。

 

接続しているデバイス類のこと

まず、今回の主役「RaspberryPi」です。コントロールページのサーバー、コントロールプログラム、Webカメラのライブ配信まですべてこれで行っています。

そして、IOピンに接続された基板がモータドライバ回路になります。

RPiから給電できる電力には限界があるため、TA7291Pを2つ使用しモータドライバ回路を作成しました。

一方は駆動輪、もう一方はハンドルのモーターにつながっています。

横から出ているケーブルは電源供給用のUSBケーブルになります。

本日の事故によりメキョってしまいましたが、このWebカメラを搭載しています。

残念なことに、このカメラは屋外では明るすぎるのか真っ白な画像しか出力してくれませんでした・・・

(屋内では問題ない)

 

ソフトウェア類のこと

Node.js

JavaScriptの一種で、サーバーを構築することができる言語です。

今回のシステムでは、Node.jdでWebサーバーを構築し、ブラウザ間とSocket.ioで通信することでラジコンの操縦を実現させています。

 

WiringPi

WiringPiは、Cなどの言語においてArduinoのような簡単な文法でIOピンのの制御ができるようになるライブラリです。

今回は、このライブラリに付属するgpioコマンドを使い、IOピンの制御を行っています。

 

mjpg_streamer

接続されたカメラ等のデバイスをjpeg形式でキャプチャして配信することができるソフトウェアです。

そこまで負荷も多くなく、かつ大きな遅延も発生しなかったため導入しました。

使い方及び導入にあたりつまづいたことに関しては前回の記事にまとめてあります。→RPi(Arch Linux)でmjpg_streamerのビルドにつまづいた

 

実際に動かしてみた

 

さて、こんな感じになります。

ソースコード公開ですが、まだ不完全な部分があるためまた後日とします。

明日もTNCTこうよう祭にて展示するので見に来てください〜

それでは〜