Advertisement
safwan092

Untitled

Dec 11th, 2021
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. /* Comment this out to disable prints and save space */
  2. #define BLYNK_PRINT Serial
  3.  
  4. #include <WiFi.h>
  5. #include <WiFiClient.h>
  6. #include <BlynkSimpleEsp32.h>
  7. #include <ESP32Servo.h>
  8.  
  9. Servo servo1;
  10.  
  11. BlynkTimer timer;
  12.  
  13. //Pins Connections:
  14. #define soil_moisture_PIN 35 //
  15. #define LOW_indicator_PIN 3 //21 //
  16. #define HIGH_indicator_PIN 19 //
  17. #define relay_1_PIN 4 // Water Pump
  18. #define relay_2_PIN 21 //18 // LED Strip
  19. #define servo_PIN 13 //
  20. #define LDR_PIN 33 //
  21. #define redLED_PIN 25 //
  22. #define blueLED_PIN 26 //
  23. // You should get Auth Token in the Blynk App.
  24. // Go to the Project Settings (nut icon).
  25. char auth[] = "tg00tBqfJZA1BCOli4ztyyhvffJQ3-N6";
  26.  
  27. // Your WiFi credentials.
  28. // Set password to "" for open networks.
  29. char ssid[] = "network";
  30. char pass[] = "123456789";
  31.  
  32. void sendSensor()
  33. {
  34. int value1 = analogRead(soil_moisture_PIN);
  35. value1 = map(value1, 4095, 0, 0, 100); // ADC 10bit ESP32 [0- 4095]/ ADC 8bit Arduino uno [0-1023]
  36. int value2 = digitalRead(LOW_indicator_PIN);
  37. int value4 = analogRead(LDR_PIN);// [0-4095]
  38. Serial.print(value1);
  39. Serial.print(" | ");
  40. Serial.print(value2);
  41. Serial.print(" | ");
  42. Serial.println(value4);
  43. int percent = 0;
  44.  
  45.  
  46. if (value2 == 0) {
  47. percent = 100;
  48. digitalWrite(redLED_PIN, 1);
  49. digitalWrite(blueLED_PIN, 0);
  50. }
  51. else if (value2 != 0) {
  52. percent = 0;
  53. digitalWrite(relay_1_PIN, 1); // turn off water pump
  54. digitalWrite(redLED_PIN, 0);
  55. digitalWrite(blueLED_PIN, 1);
  56. }
  57.  
  58. if (value1 < 60 && value1 != 0 && percent != 0) {
  59. digitalWrite(relay_1_PIN, 0); // turn ON water pump
  60. }
  61. else if (value1 > 90 || percent == 0 || value1 == 0) {
  62. digitalWrite(relay_1_PIN, 1); // turn off water pump
  63. }
  64.  
  65. if (value4 < 700) {
  66. digitalWrite(relay_2_PIN, 0); // turn ON RGB
  67.  
  68. }
  69. else if (value4 > 700) {
  70. digitalWrite(relay_2_PIN, 1);
  71. Serial.println("#8");
  72. }
  73.  
  74. Blynk.virtualWrite(V5, value1);
  75. Blynk.virtualWrite(V6, percent);
  76. }
  77.  
  78. void setup()
  79. {
  80. // Debug console
  81. Serial.begin(9600);
  82. ESP32PWM::allocateTimer(0);
  83. ESP32PWM::allocateTimer(1);
  84. ESP32PWM::allocateTimer(2);
  85. ESP32PWM::allocateTimer(3);
  86. servo1.setPeriodHertz(50);// Standard 50hz servo
  87. servo1.attach(servo_PIN, 500, 2400);
  88. pinMode(soil_moisture_PIN, INPUT);
  89. pinMode(LOW_indicator_PIN, INPUT);
  90. pinMode(LDR_PIN, INPUT);
  91. pinMode(relay_1_PIN, OUTPUT);
  92. pinMode(relay_2_PIN, OUTPUT);
  93. pinMode(redLED_PIN, OUTPUT);
  94. pinMode(blueLED_PIN, OUTPUT);
  95. digitalWrite(relay_1_PIN, 1);
  96. digitalWrite(relay_2_PIN, 1);
  97. digitalWrite(redLED_PIN, 0);
  98. digitalWrite(blueLED_PIN, 0);
  99. Blynk.begin(auth, ssid, pass);
  100. timer.setInterval(2000L, sendSensor);
  101. }
  102.  
  103. void loop()
  104. {
  105. Blynk.run();
  106. timer.run();
  107. }
  108.  
  109. BLYNK_WRITE(V3)
  110. {
  111. servo1.write(param.asInt());
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement