tes ir atas semua

Dependencies:   mbed ADS1115 StepperMotor SRF05 TPA81new

Revision:
45:96815f504b17
Parent:
44:49ef8addf233
Child:
46:4030083b43b3
--- a/main.cpp	Fri Mar 01 10:28:41 2019 +0000
+++ b/main.cpp	Tue Mar 05 12:22:31 2019 +0000
@@ -25,7 +25,7 @@
 DigitalIn sound(PA_9);
 AnalogIn line(PC_1);
 
-// Infrared 
+// Infrared
 // atas
 AnalogIn ira1(PC_5);
 AnalogIn ira2(PA_5);
@@ -42,15 +42,16 @@
 AnalogIn irb4(PB_0);
 // ADC
 I2C ads_i2c(PB_9, PB_8); // sda, scl
-Adafruit_ADS1115 ads(&ads_i2c);
+Adafruit_ADS1015 ads(&ads_i2c);
 
-stepper s(PC_8, PC_6, PA_12, PA_11, PB_12, PC_7); 
+stepper s(PC_8, PC_6, PA_12, PA_11, PB_12, PC_7);
 // stepper(PinName _en, PinName ms1, PinName ms2, PinName ms3, PinName _stepPin, PinName dir);
 
 DigitalOut led_api(PB_6);
 DigitalOut led_sound(PH_1);
 
-float call_depan(uint16_t x){
+float call_depan(uint16_t x)
+{
     float side_distance = a_depan/pow(x,b_depan)+1;
     return side_distance;
 }
@@ -58,60 +59,16 @@
 float call_ads(uint16_t ir) {
     float voltage = ir * 6.2676 * 10e-5; // ubah ke mV
     uint16_t x = (voltage/3.3f) * 0xFFFF; // ubah ke uint16_t sesuai max nucleo
-    float dist = a_ads/pow(x, b_ads);    
+    float dist = a_ads/pow(x, b_ads)+1;    
     return dist;
 }
 
 int main()
 {
-    relay = 1;
-    led_api = 0;
-    led_sound = 0;
-    amg.begin(AMG88xx_ADDRESS);
-    amg.setMovingAverageMode(1);
-    
-//    while(sound.read()){
-//        wait(0.2);    
-//    }
-    
-//    pc.printf("Sound Detected\n");
-    
-    while(1) {
-        //// AMG
-//        amg.readPixels(pixels);
-//        float max_temp = pixels[0];
-//        int max_i = 0;
-//        float sum_temp = 0;
-//        for (int i = 1; i <= AMG88xx_PIXEL_ARRAY_SIZE; i++) {
-//            if (pixels[i-1] > max_temp) {
-//                max_temp = pixels[i-1];
-//                max_i = i;
-//            }
-//            sum_temp += pixels[i-1];
-//        }
-//        pc.printf("temp max= %.2f at %d\n", max_temp, max_i);
-//        pc.printf("temp rata2 = %.2f", sum_temp/AMG88xx_PIXEL_ARRAY_SIZE);
-        
-        //// UVTron
-//        uv.Read();
-//        int read = uv.Flag;
-//        if (read) pc.printf("FIRE DETECTED\n");
-//        else pc.printf("NOT DETECTED\n");
-//        wait(0.5); // 200 ms
-
-        //// Relay
-//        relay = 0;
-//        pc.printf("RELAY ON\n");
-//        wait(1);
-//        relay = 1;
-//        pc.printf("RELAY OFF\n");    
-        
-        //// Line
-//        pc.printf("Line = %.2f\n", 3300*line.read());    
-//        
+    while (1) {
         // IR
         uint16_t ads_raw[4] = {0, 0, 0,0};
-        for (int i=0; i < 4; i++) {
+        for (uint8_t i=0; i < 4; i++) {
             ads_raw[i] = ads.readADC_SingleEnded(i);
         };
         uint16_t raw_a1 = ira1.read_u16();
@@ -122,12 +79,12 @@
         uint16_t raw_a6 = ira6.read_u16();
         uint16_t raw_a7 = ira7.read_u16();
         uint16_t raw_a8 = ira8.read_u16();
-        
+
         uint16_t raw_b1 = irb1.read_u16();
         uint16_t raw_b2 = irb2.read_u16();
         uint16_t raw_b3 = irb3.read_u16();
         uint16_t raw_b4 = irb4.read_u16();
-        
+
         float dist_a1 = call_depan(raw_a1);
         float dist_a2 = call_depan(raw_a2);
         float dist_a3 = call_depan(raw_a3);
@@ -136,52 +93,27 @@
         float dist_a6 = call_depan(raw_a6);
         float dist_a7 = call_depan(raw_a7);
         float dist_a8 = call_depan(raw_a8);
-        float dist_a9 = call_ads(ads_raw[0]);
-        float dist_a10 = call_ads(ads_raw[1]);
+        float dist_a9 = call_ads(ads_raw[1]);
+        float dist_a10 = call_ads(ads_raw[3]);
         float dist_a11 = call_ads(ads_raw[2]);
-        float dist_a12 = call_ads(ads_raw[3]);
+        float dist_a12 = call_ads(ads_raw[0]);
         float dist_b1 = call_depan(raw_b1);
         float dist_b2 = call_depan(raw_b2);
         float dist_b3 = call_depan(raw_b3);
         float dist_b4 = call_depan(raw_b4);
-        
+
         pc.printf("ir atas\n");
         pc.printf("%.2f   %.2f %.2f   %.2f\n", dist_a9, dist_a10, dist_a11, dist_a12);
         pc.printf("%.2f               %.2f\n", dist_a3, dist_a1);
         pc.printf("%.2f               %.2f\n", dist_a4, dist_a6);
         pc.printf("%.2f   %.2f %.2f   %.2f\n", dist_a2, dist_a8, dist_a7, dist_a5);
-        
+
         pc.printf("ir bawah\n");
         pc.printf("      %.2f\n", dist_b1);
         pc.printf("%.2f            %.2f\n", dist_b2, dist_b3);
         pc.printf("      %.2f\n", dist_b4);
-        
-        wait(1);
-        
-        //// Stepper
-//        pc.printf("Stepper \n");
-//        for (int i = 0; i < 50; i++) {
-//            s.step(1, 1, 1/WAIT_TIME);
-//        }
-//        
-//        for (int i = 0; i < 50; i++) {
-//            s.step(1, -1, 1/WAIT_TIME);   
-//        }
-//        
-//        // LED
-//        led_api = 1;
-//        pc.printf("led api on\n");
-//        wait(0.5);
-//        led_api = 0;
-//        pc.printf("led api off\n");
-        
-        //led_sound = 1;
-//        pc.printf("led sound on\n");
-//        wait(0.5);
-//        led_sound = 0;
-//        pc.printf("led sound off\n");
-//        wait(0.5);
-        
+
+        wait_ms(200);
         pc.printf("\033[2J\033[H");
     }
 }