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

Code With Firebase

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

Code With Firebase

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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