Project showcase

Obstale Avoiding Robot Using l298 © GPL3+

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

  • 1,247 views
  • 0 comments
  • 8 respects

Components and supplies

Apps and online services

About this project

Schematics

basics of l2998
L2998 hffoywrnnw
motor schematic
Motor schematic ix5pqdsjsx

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);
}

Comments

Similar projects you might like

IR Home Automation on DFRobot's Relay Shield

Project tutorial by Techduino

  • 401 views
  • 0 comments
  • 3 respects

Sesame

Project showcase by gibatronic

  • 5,033 views
  • 7 comments
  • 12 respects

Aurdino Radar With Processing

Project in progress by Akshay6766

  • 1,519 views
  • 1 comment
  • 10 respects

Laundry IFTTT Alert

Project tutorial by danvanf

  • 878 views
  • 0 comments
  • 5 respects

Workspace Environment Monitor - enVMon

Project showcase by Team comcrazy

  • 713 views
  • 2 comments
  • 9 respects

Secure Watering System

Project in progress by Team foss-he-men

  • 355 views
  • 0 comments
  • 4 respects
Add projectSign up / Login