first commit

This commit is contained in:
Jérôme Delacotte
2025-03-06 11:15:32 +01:00
commit 7b30d6e298
5276 changed files with 2108927 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
/*
Make sure your Firebase project's '.read' and '.write' rules are set to 'true'.
Ignoring this will prevent the MCU from communicating with the database.
For more details- https://github.com/Rupakpoddar/ESP32Firebase
Download the Android app from- https://play.google.com/store/apps/details?id=com.rupak.firebaseremote
*/
#include <ESP32Firebase.h>
#define _SSID "ENTER HERE" // Your WiFi SSID
#define _PASSWORD "ENTER HERE" // Your WiFi Password
#define REFERENCE_URL "ENTER HERE" // Your Firebase project reference url
#define M1A 3 // D5: Output 1 for motor driver
#define M1B 4 // D6: Output 2 for motor driver
#define M2A 5 // D7: Output 3 for motor driver
#define M2B 6 // D8: Output 4 for motor driver
#define TURN_DELAY 100
#define FORWARD_BACKWARD_DELAY 500
Firebase firebase(REFERENCE_URL);
void setup() {
Serial.begin(115200);
pinMode(M1A, OUTPUT);
pinMode(M1B, OUTPUT);
pinMode(M2A, OUTPUT);
pinMode(M2B, OUTPUT);
digitalWrite(M1A, LOW);
digitalWrite(M1B, LOW);
digitalWrite(M2A, LOW);
digitalWrite(M2B, LOW);
// pinMode(LED_BUILTIN, OUTPUT);
// digitalWrite(LED_BUILTIN, LOW);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(1000);
// Connect to WiFi
Serial.println();
Serial.println();
Serial.print("Connecting to: ");
Serial.println(_SSID);
WiFi.begin(_SSID, _PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print("-");
}
Serial.println("");
Serial.println("WiFi Connected");
// Print the IP address
Serial.print("IP Address: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
// digitalWrite(LED_BUILTIN, HIGH);
}
void loop() {
int command = firebase.getInt("cmd/Robot"); // Get data from database.
if(command == 0){ // STOP
digitalWrite(M1A, LOW);
digitalWrite(M1B, LOW);
digitalWrite(M2A, LOW);
digitalWrite(M2B, LOW);
}
if(command == 1){ // FORWARD
digitalWrite(M1A, HIGH);
digitalWrite(M2A, HIGH);
delay(FORWARD_BACKWARD_DELAY);
digitalWrite(M1A, LOW);
digitalWrite(M2A, LOW);
}
if(command == 2){ // BACKWARD
digitalWrite(M1B, HIGH);
digitalWrite(M2B, HIGH);
delay(FORWARD_BACKWARD_DELAY);
digitalWrite(M1B, LOW);
digitalWrite(M2B, LOW);
}
if(command == 3){ // LEFT
digitalWrite(M1B, HIGH);
digitalWrite(M2A, HIGH);
delay(TURN_DELAY);
digitalWrite(M1B, LOW);
digitalWrite(M2A, LOW);
}
if(command == 4){ // RIGHT
digitalWrite(M1A, HIGH);
digitalWrite(M2B, HIGH);
delay(TURN_DELAY);
digitalWrite(M1A, LOW);
digitalWrite(M2B, LOW);
}
}