Skip to main content

Programa Arduino para recibir señales enviadas desde APP INVENTOR

En la entrada anterior "Aplicación App Inventor para controlar carro con bluetooth Arduino", se realizó la aplicación móvil para controlar un carro por medio de bluetooth.

En el programa que se encuentra a continuación, podemos observar que se han programado los pines 2,3,4 y 5 del Arduino, los cuales, se asume, están conectados a los pines correspondientes en el puente H (IN1,IN2,IN3,IN4).

Dentro de void loop, se recibe la señal del bluetooth mediante la instrucción "Serial.read()". Esa señal se almacena en la variable "state" y luego se compara utilizando la estructura if, con el fin de conocer cuál es la letra que se ha recibido desde APP INVENTOR y definir las acciones que se deben ejecutar a continuación.

En el caso de recibir "F", la cual se enviaba cuando el usuario presionaba el botón de APP INVENTOR con la flecha hacia arriba. Se ejecutará: digitalWrite(motorA1,HIGH), digitalWrite(motorA2,LOW) y digitalWrite(motorB1,HIGH), digitalWrite(motorB2,LOW), lo cual hace que el motor se mueva en un sentido, que lo hemos definido como "ADELANTE".
Así mismo al recibir "B" irá hacia atrás.
"L" hace que se mueva hacia adelante el motor A y el motor B se detenga para provocar un movimiento hacia la izquierda.
Por último al recibir "R", observaremos movimiento hacia la derecha.

int motorA1  = 2; 
int motorA2  = 3; 
int motorB1  = 4;
int motorB2  = 5;

int state=0;

void setup() { 
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT); 
    Serial.begin(9600);
}

void loop() { 
    if(Serial.available() > 0){   
      state = Serial.read(); 
    } 
   
    if (state == 'F'){
      digitalWrite(motorA1,HIGH);
      digitalWrite(motorA2,LOW);
      digitalWrite(motorB1,HIGH);
      digitalWrite(motorB2,LOW);       
      Serial.println("F"); 
      }
    if (state == 'B'){
      digitalWrite(motorA1,LOW);
      digitalWrite(motorA2,HIGH);
      digitalWrite(motorB1,LOW);
      digitalWrite(motorB2,HIGH); 
      Serial.println("B");       
      }
    if (state == 'L'){
      digitalWrite(motorA1,HIGH);
      digitalWrite(motorA2,LOW);
      digitalWrite(motorB1,LOW);
      digitalWrite(motorB2,LOW); 
      Serial.println("L");       
      }
    if (state == 'R'){
      digitalWrite(motorA1,LOW);
      digitalWrite(motorA2,LOW);
      digitalWrite(motorB1,HIGH);
      digitalWrite(motorB2,LOW);
      Serial.println("R");     
      }   
    }   
}
   

Comments

Popular posts from this blog

Aplicación App Inventor para controlar carro con bluetooth Arduino

Para empezar se requiere que hayas ingresado a tu cuenta de APP INVENTOR y hayas creado un proyecto nuevo. Como se puede ver en la imagen, se deben agregar 4 botones, 1 listpicker, 1 clock y 1 bluetooth client. Botones : Cada botón ha sido configurado con una imagen que permitirá al usuario identificar la dirección del movimiento del carro. Se incluyó un layout tipo tabla con tres filas y 3 columnas para colocar cada botón de la forma que se ve en la imagen. Se han modificado los nombres de cada botón para poder identificarlos de mejor manera en la vista de bloques de programación. ListPicker : Se configuró para mostrar una palabra que indique al usuario que servirá para conectarse al módulo bluetooth de arduino. Una vez que la aplicación tenga una buena apariencia, cambiamos a la vista de bloques para proceder a programar. En la siguiente imagen se puede ver cómo se utiliza los bloques de listpicker: BEFOREPICKING y AFTERPICKING . BeforePicking contiene un bloq

Instalación de leJOS para LEGO EV3

leJOS es el firmware de JAVA para LEGO EV3. Necesitas una tarjeta micro SD (recomendable entre 2 y 4 GB) formateada en FAT32. Descarga el programa para formatear:  https://www.sdcard.org/downloads/formatter/ , luego descomprime y ejecuta el instalador. Una vez terminada la instalción, abre el programa y formatea tu memoria micro SD. Luego d escarga la última versión de leJOS ( https://sourceforge.net/projects/ev3.lejos.p/files/ ) y ejecuta el instalador. Sigue los pasos: