Como acender lâmpadas via bluetooth?

Olá a todos!

Neste projeto nós vamos acender 4 lâmpadas via bluetooth usando o celular Androide, na parte de hardware vamos usar a plataforma Arduino usando um display LCD para mostrar as mudanças de estado das lâmpadas.

 Nosso algorítimo vai ficar assim:

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

// Inicializa o display no endereco 0x27

LiquidCrystal_I2C lcd(0x27,16,2);

int comunica;

bool a = 1;

bool b = 1;

bool c = 1;

bool d = 1;

int rele_1 = 2;

int rele_2 = 3;

int rele_3 = 4;

int rele_4 = 5;

int pos;

String lampadas_status[] = {“lamp.1 desligada”,”lamp.2 desligada”,”lamp.3 desligada”,”lamp.4 desligada”};

void setup() {

pinMode (rele_1, OUTPUT);

pinMode (rele_2, OUTPUT);

pinMode (rele_3, OUTPUT);

pinMode (rele_4, OUTPUT);

lcd.init();

lcd.setBacklight(HIGH);

Serial.begin(9600);

lcd.setCursor(0,0);

lcd.print(“Aut residencial”);

digitalWrite(rele_1,1);

digitalWrite(rele_2,1);

digitalWrite(rele_3,1);

digitalWrite(rele_4,1);

}

void loop() {

lcd.setCursor(0,1);

lcd.print(”                “);

lcd.setCursor(0,1);

lcd.print(lampadas_status[pos]);

if (pos >= 0){

pos += 1;

}

if (pos >= 4){

pos = 0;

}

comunica = Serial.read();

Serial.println(comunica);

Serial.println(lampadas_status[pos]);

/////////////////////////////////////////////////////////////

if (comunica == 97){

a = !a;

digitalWrite(rele_1,a);

if (a == 0){

lampadas_status[0] = “lamp.1 ligada”;

}

else { lampadas_status[0] = “lamp.1 desligada”;}

}

/////////////////////////////////////////////////////////////

if (comunica == 98){

b = !b;

digitalWrite(rele_2,b);

if (a == 0){

lampadas_status[1] = “lamp.2 ligada”;

}

else { lampadas_status[1] = “lamp.2 desligada”;}

}

///////////////////////////////////////////////////////////////

if (comunica == 99){

c = !c;

digitalWrite(rele_3,c);

if (c == 0){

lampadas_status[2] = “lamp.3 ligada”;

}

else { lampadas_status[2] = “lamp.3 desligada”;}

}

///////////////////////////////////////////////////////////////

if (comunica == 100){

d = !d;

digitalWrite(rele_4,d);

if (d == 0){

lampadas_status[3] = “lamp.4 ligada”;

}

else { lampadas_status[3] = “lamp.4 desligada”;}

}

///////////////////////////////////////////////////////////////

delay(1000);

}

Este display usa um placa de comunicação I2C para facilitar as ligações.

O próximo passo é fazer o aplicativo que está no vídeo abaixo.

A programação do aplicativo é feito todo no App Inventor, é necessário ter uma conta no google.

A programação vai ficar assim.

O projeto funcionando vai ficar assim.

Você pode baixar os arquivos no link  https://mega.nz/#F!9xtx2KrT!8mF9lW-vu7sm7YbnVAs6iQ