Controlar Arduino mediante un modulo bluetooth

tt

Sin duda la versatilidad de trabajar con Arduino es una de las ventajas mas relevante a la hora de elegir que sistema de desarrollo quiero utilizar para mis proyectos, elegir Arduino nos permite contar con infinidad de modulos disponibles,entre ellos el modulo bluetooth que podemos utilizar sin rendir cuentas de licencias a nadie.

Arduino cuenta con un modulo bluetooth que nos facilita la implementación de sistemas de comunicación entre dos dispositivos diferentes ¿se pusieron a pensar el abanico de posibilidades que nos da relacionar nuestro telefono celular android con una placa Arduino?

Vamos a ver un ejemplo de los tantos que hay en la web, donde se realiza la conexión de un celular android con la placa Arduino mediante el modulo Bluetooth.

Lista de materiales

1 – Placa Arduino
2 – Modulo Bluetooth (btm222)
3 – Resistencia de 10Ohms
4 – Un Led
5 – Algunos alambres para realizar las conexiones

Diagrama de conexión

Diagrama de conexion placa Arduino con modulo Bluetooth

Como se puede ver, el circuito es realmente simple.

Código Arduino bluetooth

Es importante que las velocidades de transmicion del emisor coincida con el receptor, de no ser asi es muy probable que se pierda informacion y no podamos realizar una comunicacion efectiva


const int ledPin = 2;      // the pin that the LED is attached to
  byte serialA;
void setup()
{
  // initialize the serial communication:
  Serial.begin(19200); //baud rate - make sure it matches that of the module you got:
  // initialize the ledPin as an output:
  pinMode(ledPin, OUTPUT);
}

void loop() {

if (Serial.available() > 0) {serialA = Serial.read();Serial.println(serialA);}

   
      switch (serialA) {
    case 1:
      digitalWrite(ledPin, HIGH);
      break;
    case 2:
      digitalWrite(ledPin, LOW);
      break;
    case 3:digitalWrite(ledPin, HIGH);
      delay(100);
      digitalWrite(ledPin, LOW);
      delay(100);
     default:

      break;
  }

}

Recepción de datos de Arduino

Para hacer algo que sea de utilidad utilizamos el sensor de temperatura DS1820

#include <OneWire.h>
int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2

//Temperature chip i/o
OneWire ds(DS18S20_Pin); // on digital pin 2
void setup()
{
  // initialize the serial communication:
  Serial.begin(19200);
  // initialize the ledPin as an output:
}

void loop() {
float temperature = getTemp();
Serial.println(temperature); delay (500);
}

float getTemp(){
//returns the temperature from one DS18S20 in DEG Celsius

byte data[12];
byte addr[8];

if ( !ds.search(addr)) {
//no more sensors on chain, reset search
ds.reset_search();
return -100;
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.println("CRC is not valid!");
return -1000;
}

if ( addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print("Device is not recognized");
return -1000;
}

ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end

byte present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad

for (int i = 0; i < 9; i++) {
data[i] = ds.read();
}
ds.reset_search();

byte MSB = data[1];
byte LSB = data[0];

float tempRead = ((MSB << 8) | LSB);
float TemperatureSum = tempRead / 16;

return TemperatureSum;}

Lectura de resultados

Existen varias aplicación para celulares que podemos bajar para realizar la lectura de los datos que llegan desde el modulo Bluetooth, dejo el link de una de ellas

La aplicacion
https://speedy.sh/RMFgg/bluetoothforarduino-app-temperaturereadings.apk

El codigo
https://speedy.sh/SHpjj/bluetoothforarduino-app-temperaturereadings-3.zip

Dejo un video con el resultado final

Bibliografica

https://www.instructables.com/

ARTICULOS RELACIONADOS

1 comentario sobre “Controlar Arduino mediante un modulo bluetooth

Deja un comentario

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