Project showcase
Obstale Avoiding Robot  Using l298d

Obstale Avoiding Robot Using l298d © GPL3+

This robot will avoid any obstacle that comes in its way and it's very easy to make.

  • 6,724 views
  • 2 comments
  • 20 respects

Components and supplies

Apps and online services

About this project

Code

obstacle avoiding robotArduino
just use the arduino app
//for this code you need to install the NewPing librairies to your arduino software
#include <NewPing.h>  


#define TRIGGER_PIN  3  
#define ECHO_PIN         2   
#define MAX_DISTANCE 100


const int Motor1Pin1 = 8;
const int Motor1Pin2 = 9;
const int Motor2Pin2 =10;
const int Motor2Pin1 = 11;




NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);


unsigned int time;                
int distance;                     
int triggerDistance = 30;    
int fDistance;                    
int lDistance;
int rDistance;




void setup()
{
  pinMode(Motor1Pin1, OUTPUT);   
  pinMode(Motor1Pin2, OUTPUT);   
  pinMode(Motor2Pin1, OUTPUT);   
  pinMode(Motor2Pin2, OUTPUT);
}


void loop()
{
  scan();                                    
  fDistance = distance;                      
  if(fDistance < triggerDistance){    
        moveBackward();                          
        delay(1000);
        moveRight();                             
        delay(500);
        moveStop();                              
        scan();                                 
        rDistance = distance;                    
        moveLeft();
        delay(1000);                             
        moveStop();                             
        scan();                                 
        lDistance = distance;                   
        if(lDistance < rDistance){               
          moveRight();                          
          delay(200);
          moveForward();                        
        }
        else{
          moveForward();                         
        }
  }
  else{
        moveForward();                          
  }
}


void scan(){
  time = sonar.ping();                      
  distance = time / US_ROUNDTRIP_CM;   
  if(distance == 0){                        
        distance = 100;                         
  }
  delay(10);
}


void moveBackward(){
  digitalWrite(Motor1Pin1, LOW);
  digitalWrite(Motor1Pin2, HIGH);
  digitalWrite(Motor2Pin1, LOW);
  digitalWrite(Motor2Pin2, HIGH);
}


void moveForward(){
  digitalWrite(Motor1Pin1, LOW);
  digitalWrite(Motor1Pin2, HIGH);
  digitalWrite(Motor2Pin1, LOW);
  digitalWrite(Motor2Pin2, HIGH);
}


void moveRight(){
  digitalWrite(Motor1Pin1, LOW);
  digitalWrite(Motor1Pin2, HIGH);
  digitalWrite(Motor2Pin1, LOW);
  digitalWrite(Motor2Pin2, HIGH);
}


void moveLeft(){
  digitalWrite(Motor1Pin1, LOW);
  digitalWrite(Motor1Pin2, HIGH);
  digitalWrite(Motor2Pin1, LOW);
  digitalWrite(Motor2Pin2, HIGH);
}


void moveStop(){
  digitalWrite(Motor1Pin1, LOW);
  digitalWrite(Motor1Pin2, LOW);
  digitalWrite(Motor2Pin1, LOW);
  digitalWrite(Motor2Pin2, LOW);
}

Schematics

basics of l2998
L2998 hffoywrnnw
motor schematic
Motor schematic ix5pqdsjsx

Comments

Similar projects you might like

Obstacles Avoiding Robot With Servo Motor

Project tutorial by Sora JY

  • 6,606 views
  • 3 comments
  • 20 respects

VEPCRo - Vertical External Pole Climbing Robot

Project showcase by Pramod C Wickramasinghe

  • 5,854 views
  • 10 comments
  • 30 respects

How to Make Obstacle Avoiding Robot

Project tutorial by Darwin Dela Cruz

  • 25,343 views
  • 9 comments
  • 37 respects

Project 1: 2WD Obstacle Avoiding Robot

Project showcase by HDA Robotics

  • 7,573 views
  • 6 comments
  • 17 respects

Smart Face Tracking Robot Car

Project tutorial by Sebastian Hernandez

  • 5,967 views
  • 5 comments
  • 36 respects
Add projectSign up / Login