La idea es enviar instrucciones, vía bluetooth, desde un teléfono móvil a un Arduino. Por su parte, el Arduino envía una respuesta al teléfono, tanto de éxito o fallo; o bien un valor obtenido de una entrada analógica.
El módulo bluetooth se conecta a los pines 8 y 9 del Arduino. La comunicación se realiza utilizando la librería SoftwareSerial.
Comando | Respuesta | Acción |
---|---|---|
on | ok | Enciende el led en el pin 13 |
off | ok | Apaga el led |
read | 0..1023 | Devuelve el valor de la entrada analógica A0 |
xxx… | error | El comando no se reconoce. |
#include <SoftwareSerial.h> #define LED_PIN 13 String dataIn; int process = 0; // ************* bLUETOOTH *******************// // BLUE_TX (TX arduino Pin 9) --> RX (Modulo Bluetooth) // BLUE_RX (RX arduino Pin 8) --> TX (Modulo Bluetooth) #define BLUE_TX 9 #define BLUE_RX 8 SoftwareSerial BT1(BLUE_RX, BLUE_TX); void setup() { pinMode(LED_PIN, OUTPUT); //Serial.begin(9600); BT1.begin(9600); } void loop() { while (BT1.available() > 0) { char received = BT1.read(); if ((received == '\n') | (received == 13)) { process = 0; if (dataIn == "on") { digitalWrite(LED_PIN,HIGH); BT1.println("ok"); process = 1; } if (dataIn == "off") { digitalWrite(LED_PIN,LOW); BT1.println("ok"); process = 1; } if (dataIn == "read") { BT1.println (analogRead(A0)); process = 1; } if (process == 0) { BT1.println ("error"); } dataIn = ""; } else { dataIn += received; } } }