.Design and construct a working prototype to demonstrate cost effective automatic accident avoidance car in highway by lane changing using ultrasonic sensors and Atmega32N controller.
2.The advanced control systems can simulate the human driver completely and direct the vehicle based on interpreted sensory information to identify appropriate navigation paths using CAN protocol programmed in embedded C to avoid the obstacles in long range and has poor visibility.
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
Autonomated active safety system
1. Presented By
Haren Dodke – fx7465
Rajas Moghe – fw3687
Vinodhini Priya Pandiselvan – fy1318
Automated Active Safety System
Group 7
ECE 5620 Embedded System Design
3. Our Adaptation
Node 1
Front Sensors (Msg 0)
Left Side Motors (Msg 2-6)
Node 0
Front Sensors (Msg 0)
Rear Sensors (Msg 1)
Left and Right Side Motors (Msg 2)
Node 2
Rear Sensors (Msg 1)
Right Side Motors (Msg 2-6)
Msg 0 Msg 1
Msg2-6
Msg2-6
4. ‘CAN’ We?
• Arduino UNO (Atmega328)
• Seeed CAN Bus Shield (MCP2551)
• Motor Driver (L298)
• Ultrasonic Distance Sensors (HC-SR04)
• Motors
• Battery
• Chassis
Components Required : Work Flow
Get data from
Front Sensors for
obstacle
Is there obstacle?Go Forward
Get data from
Rear Sensors for
obstacle
Wait
Take appropriate
Turn
Yes
Yes
No
No
Is there obstacle?
5. Yes We ‘CAN’ !!
Node 0
Decision node
LED indicator
Node 2
Sensor and
Actuator node
Node 1
Sensor and
Actuator node
Front Right
Sensor
Front Center
Sensor
Front Left
Sensor
Rear Right
Sensor
Rear Left
Sensor
Left Motors Right Motors
8. The Fuel
IN1 IN2 Motor Status
LOW LOW Stops
LOW HIGH Anti-Clockwise
HIGH LOW Clockwise
HIGH HIGH Stops
void Forward() //forward
{
digitalWrite(L1, LOW);
digitalWrite(L2, HIGH);
}
void Reverse() //reverse
{
digitalWrite(L1, HIGH);
digitalWrite(L2, LOW);
}
void Left() //left
{
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
}
void Right() //right
{
digitalWrite(L1, LOW);
digitalWrite(L2, HIGH);
}
void Halt() //halt
{
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
}
H-Bridge Way:
0101 Forward (ID 2)
1010 Reverse (ID 3)
0100 Left (ID 4)
0001 Right (ID 5)
0000 Halt (ID 6)
//Functions for motion
void Forward() //forward
{
digitalWrite(R1, LOW);
digitalWrite(R2, HIGH);
}
void Reverse() //reverse
{
digitalWrite(R1, HIGH);
digitalWrite(R2, LOW);
}
void Left() //left
{
digitalWrite(R1, LOW);
digitalWrite(L2, HIGH);
}
void Right() //right
{
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);
}
void Halt() //halt
{
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);
}
The Combinations:
9. When and What ?
// Motor control logic
if (SensFL >= 50 && SensFR >= 50 && SensFC >= 50)
{
msg[0] = {2}; // Move forward (message ID2)
CAN.sendMsgBuf(0x02, 0, 1, msg); // send data: id = 0x02, standrad frame, data len = 1, msg: data buf
delay(100);
}
if (SensFL < 50) // Obstacle detection and negotiation on left side
{
if (SensBR < 30)
{
msg[0] = {5}; // Look for obstacle from back. If yes them wait else turn (message ID5)
CAN.sendMsgBuf(0x05, 0, 1, msg); // send data: id = 0x02, standrad frame, data len = 1, msg: data buf
blinkled();
delay(100);
}
else
{
msg[0] = {4}; // Turn Right (message ID 4)
CAN.sendMsgBuf(0x04, 0, 1, msg); // send data: id = 0x02, standrad frame, data len = 1, msg: data buf
delay(100);
}
}
11. • Distance
Calculation Limit
• Trigger and Echo
Pin Assignment
Sensor
Calibration
• Separation of
Motors
• PWM vs Digital
H-bridge
Truth Table • Too many cables
with opposite
type connectors
Cable
Management