Robot Arduino 061
Robot Arduino 061
Para ello es necesario conectar un módulo Bluetooth, como puede ser el HC-06
(solo puede actuar como esclavo) o el HC-05 (puede actuar como maestro o
esclavo):
VCC: a 5V.
GND: a 0V.
TXD: transmisión de datos.
RXD: recepción de datos, a 3,3V (habría que hacer un divisor de tensión, pero si
se conecta directamente a un pin de entrada digital, no suele haber problemas).
KEY: poner a nivel alto para entrar en modo configuración.
STATE: para conectar un LED para visualizar la comunicación de datos.
Módulo Bluetooth_2 #include <SoftwareSerial.h>
Para evitar problemas de comunicación entre el PC (a través de los
pines 0 y 1), vamos a utilizar la librería SoftwareSerial para poder
comunicarme a través de otros pines (por ejemplo utilizaremos
para recibir datos: RX10, que lo conectaría al TXD del módulo,
por donde transmite el Bluetooth, y para transmitir: TX11 , que
se conectaría al RXD del módulo, por donde recibe).
Arduino Bluetooth
RX TXD
TX RXD
RXD: para conseguir señales de 3,3V en RXD, utilizaría una resistencia de 220 Ω y
otra de 470 Ω (así obtendré 3,4V), pero si lo conecto directamente al pin también
funciona correctamente.
Arduino Bluetooth
RX TXD
TX RXD
Comandos AT – Configurar el módulo Bluetooth
SoftwareSerial BT(10, 11); //declaro el Bluetooth (al que llamo “BT”), e indico los
//pines de comunicación de Arduino: 10RX y 11TX
//(que corresponden con 10TX y 11RX del Bluetooth)
void setup() {
BT.begin(9600); //establezco comunicación con el módulo Bluetooth
Serial.begin(9600); //establezco comunicación con el PC
}
void loop() {
if(BT.available()) { //si hay datos disponibles con el módulo BT…
Serial.write(BT.read()); //… los imprimo en el Monitor Serie
}
if(Serial.available()) { //si hay datos disponibles con el PC…
BT.write(Serial.read()); //… los mando al BT
}
}
Comandos AT_2
#include <SoftwareSerial.h>
int val;
int ledRojo = 8;
int ledVerde = 7;
void setup() {
BT.begin(9600);
pinMode(ledRojo, OUTPUT);
pinMode(ledVerde, OUTPUT);
}
void loop() {
if(BT.available()) val = BT.read();
if(val == '0') digitalWrite(ledRojo, LOW);
if(val == '1') digitalWrite(ledRojo, HIGH);
if(val == '2') digitalWrite(ledVerde, LOW);
if(val == '3') digitalWrite(ledVerde, HIGH);
}
Ejemplo: Control de 2 LEDs desde un móvil_2
Ahora solo falta subir a nuestro móvil una aplicación que mande “0”, “1”, “2” y
“3”. Lo haremos con AppInventor2:
void setup() {
BT.begin(9600);
Serial.begin(9600);
}
void loop() {
if(BT.available()) {
Serial.write(BT.read());
}
if(Serial.available()) {
BT.write(Serial.read());
}
}
Lo segundo que debemos hacer añadir el Bluetooth de nuestro Robot a nuestra lista
de conexiones Bluetooth de nuestro Smartphone.
(Ajustes / Bluetooth / …)
http://ai2.appinventor.mit.edu
Nuestro robot deberá interpretar estos Bytes para realizar alguna acción.
Aumentar el volumen del altavoz
La intensidad de corriente máxima que Arduino es capaz de
generar por un pin de salida es de 40 mA. Sin embargo, por
el pin de 5 V la intensidad máxima es de 300 mA (7,5 veces
más). Si utilizo un transistor funcionando como interruptor,
podemos hacer que nuestro altavoz suene con bastante más
volumen:
Exportar el código con colores
Si quiero llevar el código desde la IDE a, por ejemplo, un documento Word, pero
respetando que se mantengan los colores del texto, vamos a proceder de la
siguiente manera:
- Clicamos en Editar / Copiar como HTML.
- Abro el bloc de notas y lo pegamos (Ctrl+V).
- Guardo el archivo con la extensión .html
- Lo abro (se abrirá con el navegador Web) y ya aparecerá coloreado.
- Lo copio desde el navegador a mi archivo Word (en PowerPoint no va).
171104FEDAP086 – CEP de Cádiz