Skip to main content

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
Resultado