tes ir atas semua

Dependencies:   mbed ADS1115 StepperMotor SRF05 TPA81new

Revision:
14:207770fefedf
Parent:
13:0c5942931cad
Child:
15:da7a15289893
--- a/main.cpp	Fri Jan 04 11:58:19 2019 +0000
+++ b/main.cpp	Thu Jan 17 13:23:10 2019 +0000
@@ -4,103 +4,161 @@
 #include "Uvtron.h"
 #include "TPA81new.h"
 #include "SRF05.h"
+#include "SharpIR.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);
+
+// Kaki
+AX12 servo1(PC_10, PC_11, PA_13, 1, 1000000); // tx, rx, tx_enable, servo ID, baud rate  
+
+// Kepala
+// Infrared
+SharpIR irb1(PA_0);
+SharpIR irb2(PA_1);
+SharpIR irb3(PA_4);
+SharpIR irb4(PB_0);
+SharpIR ira1(PC_5);
+SharpIR ira2(PA_5);
+SharpIR ira3(PC_2);
+SharpIR ira4(PC_3);
+SharpIR ira5(PB_1);
+SharpIR ira6(PC_4);
+SharpIR ira7(PA_6);
+SharpIR ira8(PA_7);
+// Kompas
+// MPU9255 mpu(PB_4, PA_8)
+// Line
+AnalogIn line(PC_1);
+// Sound activation
+DigitalIn sound(PA_3);
+
+// Topi
+// TPA
+TPA81 tpa1(PB_9, PB_8, 0xDC); // sda, scl, id
+TPA81 tpa2(PB_3, PB_10, 0xDE);
+// Ultrasonik
+SRF05 us1(PB_7, PB_15); // trigger, echo
+SRF05 us2(PC_15, PC_14); // trigger echo
+// Uvtron
 Uvtron uv(PC_12);
-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);
+// stepper
+stepper s(PC_6, PC_8, PA_12, PC_7, PA_11, PB_12); // _en, ms1, ms2, ms3, _step, dir
+// relay
+DigitalOut relay(PB_2);
 
 int main()
 {
-//    s.enable();
+    pc.printf("Memulai test\n");
+    pc.printf("3\n");
+    wait(1);
+    pc.printf("2\n");
+    wait(1);
+    pc.printf("1\n");
+    wait(1);
     while (1)
     {
-//      Ultrasonik
-        pc.printf("Distance = %.1f\n", srf.read());
-
-//      TPA
-        pc.printf("%d", tpay.getTemp(0));
-        int i;
-        pc.printf("\nTPA Y \n");
-        tpay.Read();
-        for (i=2; i<=9; i++) {
-            pc.printf("%d ",tpay.getTemp(i));
+       // Servo
+//       pc.printf("Test Servo : 240\n");
+//       int degrees1 = 240;
+//       float speed1 = 1.0f;
+//       servo1.MultSetGoal(degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1);
+//        degrees1 = 150;
+//        pc.printf("150/n");
+//        servo1.MultSetGoal(degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1, 
+//                        degrees1, speed1);
+                        
+       // Infrared Bawah
+       //float b1 = irb1.read();
+//       float b2 = irb2.read();
+//       float b3 = irb3.read();
+//       float b4 = irb4.read();
+//       pc.printf("IR bawah\n");
+//       pc.printf("    %.f    \n", b1);
+//       pc.printf("%.f     %.f\n", b2, b4);
+//       pc.printf("    %.f    \n", b3);
+       
+       // Line
+       pc.printf("Line : %.f\n", line.read());
+       
+       // Infrared Atas
+       //float a1 = ira1.read();
+//       float a2 = ira2.read();
+//       float a3 = ira3.read();
+//       float a4 = ira4.read();
+//       float a5 = ira5.read();
+//       float a6 = ira6.read();
+//       float a7 = ira7.read();
+//       float a8 = ira8.read();
+//       pc.printf("IR atas\n");
+//       pc.printf("   %.f  %.f\n", a2, a1);
+//       pc.printf("%.f         %.f\n", a3, a8);
+//       pc.printf("%.f         %.f\n", a4, a7);
+//       pc.printf("   %.f  %.f\n", a5, a6);
+//       
+       // Sound activation
+       
+        // Stepper
+        //pc.printf("Stepper 1 putaran\n");
+//        for(int i=0; i<200; i++)
+//        {
+//            s.step(1, 1, 50);     
+//        } 
+           
+       // TPA
+       tpa1.Read();
+       tpa2.Read();
+       pc.printf("TPA 1\tTPA 2\n");
+        for (int i = 0; i < 8; i++)
+        {
+            pc.printf("%d\t%d\n", tpa1.Data[i], tpa2.Data[i]);  
         }
         
-//         Stepper
-        pc.printf("\n stepper \n");
-        s.step(1, 1, 1/WAIT_TIME);
-        
-        // Servo
-        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);
-        
-        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
-        uv.Read();
-        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);
-    }    
+       // Uvtron
+       uv.Read();
+       int read = uv.Flag;
+       pc.printf("UVTron = %d\n", read);
+       // Ultrasonik
+       pc.printf("Ultrasonik 1 : %.f Ultrasonik 2 : %.f \n", us1.read(), us2.read());
+       // Relay
+       pc.printf("relay\n");
+       relay = 1;
+       wait(1);
+       relay = 0;
+    }
 }
\ No newline at end of file