Firebase Realtime Database + Kodular + ESP32 control servo motor

Hi, I am doing a project where I need to control the servo motor from an application. All the interface was made in kodular and I am using the firebase REALTIME database.
It works from switches. The microcontroller used is a 30 pin ESP32.
The logic worked with a relay module, but when I made one using the servo motor logic it didn't work.
All the information of the logic will be below.
Thank you.


#include <FirebaseESP32.h>
#include <WiFi.h>
#include <ESP32Servo.h>
#include <analogWrite.h>
#include <ESP32Tone.h>
#include <ESP32PWM.h>

Servo motor;

#define FIREBASE_HOST "-default-rtdb.firebaseio.com"
#define FIREBASE_AUTH "C81nK6EDkRyDKsw8Zb7B76cwXDn0GnsrvlSs"
#define WIFI_SSID "R"
#define WIFI_PASSWORD "12345678"

FirebaseData firebaseData;
int L1= 26;
int pos;

String Switch1;

void setup() {

pinMode(L1, OUTPUT);
motor.write(0);
pos=0;
delay(500);
digitalWrite(L1,HIGH);

Serial.begin(115200);

WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Wifi");
while(WiFi.status() !=WL_CONNECTED)

{
Serial.print(".");
delay(100);

}
Serial.println();
Serial.print("IP");
Serial.println(WiFi.localIP());
Serial.println();
Serial.println("------------");
Serial.println("carregando...");
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.reconnectWiFi(true);
Firebase.setReadTimeout(firebaseData, 1000 * 60);
Firebase.setwriteSizeLimit(firebaseData,"tiny");
}

void loop() {
if(Firebase.getString(firebaseData,"/SWITCH/L1")){
Switch1= firebaseData.stringData();}
if (Firebase.getString(firebaseData,"/SWITCH/L2")){
Switch1= firebaseData.stringData();}
if (Firebase.getString(firebaseData,"/SWITCH/L3")){
Switch1= firebaseData.stringData();}

if (Switch1== "0" && pos == 0) {
for (pos = 0; pos < 120; pos = pos + 1)
digitalWrite(L1,HIGH);
}
else if (Switch1=="1" && pos == 120) {
for (pos = 120; pos > 0; pos = pos - 1)
digitalWrite(L1,LOW);
}

}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.