Wheelchair Logic v3 Project (New)

Dependencies:   SparkfunAnalogJoystick

Files at this revision

API Documentation at this revision

Comitter:
erodrz
Date:
Fri Jul 23 03:05:12 2021 +0000
Parent:
4:60e3365da280
Commit message:
New

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Thu Jul 22 01:56:42 2021 +0000
+++ b/main.cpp	Fri Jul 23 03:05:12 2021 +0000
@@ -23,7 +23,7 @@
 int Distance2 = 0; // Distancia atrás de la silla.
 int Distance3 = 0; // Distancia a la izquierda de la silla.
 int Distance4 = 0; // Distancia a la derecha de la silla.
-int DistanceLimit = 15; // Distancia límite de acercamiento a un Obstaculo permitida por la silla.
+int DistanceLimit = 50; // Distancia límite de acercamiento a un Obstaculo permitida por la silla.
 
 // Entradas digitales para selección de modos de la silla.
 DigitalIn Modo1(D8); // Modo manual.
@@ -35,13 +35,13 @@
 Serial PC(USBTX,USBRX); // Por aquí se reciben caracteres que el miprocesador interpreta para ejecutar una acción, como los comandos de voz o alguna alerta.
 
 // Salidas digitales y PWM para controlar el driver de los motores.
-DigitalOut Direccion1(PC_6); // Dirección del motor 1.
-PwmOut PWM_Velocidad1(PB_15); // Velocidad del motor 1.
-DigitalOut Direccion2(D14); // Dirección del motor 2.
-PwmOut PWM_Velocidad2(D15); // Velocidad del motor 2.
+DigitalOut Direccion1(D15); // Dirección del motor 1.
+PwmOut PWM_Velocidad1(D14); // Velocidad del motor 1.
+DigitalOut Direccion2(PC_6); // Dirección del motor 2.
+PwmOut PWM_Velocidad2(PB_15); // Velocidad del motor 2.
 
 // Salida para manejar la señal del buzzer de alertas.
-PwmOut Buzzer(D3);
+PwmOut Buzzer(PE_14);
 
 // Función para reproducir un sonido del buzzer cuando se detecta proximidad a un obstáculo.
 void Reproducir_Buzzer_Proximidad(void)
@@ -63,6 +63,7 @@
         Buzzer.write(0.5);
         thread_sleep_for(200);
    }
+   Buzzer.write(0);
    BuzzTime.stop();
 }
 
@@ -149,7 +150,7 @@
     PWM_Velocidad2.write(0.0f);
 }
 
-// Función para leer el sensor de proximidad 1.
+// Función para leer el sensor de proximidad 1. ADELANTE
 void Thread1_HCSR04()
 {
     DigitalOut Trigger(D0);
@@ -187,7 +188,7 @@
     }
 }
 
-// Función para leer el sensor de proximidad 2.
+// Función para leer el sensor de proximidad 2. //ATRAS
 void Thread2_HCSR04()
 {
     DigitalOut Trigger(D2);
@@ -225,7 +226,7 @@
     }
 }
 
-// Función para leer el sensor de proximidad 3.
+// Función para leer el sensor de proximidad 3. //IZQUIERDA
 void Thread3_HCSR04()
 {
     DigitalOut Trigger(D4);
@@ -263,7 +264,7 @@
     }
 }
 
-// Función para leer el sensor de proximidad 4.
+// Función para leer el sensor de proximidad 4. //DERECHA
 void Thread4_HCSR04()
 {
     DigitalOut Trigger(D6);
@@ -304,7 +305,7 @@
 // Función para leer valores del joystick y ejecutar sus comandos.
 void Thread5_Joystick()
 {
-    SparkfunAnalogJoystick JoyStick(A1,A0,D12);
+    SparkfunAnalogJoystick JoyStick(A1,A0,PE_0);
     float X;
     float Y;
     while(1)
@@ -319,29 +320,29 @@
             printf(" \n\r");
             */
             if(X >= -0.60f && X <= 0.60f && Y >= 0.90f && Y <= 1.00f)
-            {        
-                if(Distance1 > DistanceLimit)
+            {
+                if(Distance2 > DistanceLimit)
                 {
-                    printf("Comandos del joystick: Hacia adelante. \r \n");
-                    Mover_Hacia_Adelante(1000); // Mover por un segundo.
+                    printf("Comandos del joystick: Hacia atras. \r \n");
+                    Mover_Hacia_Atras(3000);
                 }
                 else
                 {
-                    printf("Comandos del joystick: Obstaculo hacia adelante. \r \n");
+                    printf("Comandos del joystick: Obstaculo hacia atras. \r \n");
                     Reproducir_Buzzer_Proximidad();
                 }
                 thread_sleep_for(500);
             }
             if(X >= -0.60f && X <= 0.60f && Y <= -0.90f && Y >= -1.00f)
-            {
-                if(Distance2 > DistanceLimit)
+            {   
+                if(Distance1 > DistanceLimit)
                 {
-                    printf("Comandos del joystick: Hacia atras. \r \n");
-                    Mover_Hacia_Atras(1000); // Mover por un segundo.
+                    printf("Comandos del joystick: Hacia adelante. \r \n");
+                    Mover_Hacia_Adelante(3000);
                 }
                 else
                 {
-                    printf("Comandos del joystick: Obstaculo hacia atras. \r \n");
+                    printf("Comandos del joystick: Obstaculo hacia adelante. \r \n");
                     Reproducir_Buzzer_Proximidad();
                 }
                 thread_sleep_for(500);
@@ -351,7 +352,7 @@
                 if(Distance3 > DistanceLimit)
                 {
                     printf("Comandos del joystick: Hacia la izquierda. \r \n");
-                    Mover_Hacia_Izquierda(1000); // Mover por un segundo.
+                    Mover_Hacia_Izquierda(3000);
                 }
                 else
                 {
@@ -365,7 +366,7 @@
                 if(Distance4 > DistanceLimit)
                 {
                     printf("Comandos del joystick: Hacia la derecha. \r \n");
-                    Mover_Hacia_Derecha(1000); // Mover por un segundo.
+                    Mover_Hacia_Derecha(3000);
                 }
                 else
                 {