Skip to main content

Human Follower Car| Arduino Uno Projects| Topped With Fun| Following Car

 Circuit Diagram:


Code:

//Install The Libraries AF Motor driver, NewPing and Servo From Sketch->Include Library->Manage Libraries

//Topped With FUn

//https://www.youtube.com/channel/UCN5Ed7vtag-l_ilc20sazDA


#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() {

  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() {


  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>=5 && distance<=20)&&(Left_Value==1)){

  Motor1.setSpeed(100);

  Motor1.run(FORWARD);

  Motor2.setSpeed(100);

  Motor2.run(FORWARD);

  Motor3.setSpeed(100);

  Motor3.run(FORWARD);

  Motor4.setSpeed(100);

  Motor4.run(FORWARD);

}else if((Right_Value==0) && (Left_Value==1)) {

  Motor1.setSpeed(100);

  Motor1.run(FORWARD);

  Motor2.setSpeed(100);

  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(100);

  Motor3.run(FORWARD);

  Motor4.setSpeed(100);

  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 < 5) {

  Motor1.setSpeed(0);

  Motor1.run(RELEASE);

  Motor2.setSpeed(0);

  Motor2.run(RELEASE);

  Motor3.setSpeed(0);

  Motor3.run(RELEASE);

  Motor4.setSpeed(0);

  Motor4.run(RELEASE);

  }

 }

Comments

Popular posts from this blog

IOT Based Heart Rate And SpO2 Tracker With NodeMCU MAX30100 And Blynk Application With Code Diagram

Circuit Diagram: SCL PIN - D1 , SDA PIN - D2 , INT PIN - D0 Code: #include <Wire.h> #include "MAX30100_PulseOximeter.h" #define BLYNK_PRINT Serial #include <Blynk.h> #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include "Adafruit_GFX.h" #include "OakOLED.h" #define REPORTING_PERIOD_MS 1000 OakOLED oled; char auth[] = "*********************";             // Authentication Token Sent by Blynk char ssid[] = "********************";        //WiFi SSID char pass[] = "*********************";        //WiFi Password // Connections : SCL PIN - D1 , SDA PIN - D2 , INT PIN - D0 PulseOximeter pox; float BPM, SpO2; uint32_t tsLastReport = 0; const unsigned char bitmap [] PROGMEM = {   0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x18, 0x00, 0x0f, 0xe0, 0x7f, 0x00, 0x3f, 0xf9, 0xff, 0xc0,   0x7f, 0xf9, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xf0,  ...

How To Make Wi-Fi Car With NodeMCU| NodeMCU Projects| Topped With Fun

Circuit Diagram:  Code: #define ENA   14           // Enable/speed motors Right        GPIO14(D5) #define ENB   12            // Enable/speed motors Left         GPIO12(D6) #define IN_1  15            // L298N in1 motors Right           GPIO15(D8) #define IN_2  13            // L298N in2 motors Right           GPIO13(D7) #define IN_3  2             // L298N in3 motors Left            GPIO2(D4) #define IN_4  0             // L298N in4 motors Left            GPIO0(D3) #include <ESP8266WiFi.h> #include <WiFiClient.h>  #include <ESP8266WebServer.h> String command;  ...

How To Make A Self Balancing Car With MPU-6050| Arduino Uno Projects| Topped With Fun |MPU-6050

Library Download Link: https://drive.google.com/drive/folders/1d5Dg7tuMVFh8FhXe-vtYRD3qvV5eomoy?usp=sharing Circuit Diagram: Code: #include <PID_v1.h> #include <LMotorController.h> #include "I2Cdev.h" #include "MPU6050_6Axis_MotionApps20.h" #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif #define MIN_ABS_SPEED 30 MPU6050 mpu; // MPU control/status vars bool dmpReady = false; // set true if DMP init was successful uint8_t mpuIntStatus; // holds actual interrupt status byte from MPU uint8_t devStatus; // return status after each device operation (0 = success, !0 = error) uint16_t packetSize; // expected DMP packet size (default is 42 bytes) uint16_t fifoCount; // count of all bytes currently in FIFO uint8_t fifoBuffer[64]; // FIFO storage buffer // orientation/motion vars Quaternion q; // [w, x, y, z] quaternion container VectorFloat gravity; // [x, y, z] gravity vector float ypr[3]; // [yaw, pitch, roll] yaw/p...