This project aims at hacking a remote controlled car by replacing the tx/rx and navigation systems. This project implements the car side.

Dependencies:   mbed-rtos mbed ssWi

This project consists of a remote controller which pilots a car holding a video camera onboard. It is divided in two main parts:

  • user side: the microcontroller reads the user input from the joystick (four potentiometers), elaborates them and then sends those commands through the wireless connection (using a XBee module);
  • car side: the microcontroller receives the sent commands (using a XBee module), elaborates them and adjusts the main engine, the steering servomotor and the two servos which move the X-Y axis of the onboard video camera.

Here are a image of the hardware and a video I recorderd and edited. http://www.mario-bambagini.it/web/sections/software/car.jpg

Concerning the part related to the user side, the project is the following.

Import programrover_pc

This project aims at hacking a remote controlled car by replacing the tx/rx and navigation systems. This project implements the pc side.

The communication protocol I exploited to make the two parts communicate each other is ssWi.

Import libraryssWi

A simple wireless protocol to let my examples communicate each other. ssWi stands for Shared Slotted Wireless protocol

Committer:
mariob
Date:
Tue Mar 12 07:35:28 2013 +0000
Revision:
0:97d3a2b0ff58
rover project - car side; MB

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mariob 0:97d3a2b0ff58 1 #ifndef __SERVO_HPP__
mariob 0:97d3a2b0ff58 2 #define __SERVO_HPP__
mariob 0:97d3a2b0ff58 3
mariob 0:97d3a2b0ff58 4
mariob 0:97d3a2b0ff58 5 #include "mbed.h"
mariob 0:97d3a2b0ff58 6
mariob 0:97d3a2b0ff58 7
mariob 0:97d3a2b0ff58 8 class Servo
mariob 0:97d3a2b0ff58 9 {
mariob 0:97d3a2b0ff58 10 PwmOut _pwm;
mariob 0:97d3a2b0ff58 11 float _min;
mariob 0:97d3a2b0ff58 12 float _max;
mariob 0:97d3a2b0ff58 13 float _center;
mariob 0:97d3a2b0ff58 14
mariob 0:97d3a2b0ff58 15 public:
mariob 0:97d3a2b0ff58 16 Servo(PinName pwm, float min=0.001, float max=0.002, float center=0.0015);
mariob 0:97d3a2b0ff58 17
mariob 0:97d3a2b0ff58 18 Servo& operator= (float speed);
mariob 0:97d3a2b0ff58 19
mariob 0:97d3a2b0ff58 20 operator float();
mariob 0:97d3a2b0ff58 21
mariob 0:97d3a2b0ff58 22 };
mariob 0:97d3a2b0ff58 23
mariob 0:97d3a2b0ff58 24 #endif //__SERVO_HPP__