- Description: Bluetooth wireless controlled smart-car, which could avoid obstacles and blow out fire automatically
- Platform: Android, STC12 single-chip controller
- Award: First prize in Texas Instruments Electronic Design Contest(TI Cup), HUST devision
- Relating Techniques: MSP430 controller, Bluetooth 4.0, PWM(Pulse-width_modulation), Ultrasound sensor, infrared sensor, C programming language,
Duration: 2014.5. - 2014.7
- Team member(In no particular order): Hongkun Leng, Longyuan Li, Yiming Wei
- Smart-car is widely used in many fields, including disaster rescue, outdoor investigation and entertainment industry. We intended to design a smart-car which could not only avoid obstacles and find target automatically, but also interact with people and be controlled by human in emergence situation.
- Smartphone, a device with user-friendly user interface, strong computational power, is a perfect medium to connect people with other devices. Additionally, most smartphones are equipped with Bluetooth interface. Thus, we can use smartphones as the connector between smart-car and human.
Several requirements for this project
- Necessary features for TI cup competition: fire detection, putting out fire automatically, avoiding obstacles
- Easy to use, control. For better user experience, we should design and implement user-friendly user interfaces for human controllers.
- As cheap as possible. Cheaper this car is, easier it can be manufactured
1. Avoiding obstacles
The smart-car was able to avoid obstacles from all directions automatically. This functionality was made possible by utilizing Ultrasound scanners and algorithms on the controller. When there were obstacles in one direction, ultrasound would be blocked and reflected back, so we could detect obstacles’ direction and distance by measuring reflection of ultrasound.
2. Searching for fire
In order to search for fire, we should find specific characteristics of fire and choose appropriate characteristics as the basis for our detection and algorithm.
After investigation, we found three characteristics:
- Temperature (heat)
- Visible light
- Infrared light
However, there were several disadvantages of other two characteristics:
- Temperature, heat spread with no linear direction, thus we could not detect the direction of fire from limited number of heat sensors
- Visible light, although light emitted by fires are stronger than most other objects, there are still other objects such as lights and the sun that could emit strong lights.
Finally, we chose infrared light as the basic characteristic we detect and measure to find the fire
3. Human control
In some emergence situations, such as the situation when car itself can not react as quickly as human controller, we human should take control of the car. So we developed smartphone based client to control smart-car.
On the client side, human controller is able to see the overall situation(speed, direction) of smart-car, and control its movement
This functionality was made possible by utilizing Android platform and Bluetooth interface of smartphones.
In order to make our overall structure more flexible and reusable, we devised and implemented other four components separately and manage them through the center-algorithm on the center controller.
1. Center Controller
This component was responsible for managing other four components.
MSP430 controller, a 16 bits, super low energy consumption, RISC(Reduced instruction set computing) processor, was the major part of this component. This controller was able to connect and manage wireless component, motor component easily through its rich IO mouths. Additionally, applications could be transmitted and flashed into this controller through USB, therefore the development process was quite efficient.
2. Path detection component
In order to avoid obstacles, we chose ultrasound as the basic measurement signal. ultrasound spreads linearly and when there were obstacles, certain amount of ultrasound of same frequency would be reflected back. Utilizing this mechanism, we devised corresponding algorithms on the controller.
3. Fire-detection and fire-put-out component
As investigated in the first section, we chose infrared as the basic detection source. Thus ST188 infrared sensor was used by us to implement this functionality.
Putting out a fire required strong wind from a big fan. Under this condition, we can not connect this component directly into the IO mouth of center controller but to design a specific current driver for this component. After investigation, we chose L298N, a efficient and cheap current driver to take this responsibility.
Fans and current controller
4. Movement component
This component included two functionalities: movement and speed-tracing.
For the movement function, we had to drive four DC motors at the same time, this requires on current could be met by L298 current driver.
In order to trace the real-time speed, we chose 74HC14 infrared component to implement this functionality.
Speed tracing and tracing wheel
5. Communication component
In order to communicate with smartphones through Bluetooth, we chose HC-06 Bluetooth component as the basic communication controller.
Basic commands and signals:
- Current speed
- Current direction
- Turn-Left command
- Turn-Right command
- Forward command
- Backward command
Combining these basic signals, we could produce some more complicated commands such as forward-left and backward-right.
Three functionalities were provided by software client:
- Displaying current state. On the screen, users could see current speed and direction of the smart-car.
- Movement control. Our client provided a gamepad-like experience to control the smart-car, users can control the direction, speed on the touchscreen with good user experience.
- Function control. In order to switch between different modes in time of emergency, there were a panel for user to control the function of this smart car.