* [[:|Wiki Home]]
* [[:cheat_sheet|Cheat Sheet]]
* [[:compiling_on_virtualbox|Precompiled virtual tools]]
* [[:carambola_where_to_start|Where to start]]
* [[:carambola_connecting|Connecting to carambola]]
* [[:carambola_using_and_customizing|Using and Customizing]]
* [[:carambola_demo_projects|Demo projects/examples]]
* [[:carambola_hardware|Hardware]]
====== About ======
It is very simple demonstration how to use Carambola as rover platform with video feedback. It could be nice toy to build in couple of hours.
{{ :dsc_0019_.jpg?direct&600 |}}
{{ :robot1.png?direct&600 |}}
====== Hardware ======
I used very simple hardware setup.
Key components are [[http://www.pololu.com/catalog/product/1112|motor controller]], [[http://www.pololu.com/catalog/product/1574|47:1 gearmotors]], [[http://www.pololu.com/catalog/product/1557|wheels]], UVC webcam supported by mjpg_streamer and of course Carambola.
===== Connection =====
* Webcamera - just plug to USB port.
* Motor controller - connect to Carambola serial port. Use 2(TX) and 5(GND) pins. (see diagram below)
* Motors - see diagram below. Connect 2 motors in parallel.
{{:0j1213.600.jpg?direct&300|}}
===== Building system =====
* Build image with video support (see [[carambola_mjpg_streamer|mjpg_streamer]])
* Flash fresh image to Carambola ([[carambola_where_to_start|where to start]])
* Setup wireless connection [[carambola_wifi|Wifi intialization]]
* Set system password (we will need this later for ssh access)
passwd root
* install package for video streaming
opkg update
opkg install mjpg-streamer
* edit ''/etc/config/mjpg-streamer'' if you like. Default settings works fine.
config mjpg-streamer core
option device "/dev/video0"
option resolution "400x200"
option fps "25"
option port "8081"
option enabled "true"
opkg install ser2net
* edit /etc/ser2net.con - comment all lines at the end of file and add this one
2002:raw:600:/dev/ttyS1:115200
* edit ''/etc/rc.local'' file to add ser2net autostart functionality
ser2net
exit 0
* Now you are able to connect to Carambola's serial port via telnet 2002 port.
* You can now reboot your Carambola to see if everything works.
reboot
===== Testing =====
==== Video ====
* open favorite network stream player (I have tested vlc and chrome web browser - both worked) and paste url ''http://192.168.0.112:8081/?action=stream''
* For VLC make sure you setcaching to 0ms instead of 1200ms (default) to reduce video lag
{{:vlc_settings.png?direct&500|}}
==== Controls ====
* To test if robot responds to commands download this [[robot_control_program|program]] which sends these commands directly to motor controller
* Forward ''0x8A, SPEED, 0x8D, SPEED''
* Backwards ''0x88, SPEED, 0x8E, SPEED''
* Left ''0x88, SPEED, 0x8D, SPEED''
* Right ''0x8A, SPEED, 0x8E, SPEED''
* Before you start playing, you should press setup button. It sends safety configuration to motor controller
* Serial port idle timout = 0.25s ''0xAA, 0x0A, 0x04, 0x03, 0x01, 0x55, 0x2A''
==== ToDo ====
This quick example illustrates how to interface motor controller and webcam. Further you could connect these items to build autonomous vehicle.
* gps
* counter on all wheels
* sonar
* robotic arm
* lights
* wifi booster
* volt meter
* wider angle lens
* smaller (lipo battery)
==== Notes ====
* I ordered 47:1 gear motor (285 RPM), which is still a bit to fast. So, if you plan to replicate this by your self, consider buying germotor with 75:1 or even 99:1 ratio.
* After you reboot Carambola, connect to it using ssh and type ''ser2net'' this will enable communication to motor controller.
* It is good idea to close all electronics and put external led's to indicate wireless signal level and other status signals.
==== More images ====
{{:dsc_0011_.jpg?direct&300 |}}
{{ :dsc_0016_.jpg?direct&300 |}}