tes ir atas semua

Dependencies:   mbed ADS1115 StepperMotor SRF05 TPA81new

Revision:
13:0c5942931cad
Parent:
12:1e3227a6fcd7
Child:
14:207770fefedf
--- a/main.cpp	Sun Dec 16 01:53:07 2018 +0000
+++ b/main.cpp	Fri Jan 04 11:58:19 2019 +0000
@@ -3,28 +3,29 @@
 #include "AX12.h"
 #include "Uvtron.h"
 #include "TPA81new.h"
+#include "SRF05.h"
 
 #define WAIT_TIME 0.02
 
 Serial pc(USBTX, USBRX);
+AnalogIn IR(PA_0);
 // stepper(PinName _en, PinName ms1, PinName ms2, PinName ms3, PinName _stepPin, PinName dir);
 stepper s(PC_6, PC_8, PA_12, PC_7, PA_11, PB_12);
 Uvtron uv(PC_12);
-
-AX12 servo1(PC_10, PC_11, PA_13, 6,  1000000); // tx, rx, tx_enable, servo ID, baud rate  
-AX12 servo2(PC_10, PC_11, PA_13, 22, 1000000);
-AX12 servo3(PC_10, PC_11, PA_13, 19, 1000000);
-
-TPA81 tpay(PB_9, PB_8, 0xDE);
+AX12 servo1(PC_10, PC_11, PA_13, 1, 1000000); // tx, rx, tx_enable, servo ID, baud rate  
+TPA81 tpay(PB_9,PB_8, 0xDE);
+SRF05 srf(PA_15, PA_14); // trigger, echo
 DigitalOut led(LED1);
 
 int main()
 {
-    s.enable();
+//    s.enable();
     while (1)
     {
-        
-        // TPA
+//      Ultrasonik
+        pc.printf("Distance = %.1f\n", srf.read());
+
+//      TPA
         pc.printf("%d", tpay.getTemp(0));
         int i;
         pc.printf("\nTPA Y \n");
@@ -33,22 +34,61 @@
             pc.printf("%d ",tpay.getTemp(i));
         }
         
-        // Stepper
-        pc.printf("Stepper\n");
+//         Stepper
+        pc.printf("\n stepper \n");
         s.step(1, 1, 1/WAIT_TIME);
         
         // Servo
-        servo1.SetGoal(240);
-        servo2.SetGoal(240);
-        servo3.SetGoal(240);
-        pc.printf("Servo : 240\n");
-        led = 1;
+        float degrees2 = 150;
+        float speed1 = 1.0;
+        servo1.MultSetGoal(
+            degrees2, speed1, 
+            degrees2, speed1,  
+            degrees2, speed1,   
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1
+        );
+        
+        pc.printf("Servo 150\n");
         wait(1);
-        servo1.SetGoal(150);
-        servo2.SetGoal(150);
-        servo3.SetGoal(150);
-        pc.printf("Servo : 150\n");
-        led = 0;
+        
+        degrees2 = 240;
+        
+        servo1.MultSetGoal(
+            degrees2, speed1, 
+            degrees2, speed1,  
+            degrees2, speed1,   
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1, 
+            degrees2, speed1
+        );
+        
+        pc.printf("Servo 240\n");
         wait(1);
         
         // Uvtron
@@ -56,5 +96,11 @@
         int read = uv.Flag;
         if (read) pc.printf("FIRE DETECTED\n");
         else pc.printf("NOT DETECTED\n");
+        
+        // IR
+        float meas = IR.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
+        meas = meas * 3300; // Change the value to be in the 0 to 3300 range
+        float ir_dist = (330377) * (pow(meas , (-1.349f)));
+        printf("IR : %.4f\n", ir_dist);
     }    
 }
\ No newline at end of file