Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Comment this out to disable prints and save space */
- #define BLYNK_PRINT Serial
- #include <WiFi.h>
- #include <WiFiClient.h>
- #include <BlynkSimpleEsp32.h>
- #include <ESP32Servo.h>
- Servo servo1;
- BlynkTimer timer;
- //Pins Connections:
- #define soil_moisture_PIN 35 //
- #define LOW_indicator_PIN 3 //21 //
- #define HIGH_indicator_PIN 19 //
- #define relay_1_PIN 4 // Water Pump
- #define relay_2_PIN 21 //18 // LED Strip
- #define servo_PIN 13 //
- #define LDR_PIN 33 //
- #define redLED_PIN 25 //
- #define blueLED_PIN 26 //
- // You should get Auth Token in the Blynk App.
- // Go to the Project Settings (nut icon).
- char auth[] = "tg00tBqfJZA1BCOli4ztyyhvffJQ3-N6";
- // Your WiFi credentials.
- // Set password to "" for open networks.
- char ssid[] = "network";
- char pass[] = "123456789";
- void sendSensor()
- {
- int value1 = analogRead(soil_moisture_PIN);
- value1 = map(value1, 4095, 0, 0, 100); // ADC 10bit ESP32 [0- 4095]/ ADC 8bit Arduino uno [0-1023]
- int value2 = digitalRead(LOW_indicator_PIN);
- int value4 = analogRead(LDR_PIN);// [0-4095]
- Serial.print(value1);
- Serial.print(" | ");
- Serial.print(value2);
- Serial.print(" | ");
- Serial.println(value4);
- int percent = 0;
- if (value2 == 0) {
- percent = 100;
- digitalWrite(redLED_PIN, 1);
- digitalWrite(blueLED_PIN, 0);
- }
- else if (value2 != 0) {
- percent = 0;
- digitalWrite(relay_1_PIN, 1); // turn off water pump
- digitalWrite(redLED_PIN, 0);
- digitalWrite(blueLED_PIN, 1);
- }
- if (value1 < 60 && value1 != 0 && percent != 0) {
- digitalWrite(relay_1_PIN, 0); // turn ON water pump
- }
- else if (value1 > 90 || percent == 0 || value1 == 0) {
- digitalWrite(relay_1_PIN, 1); // turn off water pump
- }
- if (value4 < 700) {
- digitalWrite(relay_2_PIN, 0); // turn ON RGB
- }
- else if (value4 > 700) {
- digitalWrite(relay_2_PIN, 1);
- Serial.println("#8");
- }
- Blynk.virtualWrite(V5, value1);
- Blynk.virtualWrite(V6, percent);
- }
- void setup()
- {
- // Debug console
- Serial.begin(9600);
- ESP32PWM::allocateTimer(0);
- ESP32PWM::allocateTimer(1);
- ESP32PWM::allocateTimer(2);
- ESP32PWM::allocateTimer(3);
- servo1.setPeriodHertz(50);// Standard 50hz servo
- servo1.attach(servo_PIN, 500, 2400);
- pinMode(soil_moisture_PIN, INPUT);
- pinMode(LOW_indicator_PIN, INPUT);
- pinMode(LDR_PIN, INPUT);
- pinMode(relay_1_PIN, OUTPUT);
- pinMode(relay_2_PIN, OUTPUT);
- pinMode(redLED_PIN, OUTPUT);
- pinMode(blueLED_PIN, OUTPUT);
- digitalWrite(relay_1_PIN, 1);
- digitalWrite(relay_2_PIN, 1);
- digitalWrite(redLED_PIN, 0);
- digitalWrite(blueLED_PIN, 0);
- Blynk.begin(auth, ssid, pass);
- timer.setInterval(2000L, sendSensor);
- }
- void loop()
- {
- Blynk.run();
- timer.run();
- }
- BLYNK_WRITE(V3)
- {
- servo1.write(param.asInt());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement