0% found this document useful (0 votes)
15 views3 pages

Iot Car Code

Uploaded by

talal haider
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views3 pages

Iot Car Code

Uploaded by

talal haider
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

// Include the library files

#define BLYNK_PRINT Serial


#define BLYNK_TEMPLATE_ID "TMPL62CXXjzuG"
#define BLYNK_TEMPLATE_NAME "WIFI Controlled Car"
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// Define the motor pins


#define ENA D0
#define IN1 D1
#define IN2 D2
#define IN3 D3
#define IN4 D4
#define ENB D5

// Variables for the Blynk widget values


int x = 50;
int y = 50;
int Speed;

char auth[] = "Dkge6GMSgLskgglmqNTFjZNnoDYzDHqY"; //Enter your Blynk auth token


char ssid[] = "Ferocious Beast"; //Enter your WIFI name
char pass[] = "786714714"; //Enter your WIFI passowrd

void setup() {
Serial.begin(9600);
// Initialize the Blynk library
Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);

// Set the motor pins as output pins


pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENB, OUTPUT);
}

// Get the joystick values


BLYNK_WRITE(V0) {
x = param.asInt();
}
// Get the joystick values
BLYNK_WRITE(V1) {
y = param.asInt();
}
// Get the slider values
BLYNK_WRITE(V2) {
Speed = param.asInt();
}

// Check these values using the IF condition


void smartcar() {
if (y > 70) {
carForward();
Serial.println("carForward");
} else if (y < 30) {
carBackward();
Serial.println("carBackward");
} else if (x < 30) {
carLeft();
Serial.println("carLeft");
} else if (x > 70) {
carRight();
Serial.println("carRight");
} else if (x < 70 && x > 30 && y < 70 && y > 30) {
carStop();
Serial.println("carstop");
}
}

void loop() {
Blynk.run(); // Run the blynk function
smartcar(); // Call the main function
}

/**************Motor movement functions*****************/


void carForward() {
analogWrite(ENA, Speed);
analogWrite(ENB, Speed);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}

void carBackward() {
analogWrite(ENA, Speed);
analogWrite(ENB, Speed);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}

void carLeft() {
analogWrite(ENA, Speed);
analogWrite(ENB, Speed);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}

void carRight() {
analogWrite(ENA, Speed);
analogWrite(ENB, Speed);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}

void carStop() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}

You might also like