ECE4180 Final Project

Self-Parking Car

Team

  • Sungwoo Han
  • Sangwon Song

Objective

To design a remote driving controller an automatic parking system on a mini-car using mbed microcontrollers, DC motors, ultrasonic sensors, H-Bridge, and bluetooth module. For the automatic parking system, the system will be demonstrated in designed map.

Parts List

  • mbed LPC1768(2): mbed microcontroller to operate the entire functions of this project
  • Adafruit Bluefruit LE UART Friend Bluetooth Module: The bluetooth module for this project to perform the connection between the mini-car and a smart phone.
  • HC-SR04(7): The ultrasonic sensor to detect the distance between the mini-car and the wall of the map.
  • uLCD144G2: LCD display to show the status of the car moving status
  • TB6612FNG Dual Motor Driver Carrier: H-Bridge driver module for DC motors
  • ROB-12629: Hall Effect Sensor for measuring rpm and distance the car travels.
  • Mini-car kit: The mini-car kit to build a small size car with two wheels. Specific hardware in this project:
  • Other supplies
    • Breadboards: For wiring
    • Wires: Electrical connections among parts and boards
    • External portable battery: An additional power source for the master mbed

Program Description

In this project, two major modes are controlled by Bluetooth: 1. Manual driving mode. 2. Autonomous parking mode.

During the first mode, a user can manually control driving motion of the mini-car by using the bluetooth connection between the car and the mobile device, Adafruit Bluefruit LE friend, connected to the mbed (Master). In the Bluetooth mobile application, there are number pads (1 to 4) and 4 directions of arrow keys (forward, right, left, and backward).

During the second mode, autonomous parking system, the mini-car can detect an appropriate parking space and park itself automatically. To get into the autonomous parking stage, the user presses the number pad (1) on the mobile application, and the mini-car starts moving and detects distances between the sides of the car and the walls in order to drive around the parking lot (our map), until it finds an empty spot. When it finally finds the parking spot, it will park itself in. Around the mini-car, there are seven ultrasonic sensors; 1 front sensor, 2 right sensors (front, rear), 2 left sensors (front, rear), and 2 back sensors (left, right). These sensors measures the distances and continuously send the signals to the mbed (master). When the master mbed receives the signals, it calculated the situation and determine a proper action such as 'move forward', 'tilt to the left', 'turn right', and so on. Once the car finds appropriate parking space, it slowly parks into there and shows "park done" message on the uLCD screen.

Block Diagram

/media/uploads/ssong86/blockdiagram_DB9g0sR.png

Wiring

/media/uploads/ssong86/car1.jpeg /media/uploads/ssong86/car2.jpeg /media/uploads/ssong86/car3.jpeg

PinOuts

2 mbed microcontrollers, 7 ultrasonic sensors, 2 DC motors with H-Bridge module and hall effect sensors, and 1 bluetooth module are used.

  • First mbed (master)
MbedUltrasonic sensorBluetooth moduleMbed (Slave)
GNDGND(for each sensor, 7 connections total)GND, CTS
VU(5V)Vcc(for each sensor, 7 connections total)Vin
P8Trig(Front Sensor)
P11Echo(Front Sensor)
P25Trig(Left Sensor, Front)
P26Echo(Left Sensor, Front)
P12Trig(Left Sensor, Rear)
P13Echo(Left Sensor, Rear)
P21Trig(Back Sensor, Right)
P22Echo(Back Sensor, Right)
P5Trig(Back Sensor, Left)
P6Echo(Back Sensor, Right)
P23Trig(Right Sensor, Right)
P24Echo(Right Sensor, Right)
P29Trig(Right Sensor, Front)
P30Echo(Right Sensor, Front)
P27(Serial RX)TXO
P28(Serial TX)RXI
P9(Serial TX)P10(Serial RX)
P10(Serial RX)P9(Serial TX)
  • Second mbed(slave)
MbedDeviceInfoSide
GND
VinExternal Battery
VoutVCC
p5DCMotorFwdRight
p6DCMotorRevRight
p7DCMotorFwdLeft
p8DCMotorRevLeft
p9(Serial TX)p10(Serial RX)UART
p10(Serial RX)p9(Serial TX)UART
p21DCMotorPWMRight
p22DCMotorPWMLeft
p24HallEffect SensorLeft
p25HallEffect SensorRight
p27uLCDTX
p28uLCDRX
p29uLCDRev

Demo

Program


Please log in to post comments.