#include "SoftwareSerial.h" #include #define dht1_dpin 8 #define dht2_dpin 9 dht DHT1; dht DHT2; SoftwareSerial bluetooth(3, 2); // RX, TX // Pinos onde está conectado o módulo de relês const int rele_1 = 4, rele_2 = 5, rele_3 = 6, rele_4 = 7; int selecionado = rele_1, temp1 = 0x00, umid1 = 0x00, temp2 = 0x00, umid2 = 0x00; float temp11, temp22; const int LIGADO = LOW; const int DESLIGADO = HIGH; void setup() { digitalWrite(rele_1, DESLIGADO); pinMode(rele_1, OUTPUT); digitalWrite(rele_2, DESLIGADO); pinMode(rele_2, OUTPUT); digitalWrite(rele_3, DESLIGADO); pinMode(rele_3, OUTPUT); digitalWrite(rele_4, DESLIGADO); pinMode(rele_4, OUTPUT); Serial.begin(9600); Serial.println("Iniciado"); bluetooth.begin(9600); } void loop() { if (bluetooth.available()) { parser (bluetooth.read()) ; } if (Serial.available()) { parser (Serial.read()) ; } DHT1.read11(dht1_dpin); temp1 = DHT1.temperature; DHT2.read11(dht2_dpin); temp2 = DHT2.temperature; temp11 = temp1; temp22 = temp2; bluetooth.print("|temp1|"); bluetooth.print(temp11); bluetooth.print("|temp2|"); bluetooth.print(temp22); } void parser (char incoming) { Serial.print(incoming); switch (incoming) { case 'A': case 'a': selecionado = rele_1; break; case 'B': case 'b': selecionado = rele_2; break; case 'C': case 'c': selecionado = rele_3; break; case 'D': case 'd': selecionado = rele_4; break; case '+': print_rele(); Serial.println("LIGA"); digitalWrite(selecionado, LIGADO); break; case '-': print_rele(); Serial.println("desliga"); digitalWrite(selecionado, DESLIGADO); break; case '/': print_rele(); Serial.print("inverte -> "); if (invert(selecionado) == 0) { Serial.println(" LIGA"); } else { Serial.println(" desliga"); } break; } } int invert(int pin) { int result = 1 - digitalRead(pin); digitalWrite(pin, result); return result; } inline void print_rele() { if (selecionado == rele_1) { Serial.print(" Rele 1: "); } else if (selecionado == rele_2) { Serial.print(" Rele 2: "); } else if (selecionado == rele_3) { Serial.print(" Rele 3: "); } else if (selecionado == rele_4) { Serial.print(" Rele 4: "); } else { Serial.print(" Indefinido: "); } }