メカナムホイール ロボット
.
Wi-Fi メカナムホイール ロボット
Information
第9回日本橋ストリートフェスタ2013(3月24日開催予定)ものづくりエリア にて展示予定!
45度に配置された奇妙なホイールで自在に動く車型ロボットです。
Wi-Fiモジュールを搭載。無線LANのアクセスポイントとなって、iPhone等スマートフォンから接続でき、コントローラとして使えます。
ロボット上(mbed)にhttpサーバとWebSocketサーバを実装しており、スマートフォンやPCのブラウザ上で動くコントローラにより、専用アプリのインストールは不要です。
Hardware
- mbed NXP LPC1768
- Wi-Fi module GS1011MIC
- VEX Mecanum Wheel - メカナムホイール
- 東芝 TB6612FNG - モータドライバIC
- タミヤ ダブルギヤボックス
Software
GSwifi ライブラリの httpサーバ(ウェブサーバ)と WebSocketサーバを有効にしています。
Import libraryGSwifi
GainSpan Wi-Fi library see: http://mbed.org/users/gsfan/notebook/gainspan_wifi/
mbed
#include "mbed.h" #include "GSwifi.h" #include "SDHCFileSystem.h" GSwifi gs(p13, p14, p12, P0_22); // TX, RX, CTS, RTS SDFileSystem sd(p5, p6, p7, p8, "sd"); : void ws (int cid, GS_httpd *gshttpd) { // parse received data and motor control } : int main () { sd.disk_initialize(); gs.setBaud(921600); if (gs.limitedap(GSSEC_NONE, "MECANUM", "", IpAddr(192,168,0,1), IpAddr(255,255,255,0), "www.mecanum.wheel")) { return -1; } gs.httpd(PORT); gs.attach_httpd("/ws/", &ws); gs.attach_httpd("/", "/sd/www/"); for (;;) { gs.poll(); } }
SDメモリーカードへはhtmlファイルやJavaScript、画像ファイルなどを入れておきます。
JavaScript
: function init() { window.scrollTo(0,1); if (navigator.userAgent.indexOf('iPhone') > 0 || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('iPad') > 0 || navigator.userAgent.indexOf('Android') > 0) { document.addEventListener("touchstart", touchStart, false); document.addEventListener("touchmove", touchMove, false); document.addEventListener("touchend", touchEnd, false); } else { document.addEventListener("mousedown", mouseDown, false); document.addEventListener("mousemove", mouseMove, false); document.addEventListener("mouseup", mouseUp, false); } if ("WebSocket" in window) { ws = new WebSocket(ws_url); } else if ("MozWebSocket" in window) { ws = new MozWebSocket(ws_url); } ws.onopen = function(evt) { onOpen(event) }; ws.onclose = function(evt) { onClose(event) }; ws.onmessage = function(evt) { onMessage(event) }; ws.onerror = function(evt) { onError() }; } :
Produced by Suga koubou.
Please log in to post comments.