Skip to main content

How To Make A Edge Detector Bluetooth Car| Edge Detector Car| Topped With Fun

Circuit Diagram:



Code:

//Include AF Motor.h library before uploading the sketch

#include <AFMotor.h>

#define IR1 A0

#define IR2 A1



AF_DCMotor motor1(1, MOTOR12_1KHZ); 

AF_DCMotor motor2(2, MOTOR12_1KHZ); 

AF_DCMotor motor3(3, MOTOR34_1KHZ);

AF_DCMotor motor4(4, MOTOR34_1KHZ);



char command; 


void setup() 

{       

  Serial.begin(9600);  //Set the baud rate to your Bluetooth module.

  pinMode(IR1, INPUT);

  pinMode(IR2, INPUT);

    

}


void loop(){

  

  /*Serial.print("Right");

    Serial.println(Right);

    Serial.print("Left");

    Serial.println(Left);*/

    

  if(Serial.available() > 0){ 

    command = Serial.read(); 

    Stop(); 

    

    Serial.println(command);

    

    

    switch(command){

    case 'F':  

      forward();

      break;

    case 'B':  

       back();

      break;

    case 'L':  

      left();

      break;

    case 'R':

      right();

      break;

    }

    

    

   

    int Right = digitalRead(IR1);

    int Left = digitalRead(IR2);

    

    if(Right == 1 || Left == 1) {

      motor1.setSpeed(255);

      motor1.run(BACKWARD);

      motor2.setSpeed(255);

      motor2.run(BACKWARD);

      motor3.setSpeed(255);

      motor3.run(BACKWARD);

      motor4.setSpeed(255);

      motor4.run(BACKWARD);

      

    }else if(Right == 0 || Left == 0) {

      command = Serial.read();

    }

 }

}


void forward()

{

  motor1.setSpeed(150); //Define maximum Speed

  motor1.run(FORWARD); //rotate the motor clockwise

  motor2.setSpeed(150); //Define maximum Speed

  motor2.run(FORWARD); //rotate the motor clockwise

  motor3.setSpeed(150);//Define maximum Speed

  motor3.run(FORWARD); //rotate the motor clockwise

  motor4.setSpeed(150);//Define maximum Speed

  motor4.run(FORWARD); //rotate the motor clockwise

}


void back()

{

  motor1.setSpeed(150); //Define maximum Speed

  motor1.run(BACKWARD); //rotate the motor anti-clockwise

  motor2.setSpeed(150); //Define maximum Speed

  motor2.run(BACKWARD); //rotate the motor anti-clockwise

  motor3.setSpeed(150); //Define maximum Speed

  motor3.run(BACKWARD); //rotate the motor anti-clockwise

  motor4.setSpeed(150); //Define maximum Speed

  motor4.run(BACKWARD); //rotate the motor anti-clockwise

}


void left()

{

  motor1.setSpeed(200); //Define maximum Speed

  motor1.run(BACKWARD); //rotate the motor anti-clockwise

  motor2.setSpeed(200); //Define maximum Speed

  motor2.run(BACKWARD); //rotate the motor anti-clockwise

  motor3.setSpeed(200); //Define maximum Speed

  motor3.run(FORWARD);  //rotate the motor clockwise

  motor4.setSpeed(200); //Define maximum Speed

  motor4.run(FORWARD);  //rotate the motor clockwise

}


void right()

{

  motor1.setSpeed(200); //Define maximum Speed

  motor1.run(FORWARD); //rotate the motor clockwise

  motor2.setSpeed(200); //Define maximum Speed

  motor2.run(FORWARD); //rotate the motor clockwise

  motor3.setSpeed(200); //Define maximum Speed

  motor3.run(BACKWARD); //rotate the motor anti-clockwise

  motor4.setSpeed(200); //Define maximum Speed

  motor4.run(BACKWARD); //rotate the motor anti-clockwise


void Stop()

{

  motor1.setSpeed(0); //Define minimum Speed

  motor1.run(RELEASE); //stop the motor when release the button

  motor2.setSpeed(0); //Define minimum Speed

  motor2.run(RELEASE); //rotate the motor clockwise

  motor3.setSpeed(0); //Define minimum Speed

  motor3.run(RELEASE); //stop the motor when release the button

  motor4.setSpeed(0); //Define minimum Speed

  motor4.run(RELEASE); //stop the motor when release the button

}

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...