Sz_Insper / Mbed 2 deprecated Line_follow

Dependencies:   mbed

Revision:
3:e327153b2aa4
Parent:
2:482c3ed45884
diff -r 482c3ed45884 -r e327153b2aa4 main.cpp
--- a/main.cpp	Tue Oct 30 20:24:03 2018 +0000
+++ b/main.cpp	Mon Nov 18 13:37:36 2019 +0000
@@ -1,114 +1,58 @@
-/*
-Autor Marcelo Costanzo Miranda
-Data 08 de Outubro de 2018
+#include "mbed.h"
 
-Codigo base para robo seguir de linha, funcionando
-
-Insper, Laboratório de Sistema Mecatrôncios
-*/
+DigitalIn BT(BUTTON1);
+//DigitalOut led(LED1);
 
-#include "mbed.h"
-#define corte 2200
+DigitalOut IN1_MOTOR1(D13);
+DigitalOut IN2_MOTOR1(D12);
+DigitalOut EN_MOTOR1(D11);
 
-AnalogIn S0(A3);
-AnalogIn S1(A5);
-DigitalIn BT(BUTTON1);
-DigitalOut led(LED1);
-DigitalOut IN1B(PA_0);
-DigitalOut IN2B(PA_1);
-DigitalOut IN1A(PB_4);
-DigitalOut IN2A(PB_5);
-DigitalOut ENA(PA_10);
-DigitalOut ENB(PC_1);
+DigitalOut IN1_MOTOR2(D8);
+DigitalOut IN2_MOTOR2(D10);
+DigitalOut EN_MOTOR2(D9);
+
 Serial pc(USBTX, USBRX); // tx, rx
 
 
 int main()
 {
-    float S0_val = 0;
-    float S1_val = 0;
-    bool flag = 0;
+    pc.printf("Iniciando...\n\r");
+    IN1_MOTOR1 = 0;
+    IN2_MOTOR1 = 0;
+    IN1_MOTOR2 = 0;
+    IN2_MOTOR2 = 0;
     
-    ENA = 1;
-    ENB = 1;
+    EN_MOTOR1 = 1;
+    EN_MOTOR2 = 1;
+    
+    wait_ms(2000);
 
     while(1) 
     {
-        
-        
-        S0_val = S0.read();
-        S1_val = S1.read(); 
-        
-        S0_val = S0_val * 3300; // Converts value in the 0V-3.3V range
-        S1_val = S1_val * 3300; // Converts value in the 0V-3.3V range
-        
-        // Display values
-        //printf("measure S0 = %.0f mV\n", S0_val);
-        //printf("measure S1 = %.0f mV\n", S1_val);
+        pc.printf("CW\n\r");
+        IN1_MOTOR1 = 0;
+        IN2_MOTOR1 = 1;
+        IN1_MOTOR2 = 0;
+        IN2_MOTOR2 = 1;
+        wait_ms(4000);
         
-        if(BT == 0)
-        {
-            wait(0.1);
-            if(BT == 0 && flag == 0)
-            {
-                flag = 1;
-                led = 1;
-                wait(0.5);
-            }
-        }
-        
-        if(flag == 0)
-        led = 0;
+        IN1_MOTOR1 = 0;
+        IN2_MOTOR1 = 0;
+        IN1_MOTOR2 = 0;
+        IN2_MOTOR2 = 0;
+        wait_ms(500);
         
-        if(flag == 1)
-        {
-            //printf("ACIONADO\n");
-            if((S0_val > corte) && (S1_val > corte))
-            {
-                IN2A = 0;
-                IN2B = 0;
-                IN1A = 0;
-                IN1B = 0;
-            }
-            
-            if((S0_val < corte) && (S1_val < corte))
-            {
-                IN2A = 1;
-                IN2B = 0;
-                IN1A = 0;
-                IN1B = 1;
-            }
-            
-            if((S0_val < corte) && (S1_val > corte))
-            {
-                IN2A = 0;
-                IN2B = 0;
-                IN1A = 0;
-                IN1B = 1;
-            }
-            
-            if((S0_val > corte) && (S1_val < corte))
-            {
-                IN2A = 1;
-                IN2B = 0;
-                IN1A = 0;
-                IN1B = 0;
-            }
-        }
+        pc.printf("CCW\n\r");
+        IN1_MOTOR1 = 1;
+        IN2_MOTOR1 = 0;
+        IN1_MOTOR2 = 1;
+        IN2_MOTOR2 = 0;
+        wait_ms(4000); 
         
-        if(BT == 0)
-        {
-            wait(0.1);
-            if(BT == 0 && flag == 1)
-            {
-                flag = 0;
-                printf("DESACIONADO\n");
-                ENA = 0;
-                ENB = 0;
-                wait(0.5);
-            }
-        }        
-
-        //wait(0.2); // 1 second
+        IN1_MOTOR1 = 0;
+        IN2_MOTOR1 = 0;
+        IN1_MOTOR2 = 0;
+        IN2_MOTOR2 = 0;
+        wait_ms(500);      
     }
 }