Bluetooth IV programa
ENUNCIADO
Vamos a realizar un programa que envíe y reciba datos desde la APP del móvil al Echidna
- Si envío una R se enciende el Rojo
- Si envío una A se enciende el Amarillo
- Si envío una L que me diga el nivel de Luz que hay, 10 lecturas para ver cómo cambia
SOLUCIÓN
/*
https://libros.catedu.es/books/echidna
*/
#include <SoftwareSerial.h>
#include <Arduino.h>
SoftwareSerial BT(0,1);
char letra = 0;
void setup() {
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(A5,INPUT);
BT.begin(9600);
digitalWrite(13,0);
digitalWrite(12,0);
}
void loop() {
if(BT.available() > 0){
letra = BT.read();
if(letra == 'R'){
digitalWrite(13,1);
digitalWrite(12,0);
}
if(letra == 'A'){
digitalWrite(13,0);
digitalWrite(12,1);
}
if(letra == 'L'){
for(int count2=0;count2<10;count2++){
BT.write(map(analogRead(A5), 1, 900, 48, 57));
delay(1000);
}
}
}
}
PRECAUCIONES
- En Arduino IDE pon placa ARDUINO UNO
- Quita el HC06 a la hora de subir el código
- Una vez subido ya puedes poner el HC06 y probar
CUÁNTO HAY QUE MAPEARLO pues el LDR según www.echidna.es va desde 1 a 900 y Bluetooth solo lee un carácter en ASCII luego convertimos el valor de A5 (1-900) a un valor ASCII que si vemos la tabla, lo hacemos para los valores de los caracteres 48 (0) a 57 (9) y así nos da una lectura de la cantidad de luz entre 0 y 9
| VALOR ASCII | CARACTER |
| 48 | 0 |
| 49 | 1 |
| 50 | 2 |
| 51 | 3 |
| 52 | 4 |
| 53 | 5 |
| 54 | 6 |
| 55 | 7 |
| 56 | 8 |
| 57 | 9 |
No comments to display
No comments to display