From e5c812fb90178925dfba5566278b2331aaecf2ce Mon Sep 17 00:00:00 2001 From: Brandon Date: Fri, 10 Mar 2017 00:22:44 -0600 Subject: [PATCH 1/4] Prueba1 (modificado) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se ha modificado el método de Loop() Se anexa: -Nuevas Líneas para los sensores de línea. -Nuevas Líneas para los Sensores de aproximación (Detectores: Centro y Derecha) --- prueba1.ino | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 prueba1.ino diff --git a/prueba1.ino b/prueba1.ino new file mode 100644 index 0000000..56a1d6f --- /dev/null +++ b/prueba1.ino @@ -0,0 +1,127 @@ + +// Sensores de línea +int linea_izq = A0; // Sensor de línea izquierdo +int linea_der = A1; // Sensor de línea derecho +int linea_atr = A2; // Sensor de línea trasero + +int Ai1 = 5; // Salida 1 motor izquierdo (cable gris) +int Ai2 = 6; // Salida 2 motor izquierdo (cable azul) +int Bi1 = 9; // Salida 1 motor derecho (cable azul) +int Bi2 = 10; // Salida 2 motor derecho (cable gris) + +//int LED = 13; // Led indicador ready + +int velocidad = 64; +int umbral = 250; + +// Inicialización +void setup() +{ + Serial.begin(9600); +// pinMode(LED, OUTPUT); + pinMode(Ai1, OUTPUT); + pinMode(Ai2, OUTPUT); + pinMode(Bi1, OUTPUT); + pinMode(Bi2, OUTPUT); +} + +void adelante(){ + analogWrite(Ai1, velocidad); + analogWrite(Ai2, 0); + analogWrite(Bi1, velocidad); + analogWrite(Bi2, 0); +} + +void detener(){ + analogWrite(Ai1, 0); + analogWrite(Ai2, 0); + analogWrite(Bi1, 0); + analogWrite(Bi2, 0); +} + +void reversa(){ + analogWrite(Ai1, 0); + analogWrite(Ai2, velocidad); + analogWrite(Bi1, 0); + analogWrite(Bi2, velocidad); +} + +void derecha(){ + analogWrite(Ai1, 0); + analogWrite(Ai2, velocidad); + analogWrite(Bi1, velocidad); + analogWrite(Bi2, 0); +} + +void izquierda(){ + analogWrite(Ai1, velocidad); + analogWrite(Ai2, 0); + analogWrite(Bi1, 0); + analogWrite(Bi2, velocidad); +} + +// Rutina +void loop() { + adelante(); + +// ¡Detección de línea por el lado izquierdo! + linea_izq = analogRead(A0); // Lectura del sensor de línea izquierdo + if (linea_izq < 300) { + detener(); + delay(1000); + derecha(); + delay(800); + adelante(); + } + else { + // ¡Detección de línea por el lado derecho! + linea_der = analogRead(A1); // Lectura del sensor de línea derecho + if (linea_der < umbral) { + detener(); + delay(1000); + izquierda(); + delay(800); + adelante(); + } + else { + // ¡Detección de línea por atrás! + linea_atr = analogRead(A2); // Lectura del sensor de línea atras + if (linea_atr < 500) { + detener(); + delay(1000); + } + } + } + + // ¡Detección de objeto por el lado derecho! + /*if (detector_der == digitalRead(HIGH)) { + derecha(); + delay(1000); + adelante(); + } + // ¡Detección de objeto por el frente! + if (detector_cen == digitalRead(HIGH)) { + adelante(); + }*/ + + //int detector_cen, detector_der, detector_izq; + //int lectura = digitalRead(LOW); //En vez de LOW se pondría el sensor deseado. + if (detector_cen == digitalRead(LOW)) { + adelante(); + delay(500); + Serial.print("sensor centro: "); + Serial.print(detector_cen); + //Serial.print(lectura); + Serial.println(' '); + } + //lectura = 0; + if (detector_der == digitalRead(LOW)) { + derecha(); + delay(500); + Serial.print("sensor derecho: "); + Serial.print(detector_der); + //Serial.print(lectura); + Serial.println(' '); + } + //lectura = 0; +}//Fin Loop From 2092cb865a6e7d9065a1c149b1a09c594032c29a Mon Sep 17 00:00:00 2001 From: Brandon Date: Fri, 10 Mar 2017 01:10:34 -0600 Subject: [PATCH 2/4] =?UTF-8?q?anexando=20tres=20l=C3=ADneas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se agregaron tres líneas invocando al método detener() --- prueba1.ino | 254 ++++++++++++++++++++++++++-------------------------- 1 file changed, 128 insertions(+), 126 deletions(-) diff --git a/prueba1.ino b/prueba1.ino index 56a1d6f..86d3da4 100644 --- a/prueba1.ino +++ b/prueba1.ino @@ -1,127 +1,129 @@ - -// Sensores de línea -int linea_izq = A0; // Sensor de línea izquierdo -int linea_der = A1; // Sensor de línea derecho -int linea_atr = A2; // Sensor de línea trasero - -int Ai1 = 5; // Salida 1 motor izquierdo (cable gris) -int Ai2 = 6; // Salida 2 motor izquierdo (cable azul) -int Bi1 = 9; // Salida 1 motor derecho (cable azul) -int Bi2 = 10; // Salida 2 motor derecho (cable gris) - -//int LED = 13; // Led indicador ready - -int velocidad = 64; -int umbral = 250; - -// Inicialización -void setup() -{ - Serial.begin(9600); -// pinMode(LED, OUTPUT); - pinMode(Ai1, OUTPUT); - pinMode(Ai2, OUTPUT); - pinMode(Bi1, OUTPUT); - pinMode(Bi2, OUTPUT); -} - -void adelante(){ - analogWrite(Ai1, velocidad); - analogWrite(Ai2, 0); - analogWrite(Bi1, velocidad); - analogWrite(Bi2, 0); -} - -void detener(){ - analogWrite(Ai1, 0); - analogWrite(Ai2, 0); - analogWrite(Bi1, 0); - analogWrite(Bi2, 0); -} - -void reversa(){ - analogWrite(Ai1, 0); - analogWrite(Ai2, velocidad); - analogWrite(Bi1, 0); - analogWrite(Bi2, velocidad); -} - -void derecha(){ - analogWrite(Ai1, 0); - analogWrite(Ai2, velocidad); - analogWrite(Bi1, velocidad); - analogWrite(Bi2, 0); -} - -void izquierda(){ - analogWrite(Ai1, velocidad); - analogWrite(Ai2, 0); - analogWrite(Bi1, 0); - analogWrite(Bi2, velocidad); -} - -// Rutina -void loop() { - adelante(); - -// ¡Detección de línea por el lado izquierdo! - linea_izq = analogRead(A0); // Lectura del sensor de línea izquierdo - if (linea_izq < 300) { - detener(); - delay(1000); - derecha(); - delay(800); - adelante(); - } - else { - // ¡Detección de línea por el lado derecho! - linea_der = analogRead(A1); // Lectura del sensor de línea derecho - if (linea_der < umbral) { - detener(); - delay(1000); - izquierda(); - delay(800); - adelante(); - } - else { - // ¡Detección de línea por atrás! - linea_atr = analogRead(A2); // Lectura del sensor de línea atras - if (linea_atr < 500) { - detener(); - delay(1000); - } - } - } - - // ¡Detección de objeto por el lado derecho! - /*if (detector_der == digitalRead(HIGH)) { - derecha(); - delay(1000); - adelante(); - } - // ¡Detección de objeto por el frente! - if (detector_cen == digitalRead(HIGH)) { - adelante(); - }*/ - - //int detector_cen, detector_der, detector_izq; - //int lectura = digitalRead(LOW); //En vez de LOW se pondría el sensor deseado. - if (detector_cen == digitalRead(LOW)) { - adelante(); - delay(500); - Serial.print("sensor centro: "); - Serial.print(detector_cen); - //Serial.print(lectura); - Serial.println(' '); - } - //lectura = 0; - if (detector_der == digitalRead(LOW)) { - derecha(); - delay(500); - Serial.print("sensor derecho: "); - Serial.print(detector_der); - //Serial.print(lectura); - Serial.println(' '); - } - //lectura = 0; + +// Sensores de línea +int linea_izq = A0; // Sensor de línea izquierdo +int linea_der = A1; // Sensor de línea derecho +int linea_atr = A2; // Sensor de línea trasero + +int Ai1 = 5; // Salida 1 motor izquierdo (cable gris) +int Ai2 = 6; // Salida 2 motor izquierdo (cable azul) +int Bi1 = 9; // Salida 1 motor derecho (cable azul) +int Bi2 = 10; // Salida 2 motor derecho (cable gris) + +//int LED = 13; // Led indicador ready + +int velocidad = 64; +int umbral = 250; + +// Inicialización +void setup() +{ + Serial.begin(9600); +// pinMode(LED, OUTPUT); + pinMode(Ai1, OUTPUT); + pinMode(Ai2, OUTPUT); + pinMode(Bi1, OUTPUT); + pinMode(Bi2, OUTPUT); +} + +void adelante(){ + analogWrite(Ai1, velocidad); + analogWrite(Ai2, 0); + analogWrite(Bi1, velocidad); + analogWrite(Bi2, 0); +} + +void detener(){ + analogWrite(Ai1, 0); + analogWrite(Ai2, 0); + analogWrite(Bi1, 0); + analogWrite(Bi2, 0); +} + +void reversa(){ + analogWrite(Ai1, 0); + analogWrite(Ai2, velocidad); + analogWrite(Bi1, 0); + analogWrite(Bi2, velocidad); +} + +void derecha(){ + analogWrite(Ai1, 0); + analogWrite(Ai2, velocidad); + analogWrite(Bi1, velocidad); + analogWrite(Bi2, 0); +} + +void izquierda(){ + analogWrite(Ai1, velocidad); + analogWrite(Ai2, 0); + analogWrite(Bi1, 0); + analogWrite(Bi2, velocidad); +} + +// Rutina +void loop() { + adelante(); + //detener(): +// ¡Detección de línea por el lado izquierdo! + linea_izq = analogRead(A0); // Lectura del sensor de línea izquierdo + if (linea_izq < 300) { + detener(); + delay(1000); + derecha(); + delay(800); + adelante(); + } + else { + // ¡Detección de línea por el lado derecho! + linea_der = analogRead(A1); // Lectura del sensor de línea derecho + if (linea_der < umbral) { + detener(); + delay(1000); + izquierda(); + delay(800); + adelante(); + } + else { + // ¡Detección de línea por atrás! + linea_atr = analogRead(A2); // Lectura del sensor de línea atras + if (linea_atr < 500) { + detener(); + delay(1000); + } + } + } + + // ¡Detección de objeto por el lado derecho! + /*if (detector_der == digitalRead(HIGH)) { + derecha(); + delay(1000); + adelante(); + } + // ¡Detección de objeto por el frente! + if (detector_cen == digitalRead(HIGH)) { + adelante(); + }*/ + + //int detector_cen, detector_der, detector_izq; + //int lectura = digitalRead(LOW); //En vez de LOW se pondría el sensor deseado. + if (detector_cen == digitalRead(LOW)) { + adelante(); + delay(500); + detener(); + Serial.print("sensor centro: "); + Serial.print(detector_cen); + //Serial.print(lectura); + Serial.println(' '); + } + //lectura = 0; + if (detector_der == digitalRead(LOW)) { + derecha(); + delay(500); + Detener(); + Serial.print("sensor derecho: "); + Serial.print(detector_der); + //Serial.print(lectura); + Serial.println(' '); + } + //lectura = 0; }//Fin Loop From aa7b80448a740af8c8bbc91e9f25369c26ccc091 Mon Sep 17 00:00:00 2001 From: Brandon Date: Fri, 10 Mar 2017 01:11:39 -0600 Subject: [PATCH 3/4] Corrigiendo error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se corrigió un error de sintaxis. --- prueba1.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prueba1.ino b/prueba1.ino index 86d3da4..05b6920 100644 --- a/prueba1.ino +++ b/prueba1.ino @@ -119,7 +119,7 @@ void loop() { if (detector_der == digitalRead(LOW)) { derecha(); delay(500); - Detener(); + detener(); Serial.print("sensor derecho: "); Serial.print(detector_der); //Serial.print(lectura); From ee108fcc4cfe36f634037ba2fcae099910bfb8da Mon Sep 17 00:00:00 2001 From: Brandon Date: Wed, 15 Mar 2017 22:19:03 -0600 Subject: [PATCH 4/4] =?UTF-8?q?Anexando=20l=C3=ADneas=20de=20lectura?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se agregó la lectura de los sensores para identificar si valor era el correcto. Líneas 95-103 --- prueba1.ino | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/prueba1.ino b/prueba1.ino index 05b6920..f381be5 100644 --- a/prueba1.ino +++ b/prueba1.ino @@ -92,6 +92,15 @@ void loop() { } } } + Serial.print("sensor izquierdo: "); + Serial.print(linea_izq); + Serial.print(' '); + Serial.print("sensor derecho: "); + Serial.print(linea_der); + Serial.print(' '); + Serial.print("sensor atrás: "); + Serial.print(linea_atr); + Serial.println(' '); // ¡Detección de objeto por el lado derecho! /*if (detector_der == digitalRead(HIGH)) {