RODO [ADVANCED HUMAN FOLLOWING ROBOT]

by prottoyratulsarker in Circuits > Robots

71 Views, 0 Favorites, 0 Comments

RODO [ADVANCED HUMAN FOLLOWING ROBOT]

USER_SCOPED_TEMP_DATA_orca-image-1596464228980_6696056301470015023.jpeg

RODO

//ADVANCED HUMAN \OBSTACLES \ OBJECT FOLLOWING ROBOT 🤖.

//BASED ON ARDUINO UNO R3 AND MOTOR DRIVER.//CODE FOR OPERATING THIS ROBOT 🤖 :

// First of all install the AF Motor driver, NewPing and Servo Library file .

LINK FOR ADAFRUIT MOTOR DRIVE SHIELD & NEWPING LIBRARY :

https://prottoy.godaddysites.com/app-universe%F0%9F%8C%90%E2%AD%90%F0%9F%8C%91%E2%9A%A1%E2%9C%B4%EF%B8%8F%E2%98%80%EF%B8%8F%F0%9F%8C%A6%EF%B8%8F

[ BEFORE DOWNLOAD THIS PROGRAM / CODE / SKETCH IN ARDUINO BOARD , ❌ UNPIN SERVO MOTOR CONNECTION / OPEN SERVO MOTOR CONNECTION. ]

//Then download this file in ARDUINO.

#include<NewPing.h>
#include<Servo.h>
#include<AFMotor.h>
#define RIGHT A2
#define LEFT A3
#define TRIGGER_PIN A1
#define ECHO_PIN A0
#define MAX_DISTANCE 100
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor Motor1(1,MOTOR12_1KHZ);
AF_DCMotor Motor2(2,MOTOR12_1KHZ);
AF_DCMotor Motor3(3,MOTOR34_1KHZ);
AF_DCMotor Motor4(4,MOTOR34_1KHZ);
Servo myservo;
int pos =0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
myservo.attach(10);
{
for(pos = 90; pos <= 180; pos += 1){
  myservo.write(pos);
  delay(15);
} for(pos = 180; pos >= 0; pos-= 1) {
  myservo.write(pos);
  delay(15);
}for(pos = 0; pos<=90; pos += 1) {
  myservo.write(pos);
  delay(15);
}
}
pinMode(RIGHT, INPUT);
pinMode(LEFT, INPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
  delay(50);
 unsigned int distance = sonar.ping_cm();
Serial.print("distance");
Serial.println(distance);
int Right_Value = digitalRead(RIGHT);
int Left_Value = digitalRead(LEFT);
Serial.print("RIGHT");
Serial.println(Right_Value);
Serial.print("LEFT");
Serial.println(Left_Value);
if((Right_Value==1) && (distance>=10 && distance<=30)&&(Left_Value==1)){
  Motor1.setSpeed(120);
  Motor1.run(FORWARD);
  Motor2.setSpeed(120);
  Motor2.run(FORWARD);
  Motor3.setSpeed(120);
  Motor3.run(FORWARD);
  Motor4.setSpeed(120);
  Motor4.run(FORWARD);
}else if((Right_Value==0) && (Left_Value==1)) {
  Motor1.setSpeed(200);
  Motor1.run(FORWARD);
  Motor2.setSpeed(200);
  Motor2.run(FORWARD);
  Motor3.setSpeed(100);
  Motor3.run(BACKWARD);
  Motor4.setSpeed(100);
  Motor4.run(BACKWARD);
}else if((Right_Value==1)&&(Left_Value==0)) {
  Motor1.setSpeed(100);
  Motor1.run(BACKWARD);
  Motor2.setSpeed(100);
  Motor2.run(BACKWARD);
  Motor3.setSpeed(200);
  Motor3.run(FORWARD);
  Motor4.setSpeed(200);
  Motor4.run(FORWARD);
}else if((Right_Value==1)&&(Left_Value==1)) {
  Motor1.setSpeed(0);
  Motor1.run(RELEASE);
  Motor2.setSpeed(0);
  Motor2.run(RELEASE);
  Motor3.setSpeed(0);
  Motor3.run(RELEASE);
  Motor4.setSpeed(0);
  Motor4.run(RELEASE);
}else if(distance > 1 && distance < 10) {
  Motor1.setSpeed(0);
  Motor1.run(RELEASE);
  Motor2.setSpeed(0);
  Motor2.run(RELEASE);
  Motor3.setSpeed(0);
  Motor3.run(RELEASE);
  Motor4.setSpeed(0);
  Motor4.run(RELEASE);
  }
 }

Supplies

CODE FOR OPERATING THIS ROBOT 🤖 :

received_692582481324802.jpeg

IT'S OPERATE BY PROGRAM. FIRST INSTALL IT IN BOARD , IT'S CONTROL ROBOT 🤖.

FIRST INSTALL ADAFRUIT MOTOR DRIVE SHIELD & NEWPING LIBRARY .

LIBRARY LINK :

https://prottoy.godaddysites.com/app-universe%F0%9F%8C%90%E2%AD%90%F0%9F%8C%91%E2%9A%A1%E2%9C%B4%EF%B8%8F%E2%98%80%EF%B8%8F%F0%9F%8C%A6%EF%B8%8F

[ BEFORE DOWNLOAD THIS PROGRAM \ SKETCH \ CODE IN BOARD , ❌ UNPIN SERVO MOTOR \ OPEN SERVO MOTOR LINE ]

CODE FOR THIS ROBOT :

PROGRAM 01 :

[
<br>
//PROTTOY
// FIRST OF ALL INSTALL⚙️ THE AFMOTOR & NEWPING LIBRARY THEN DOWNLOAD THE SKETCH IN BOARD//
// FOR DOWNLOADING THIS PROGRAM FIRST DOWNLOAD⚡ THE ADAFRUIT MOTOR DRIVER, NEWPING AND SERVO LIBRARY ZIP FILE //
// THEN GO TO SKECTH >> INCLUDE LIBRARY >> ADD .ZIP LIBRARY >> SELECT THE DOWNLOADED ZIP FILE >> DONE👍🏻) //
// PROTTOY// 
<br>
]
#include<NewPing.h>
#include<Servo.h>
#include<AFMotor.h>
#define RIGHT A2
#define LEFT A3
#define TRIGGER_PIN A1
#define ECHO_PIN A0
#define MAX_DISTANCE 100
  
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor Motor1(1,MOTOR12_1KHZ);
AF_DCMotor Motor2(2,MOTOR12_1KHZ);
AF_DCMotor Motor3(3,MOTOR34_1KHZ);
AF_DCMotor Motor4(4,MOTOR34_1KHZ);
Servo myservo;
 
int pos =0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
myservo.attach(10);
{
for(pos = 90; pos <= 180; pos += 1){
  myservo.write(pos);
  delay(15);
} for(pos = 180; pos >= 0; pos-= 1) {
  myservo.write(pos);
  delay(15);
}for(pos = 0; pos<=90; pos += 1) {
  myservo.write(pos);
  delay(15);
}
}
pinMode(RIGHT, INPUT);
pinMode(LEFT, INPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
  delay(50);
 unsigned int distance = sonar.ping_cm();
Serial.print("distance");
Serial.println(distance);
int Right_Value = digitalRead(RIGHT);
int Left_Value = digitalRead(LEFT);
Serial.print("RIGHT");
Serial.println(Right_Value);
Serial.print("LEFT");
Serial.println(Left_Value);
if((Right_Value==1) && (distance>=10 && distance<=30)&&(Left_Value==1)){
  Motor1.setSpeed(120);
  Motor1.run(FORWARD);
  Motor2.setSpeed(120);
  Motor2.run(FORWARD);
  Motor3.setSpeed(120);
  Motor3.run(FORWARD);
  Motor4.setSpeed(120);
  Motor4.run(FORWARD);
}else if((Right_Value==0) && (Left_Value==1)) {
  Motor1.setSpeed(200);
  Motor1.run(FORWARD);
  Motor2.setSpeed(200);
  Motor2.run(FORWARD);
  Motor3.setSpeed(100);
  Motor3.run(BACKWARD);
  Motor4.setSpeed(100);
  Motor4.run(BACKWARD);
}else if((Right_Value==1)&&(Left_Value==0)) {
  Motor1.setSpeed(100);
  Motor1.run(BACKWARD);
  Motor2.setSpeed(100);
  Motor2.run(BACKWARD);
  Motor3.setSpeed(200);
  Motor3.run(FORWARD);
  Motor4.setSpeed(200);
  Motor4.run(FORWARD);
}else if((Right_Value==1)&&(Left_Value==1)) {
  Motor1.setSpeed(0);
  Motor1.run(RELEASE);
  Motor2.setSpeed(0);
  Motor2.run(RELEASE);
  Motor3.setSpeed(0);
  Motor3.run(RELEASE);
  Motor4.setSpeed(0);
  Motor4.run(RELEASE);
}else if(distance > 1 && distance < 10) {
  Motor1.setSpeed(0);
  Motor1.run(RELEASE);
  Motor2.setSpeed(0);
  Motor2.run(RELEASE);
  Motor3.setSpeed(0);
  Motor3.run(RELEASE);
  Motor4.setSpeed(0);
  Motor4.run(RELEASE);
  }
 }

PROGRAM 02 :

#define trigpin 2
#define echopin 3
int m11=4;
int m12=5;
int m21=6;
int m22=7;
void setup()
{
  pinMode(m11,OUTPUT);
  pinMode(m12,OUTPUT);
  pinMode(m21,OUTPUT);
  pinMode(m22,OUTPUT);
  pinMode(trigpin,OUTPUT);
  pinMode(echopin,INPUT);
}
void loop()
{
  int duration,distance;
  digitalWrite(trigpin,HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigpin,LOW);
  duration=pulseIn(echopin,HIGH);
  distance=(duration/2)/29.1;
  if(distance>=40)
  {
    digitalWrite(m11,LOW);
    digitalWrite(m11,LOW);
    digitalWrite(m11,LOW);
    digitalWrite(m11,LOW);
    delay(500);
    
    
  }
 else
  {
    if(distance>=25)
    {
     digitalWrite(m11,HIGH);
    digitalWrite(m11,LOW);
    digitalWrite(m11,HIGH);
    digitalWrite(m11,LOW);
    delay(400);
    
    
  }
  else
 {
  
   digitalWrite(m11,LOW);
    digitalWrite(m11,HIGH);
    digitalWrite(m11,LOW);
    digitalWrite(m11,HIGH);
    delay(400);
  }
 }
}

CIRCUIT DIAGRAM 📈 :

received_598986017653723.jpeg
received_218327716266530.jpeg

CIRCUIT DIAGRAM 📈📊📉📝📈📊📉 FOR PERFECTLY 👌 MAKE ROBOT 🤖 . THAT OPERATE BY GIVEN PROGRAM.

[//PROTTOY//

// FIRST OF ALL INSTALL⚙️ THE AFMOTOR & NEWPING LIBRARY THEN DOWNLOAD THE SKETCH IN BOARD//// FOR DOWNLOADING THIS PROGRAM FIRST DOWNLOAD⚡ THE ADAFRUIT MOTOR DRIVER, NEWPING AND SERVO LIBRARY ZIP FILE //

// LINK FOR ADAFRUIT MOTOR DRIVE SHEILD & NEWPING LIBRARY :

https://prottoy.godaddysites.com/app-universe%F0%9F%8C%90%E2%AD%90%F0%9F%8C%91%E2%9A%A1%E2%9C%B4%EF%B8%8F%E2%98%80%EF%B8%8F%F0%9F%8C%A6%EF%B8%8F //

// THEN GO TO SKECTH INCLUDE LIBRARY ADD .ZIP LIBRARY SELECT THE DOWNLOADED ZIP FILE DONE👍🏻) //

// PROTTOY//]

//PROTTOY//
#include<NewPing.h>
#include<Servo.h>
#include<AFMotor.h>
#define RIGHT A2
#define LEFT A3
#define TRIGGER_PIN A1
#define ECHO_PIN A0
#define MAX_DISTANCE 100
  
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor Motor1(1,MOTOR12_1KHZ);
AF_DCMotor Motor2(2,MOTOR12_1KHZ);
AF_DCMotor Motor3(3,MOTOR34_1KHZ);
AF_DCMotor Motor4(4,MOTOR34_1KHZ);
Servo myservo;
 
int pos =0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
myservo.attach(10);
{
for(pos = 90; pos <= 180; pos += 1){
  myservo.write(pos);
  delay(15);
} for(pos = 180; pos >= 0; pos-= 1) {
  myservo.write(pos);
  delay(15);
}for(pos = 0; pos<=90; pos += 1) {
  myservo.write(pos);
  delay(15);
}
}
pinMode(RIGHT, INPUT);
pinMode(LEFT, INPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
  delay(50);
 unsigned int distance = sonar.ping_cm();
Serial.print("distance");
Serial.println(distance);
int Right_Value = digitalRead(RIGHT);
int Left_Value = digitalRead(LEFT);
Serial.print("RIGHT");
Serial.println(Right_Value);
Serial.print("LEFT");
Serial.println(Left_Value);
if((Right_Value==1) && (distance>=10 && distance<=30)&&(Left_Value==1)){
  Motor1.setSpeed(120);
  Motor1.run(FORWARD);
  Motor2.setSpeed(120);
  Motor2.run(FORWARD);
  Motor3.setSpeed(120);
  Motor3.run(FORWARD);
  Motor4.setSpeed(120);
  Motor4.run(FORWARD);
}else if((Right_Value==0) && (Left_Value==1)) {
  Motor1.setSpeed(200);
  Motor1.run(FORWARD);
  Motor2.setSpeed(200);
  Motor2.run(FORWARD);
  Motor3.setSpeed(100);
  Motor3.run(BACKWARD);
  Motor4.setSpeed(100);
  Motor4.run(BACKWARD);
}else if((Right_Value==1)&&(Left_Value==0)) {
  Motor1.setSpeed(100);
  Motor1.run(BACKWARD);
  Motor2.setSpeed(100);
  Motor2.run(BACKWARD);
  Motor3.setSpeed(200);
  Motor3.run(FORWARD);
  Motor4.setSpeed(200);
  Motor4.run(FORWARD);
}else if((Right_Value==1)&&(Left_Value==1)) {
  Motor1.setSpeed(0);
  Motor1.run(RELEASE);
  Motor2.setSpeed(0);
  Motor2.run(RELEASE);
  Motor3.setSpeed(0);
  Motor3.run(RELEASE);
  Motor4.setSpeed(0);
  Motor4.run(RELEASE);
}else if(distance > 1 && distance < 10) {
  Motor1.setSpeed(0);
  Motor1.run(RELEASE);
  Motor2.setSpeed(0);
  Motor2.run(RELEASE);
  Motor3.setSpeed(0);
  Motor3.run(RELEASE);
  Motor4.setSpeed(0);
  Motor4.run(RELEASE);
  }
 }

LIBRARY LINK :

received_290890492195039.jpeg
received_598986017653723.jpeg
received_218327716266530.jpeg