|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android.
Bluetooth, Arduino y App inventor 2 - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial  

___________________________

Índice de los tutoriales del Proyecto cochecito.

1.- Bluetooth y Arduino. Proyecto cochecito - 1
2.- Bluetooth y Arduino. Proyecto cochecito - 2

3.- Bluetooth y Arduino. Proyecto cochecito - 3

- Los tutoriales 1 y 2 se explican la parte del Arduino y la parte de App inventor.

- El tutorial 3 es el proyecto completo.

___________________________

- Bluetooth y Arduino. Proyecto cochecito - 2

- Presentación

- En el tutorial anterior hemos visto como conectar un módulo Bluetooth al Arduino y enviar información desde el móvil al Arduino por BT.

- Hemos visto cómo se vincula el módulo Bluetooth al Arduino y cómo podemos cambiar la luminosidad de un LED tricolor mediante PWM.

- Ahora tratamos de realizar un sencillo proyecto para controlar y mover un cochecito de dos motores de tensión contínua con dos ruedas mediante Bluetooth.

- Este capítulo del tutorial se complementa con otro: Proyecto de cochecito por Bluetooth con Arduino y Android.

- En este capítulo solo voy a exponer una manera se controlar dos LED mediante BT. Más adelante lo haremos con motores.

p40 movil a Arduino MOTOR.aia

_________________
- Diseño.

Insertamos los elementos indicados:

sdl_Conectar es un SelectorDeLista.

Btn_Desconectar es un Botón.

B1 ... B9 son Botones.

A ... E son Botones.

Cliente Bootooh y Notificador.

_________________
- Bloques.

- Vinculamos el Bluetooth del Arduino y del Android.

- Según la tecla pulsada se envía un caracter mediante BT.

- Con las teclas "Avanza" se moverá hacia adelante el motor A, el B o los dos.

- Con las teclas de "Para" se parará el motor A, el B o los dos.

- Con las teclas de "Retro" retrocederá el motor A, el B o los dos.

- En este caso en vez de motores, se encenderán o apagarán los LED.

- Las teclas de retrocesos tienen código pero no realizarán cambios en los LED, se utilizarán más adelante cuando utilicemos motores.

- Para controlar la velocidad de los motores utilizaremos 5 Botones, según el Botón pulsado se enviará el caracter: A, B, C, D o E, que indicará un nivel de velocidad.

A será lento, B un poco más rápido, C más rápido, D muy rápido y E máxima velocidad.

- Se podría enviar la velocidad mediante un Deslizador (como vimos en el tutorial de Bluetooth con el LED tricolor), pero es más sencillo enviando solo 5 niveles de velocidad con estos Botones. Ya que es más sencillo enviar un carácter que varios, si tuviéramos que enviar la velocidad 125, por ejemplo, el código se complicaría.

- NOTA: App inventor no admite "Multitouch", es decir pulsar dos teclas a la vez y que funcionen. Por eso he puesto las teclas intermedias para activar a los dos motores.

____________________________________________________________

- ARDUINO.

_________________
- Conexiones.

Conectamos el módulo Bluetooth como se indica en esta tabla:

Módulo Bluetooh
Arduino
VCC 5 V
GND GND
TXD RX (es la conexión 0 del Arduino)
RXD TX (es la conexión 1 del Arduino)

 

Conectamos dos LED con su resistencia limitadora de 220 Ω. Los conectamos a terminales PWM, en nuestro caso al 10 y 11.

IMPORTANTE:

1.- Debes vincular al módulo Bluetooth al móvil, el nombre del módulo Bluetooth será linvor o HC-06. La contraseña: 1234

2.- Para cargar el programa al Arduino debemos quitar el cable de alimentación del Bluetooth, cuando esté cargado volvemos a conectar ese cable.

- No es conveniente conectar motores de contínua directamente a las salidas del Arduino ya que necesitan muchos miliAmperios y la placa no puede suministrar tantos, se puede calentar y averiarse.

- Se utilizan drivers, controladores para motores que además están alimentados con una fuente de tensión externa. Lo veremos en otro tutorial.

_________________
- Código.

Programa para el Arduino.
// Juan Antonio Villalpando
// juana1991@yahoo.com
// kio4.com

char val;
int Pin10 = 10;
int Pin11 = 11;

void setup() { 
Serial.begin(9600); // Aqui establecemos la velocidad
pinMode(Pin10, OUTPUT); 
pinMode(Pin11, OUTPUT); 
}

void loop() { 
if( Serial.available() ) {
val = Serial.read();

if( val == '1' )
{ 
digitalWrite(Pin10, HIGH);
}

if( val == '2' )
{ 
digitalWrite(Pin10, HIGH);
digitalWrite(Pin11, HIGH);
} 

if( val == '3' )
{ 
digitalWrite(Pin11, HIGH);
}

if( val == '4' )
{ 
digitalWrite(Pin10, LOW);
} 

if( val == '5' )
{ 
digitalWrite(Pin10, LOW);
digitalWrite(Pin11, LOW);
} 

if( val == '6' )
{ 
digitalWrite(Pin11, LOW);
} 

if( val == 'A' )
{ 
analogWrite(Pin10, 20);
analogWrite(Pin11, 20);
} 
if( val == 'B' )
{ 
analogWrite(Pin10, 50);
analogWrite(Pin11, 50);
} 
if( val == 'C' )
{ 
analogWrite(Pin10, 150);
analogWrite(Pin11, 150);
} 
if( val == 'D' )
{ 
analogWrite(Pin10, 200);
analogWrite(Pin11, 200);
} 
if( val == 'E' )
{ 
analogWrite(Pin10, 250);
analogWrite(Pin11, 250);
} 
}
}

- Según llega los caracteres 1, 2, 3, 4, 5 o 6, se encenderá o apagarán los LED. Fijate que sale una señal digital:

digitalWrite(Pin10, HIGH);

- Si llegan los caracteres 7, 8 o 9 enviados por el código del Android, no se realizará ninguna acción ya que estos están previstos para cuando se utilicen motores.

- Si llegan los caracteres A, B, C, D o E, los LED encenderán más o menos según el nivel PWM aplicado. Fíjate que sale una señal PWM:

analogWrite(Pin10, 150);

Según llegue A, B, C, D o E, el PWM será 20, 50, 150, 200 o 250.

- He elegido salidas que sean PWM para poder ver el funcionamiento en digital y en PWM.

- Cuando veamos el código del Arduino con los motores, notaremos algunas modificaciones.

- Recuerda el PWM (Modulación de Anchura de Pulso), cuanto más ancho sea el pulso más iluminará el LED ya que le llegará tensión durante más tiempo.

- La frecuencia y la altura del pulso siempre es la misma, lo que cambia es su ancho.

__________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información