0% found this document useful (0 votes)
11 views

Code With Firebase

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Code With Firebase

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

CODE WITH FIREBASE :

#include <ESP8266WiFi.h>
#include <FirebaseESP8266.h>

// Replace with your network credentials


const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

// Replace with your Firebase project credentials


#define FIREBASE_HOST "YOUR_FIREBASE_HOST"
#define FIREBASE_AUTH "YOUR_FIREBASE_AUTH"

// Define the Firebase data object


FirebaseData firebaseData;

const int trigFront = 2; // Trig pin for front sensor


const int echoFront = 6; // Echo pin for front sensor
const int trigBack = 3; // Trig pin for back sensor
const int echoBack = 7; // Echo pin for back sensor
const int trigLeft = 4; // Trig pin for left sensor
const int echoLeft = 8; // Echo pin for left sensor
const int trigRight = 5; // Trig pin for right sensor
const int echoRight = 9; // Echo pin for right sensor

const int redLED = 10; // Pin for red LED


const int greenLED = 11; // Pin for green LED

long duration;
int distanceFront, distanceBack, distanceLeft, distanceRight;

int targetDistanceFront, targetDistanceLeft, targetDistanceRight;


void setup() {
Serial.begin(9600);

WiFi.begin(ssid, password);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("Connected to Wi-Fi");

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.reconnectWiFi(true);

pinMode(trigFront, OUTPUT);
pinMode(echoFront, INPUT);

pinMode(trigBack, OUTPUT);
pinMode(echoBack, INPUT);

pinMode(trigLeft, OUTPUT);
pinMode(echoLeft, INPUT);

pinMode(trigRight, OUTPUT);
pinMode(echoRight, INPUT);

pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
}
void loop() {
// Read target distances from Firebase
if (Firebase.getInt(firebaseData, "/distanceFront")) {
targetDistanceFront = firebaseData.intData();
} else {
Serial.println("Failed to get front distance from Firebase");
Serial.println(firebaseData.errorReason());
}

if (Firebase.getInt(firebaseData, "/distanceLeft")) {
targetDistanceLeft = firebaseData.intData();
} else {
Serial.println("Failed to get left distance from Firebase");
Serial.println(firebaseData.errorReason());
}

if (Firebase.getInt(firebaseData, "/distanceRight")) {
targetDistanceRight = firebaseData.intData();
} else {
Serial.println("Failed to get right distance from Firebase");
Serial.println(firebaseData.errorReason());
}

distanceFront = getDistance(trigFront, echoFront);


Serial.print("Distance Front: ");
Serial.println(distanceFront);

distanceBack = getDistance(trigBack, echoBack);


Serial.print("Distance Back: ");
Serial.println(distanceBack);

distanceLeft = getDistance(trigLeft, echoLeft);


Serial.print("Distance Left: ");
Serial.println(distanceLeft);

distanceRight = getDistance(trigRight, echoRight);


Serial.print("Distance Right: ");
Serial.println(distanceRight);

if (distanceFront == targetDistanceFront && distanceLeft == targetDistanceLeft


&& distanceRight == targetDistanceRight) {
digitalWrite(greenLED, HIGH);
digitalWrite(redLED, LOW);
} else {
digitalWrite(greenLED, LOW);
digitalWrite(redLED, HIGH);
}

delay(1000); // Delay to avoid excessive serial printing


}

int getDistance(int trigPin, int echoPin) {


digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);


int distance = duration * 0.034 / 2; // Convert duration to cm
return distance;
}

You might also like