Table of Contents
Linux RC-car
This project is part of our demo to Oulu University's Pesti 2008 exhibition. Project's goal was to replace the original RF-controlling with WLAN based connection. New car controlling is done with motion sensing steering wheel.
Due to rapid prototyping and tight schedule we have taken it our goal to make the hardware chain as long as possible
. In a real world all this would be integrated into alot smaller package (and much cheaper one too) but currently that is not in our scope.
Motion controller (Wireless steering wheel)
The primary controller for the car in addition to the GTK+ UI controller is the wireless steering wheel which is built from Olimex prototype board, a 3-axis accelerometer, Eikon UARTDNG105 Uart to Bluetooth module and a Nokia 770 internet tablet.
As a precaution a button on the steering wheel needs to be pressed down for the controlling to work. We don't want the car to head off to the nearby staircase while someone is handing the steering wheel to somebody else
.
Nokia N800 Internet Tablet
Nokia Internet Tablet is used as a bridge device between bluetooth and wlan traffic. Acceleration controller unit connects to the internet tablet through bluetooth and tablet echoes traffic from controller unit to wlan connected Artila.
Bluetooth connection uses RFCOMM which is simple transport protocol. RFCOMM provides RS232 serial port emulation over L2CAP protocol.
Rfcomm serial port device creation:
$ rfcomm connect /dev/rfcomm0 AA:BB:CC:DD:EE:FF
Now this device can be read from or written to and the communication happens through bluetooth SPP (serial port profile).
To read the device:
$ cat /dev/rfcomm0
To write (random data) to the device:
$ cat /dev/urandom >/dev/rfcomm0
Bridge between bluetooth and wlan is created with python software on Nokia internet tablet.
Olimex LPC-P2106-B
The Olimex prototype board for the LPC-2106 processor is used to read the 3-axis accelerometer values and forward them to the bluetooth module.
VTI SCA-3000 3-axis accelerometer
The VTI SCA-3000 accelerometer takes care of the actual motion sensing which is read by the Olimex prototype board through SPI.
Eikon UARTDNG105 Uart to Bluetooth module
The Eikon UARTDNG105 bluetooth module takes care of sending the uart data through bluetooth SPP (Serial port profile).
Nokia N800 controller
Alternative way to control the car is through a trivial GTK+ UI on the tablet. All it does is reads the cursor position from a drawing area and transforms the x and y values to servo values and sends them to the car through WLAN.
Car
The car consists of Artila M-501 development board, Olimex LPC-P2106-B prototype board and Buffalo WLI-U2-KG54-AI USB WLAN dongle.
Olimex LPC-P2106-B
The same prototype board as on the steering wheel is used in the car to do the actual PWM controlling for the steering servo and the acceleration controller.
Artila M-501
In the car Artila M-501 takes care of forwarding the control commands received from WLAN to the Olimex LPC-2106-B which in turn will command the servos.
The 5V power for steering servo is also taken from artila. The headlights are also powered from artila and controlled through I/O. The headlights work as an indicator of when the car is ready to be controlled.
Artila also acts as a mobile webserver and currently serves this info page along with the photos.
Buffalo WLI-U2-KG54-AI USB WLAN
Providing the Artila M-501 development board with WLAN capability we have used a buffalo WLAN dongle.
Car pins
- Artila
- 19 - 5V - Red (Servo power)
- 17 - GND - Blue (Servo ground)
- 18 - GND - Brown (Headlight ground)
- 16 - DIO15 - Black (Headlight I/O)
- COM1 - Serial connection to Olimex RS-232 port
- Olimex
- 9 - P0.9 - White with black stripe - Motor servo
- 8 - P0.8 - White - Steering servo
- GND - Blue









