Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- 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);
}
}