sdf

Dependencies:   mbed C12832 Servo RangeFinder Pulse

Revision:
0:4db5f0f5faa0
Child:
1:47dc87d326ed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Feb 23 10:19:24 2022 +0000
@@ -0,0 +1,68 @@
+#include "mbed.h"
+#include <MoistureSensor.h>
+#include "RangeFinder.h"
+#include <Motor_relay.h>
+#include "Servo.h"
+
+int dry = 0.61;
+int wet = 0.37;
+moisture_sensor grove(p17);
+RangeFinder rf(p18, 10, 5800.0, 100000);
+DigitalOut led(LED1);
+MOTOR_RELAY motor_relay1(p22);
+MOTOR_RELAY motor_relay2(p21);
+Servo valve1(p23);
+Servo valve2(p24);
+
+#define on  1
+#define off 0
+int main (void)
+{
+
+    float moisturevalue = 0.0f;
+    float moisturepercentage = 0.0f;
+    led = 1;
+    float d;
+    while (true) {
+
+        moisturevalue = grove.read();
+        moisturepercentage=(((moisturevalue- 0.37)/(0.61-0.37))*100);
+        debug("Moisture reading is %2.2f percent dry\n\r",moisturepercentage);
+        wait(1.0f);
+
+        d = rf.read_m();
+        if (d == -1.0)  {
+            printf("Timeout Error.\n\r");
+        } else if (d > 5.0) {
+            // Seeed's sensor has a maximum range of 4m, it returns
+            // something like 7m if the ultrasound pulse isn't reflected.
+            printf("No object within detection range.\n");
+        } else  {
+            printf("Distance = %f m.\n", d);
+        }
+        wait(0.5);
+        led = !led;
+        
+        
+        if(moisturepercentage>80){
+            motor_relay1.SetMotor(1);
+            valve1.position(0);
+            }
+        if(moisturepercentage<20){
+            motor_relay1.SetMotor(0);
+              valve1.position(90);
+            }  
+       
+        if (d>0.07 ) {
+            motor_relay2.SetMotor(1);
+            valve2.position(90);
+        }
+        if(d<0.02) {
+            motor_relay2.SetMotor(0);
+            valve2.position(0);
+        }
+    }
+    return 0;
+}
+
+