Arduino conectado a un módulo bluetooth HC-06

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.
arduino_bluetooth

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;
		}
	}
}

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Time limit is exhausted. Please reload CAPTCHA.