Header Ads Widget

How to Make Arduino Robot in Telugu | Arduino Obstacle Avoiding Car At Home

 



Arduino Obstacle Avoiding Car Making video:



Arduino Obstacle Avoiding Car Circuit diagram:

Arduino Obstacle Avoiding Car


Arduino Obstacle Avoiding Car code:

#include "LedControl.h"
LedControl lc = LedControl(11, 13, 10, 2);
const int addrL = 0;  // first LED matrix - Left robot eye
const int addrR = 1;  // second LED matrix - Right robot eye

int trigPin = 2;      // Trig Pin Of HC-SR04
int echoPin = 3;     // Echo Pin Of HC-SR04
int revleft4 = 4; // Motor Pins
int fwdleft5 = 5;
int revright6 = 6;
int fwdright7 = 7;
long duration, distance;

void setup() {
  Serial.begin(9600);
  pinMode(revleft4, OUTPUT); // Set Motor Pins As O/P
  pinMode(fwdleft5, OUTPUT);
  pinMode(revright6, OUTPUT);
  pinMode(fwdright7, OUTPUT);
  pinMode(trigPin, OUTPUT); // Set Trig Pin As O/P To Transmit Waves
  pinMode(echoPin, INPUT); //Set Echo Pin As I/P To Recieve Reflected Waves
  lc.shutdown(addrL, false);
  lc.shutdown(addrR, false);
  /* Set the brightness to max values */
  lc.setIntensity(addrL, 15);
  lc.setIntensity(addrR, 15);
  /* and clear the display */
  lc.clearDisplay(addrL);
  lc.clearDisplay(addrR);

  // turn on all LEDs for a test
  for (int row = 0; row < 8; row++) {
    lc.setRow(addrL, row, 255);
    lc.setRow(addrR, row, 255);
    delay(100);
  }
  delay(300);

}
void showNeutral() {
  byte left[8] = {
 0b00000000,
  0b00111100,
  0b01111110,
  0b01100110,
  0b01100110,
  0b01111110,
  0b00111100,
  0b00000000};

  displayEmotion(left, left);
}
void left1(){
 byte left[8] = {
  0b00000000,
  0b00111100,
  0b01111110,
  0b01111110,
  0b01110010,
  0b01110010,
  0b00111100,
  0b00000000};
  displayEmotion(left, left);
}
void right1(){
 byte left[8] = {
  0b00000000,
  0b00111100,
  0b01111110,
  0b01111110,
  0b01001110,
  0b01001110,
  0b00111100,
  0b00000000
};
  displayEmotion(left, left);
}
void he(){
 byte left[8] = {
   0b00000000,
  0b00111100,
  0b01111110,
  0b01111110,
  0b01111110,
  0b01111110,
  0b00111100,
  0b00000000
};
  displayEmotion(left, left);
}
void displayEmotion(byte left[8], byte right[8]) {
  lc.clearDisplay(addrL);
  lc.clearDisplay(addrR);
  for(int row=0;row<8;row++) {
    lc.setRow(addrL,row,left[row]);
    lc.setRow(addrR,row,right[row]);
  }
}
void loop() {

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); // Transmit Waves For 10us
  delayMicroseconds(10);
  duration = pulseIn(echoPin, HIGH); // Recieve Reflected Waves
  distance = duration / 58.2; // Get Distance
  delay(10);
  Serial.println(distance);
  delay(1000);
  if (distance > 20) // Condition For Absence Of Obstacle
  { 
    digitalWrite(fwdright7, HIGH); // Move Forward
    digitalWrite(revright6,LOW);
    digitalWrite(fwdleft5, HIGH);
    digitalWrite(revleft4, LOW);
    showNeutral();
  }

  if (distance < 20) // Condition For Presence Of Obstacle
  { he();
    digitalWrite(fwdright7, LOW); //Stop
    digitalWrite(revright6, LOW);
    digitalWrite(fwdleft5, LOW);
    digitalWrite(revleft4, LOW);
    delay(500);
    digitalWrite(fwdright7, LOW); // Move Backward
    digitalWrite(revright6, HIGH);
    digitalWrite(fwdleft5, LOW);
    digitalWrite(revleft4, HIGH);
    delay(500);
    he();
    digitalWrite(fwdright7, LOW);  //Stop
    digitalWrite(revright6, LOW);
    digitalWrite(fwdleft5, LOW);
    digitalWrite(revleft4, LOW);
    delay(100);
    left1();
     delay(500);
    right1();
    digitalWrite(fwdright7, HIGH); // Move Left
    digitalWrite(revright6,LOW);
    digitalWrite(revleft4, HIGH);
    digitalWrite(fwdleft5, LOW);
    delay(500);
   
  }

}



Post a Comment

0 Comments