float Temperatura = 0;
float Umidade = 0;
int Luminosidade = 0;
String Dia_noite = "Indefinido";
float Temperatura_DS18 = 0;
boolean fre = 0;
unsigned int Comando_controle = 0;
byte primeiro = 0;
byte Ultimo_comando = 0;
void interrupt_0(){
}
#include "DHT.h"
DHT dht_4(4,DHT22);
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWireBus(7);
DallasTemperature sensors(&oneWireBus);
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);
#include <IRremote.h>
IRsend irsend;
IRrecv ir_rx(6);
decode_results ir_rx_results;
unsigned long fnc_ir_rx_decode()
{
bool decoded=false;
if( ir_rx.decode(&ir_rx_results))
{
decoded=true;
ir_rx.resume();
}
if(decoded)
return ir_rx_results.value;
else
return 0;
}
void my_2() {
Temperatura = dht_4.readTemperature();
Umidade = dht_4.readHumidity();
sensors.requestTemperatures();
Temperatura_DS18 = sensors.getTempCByIndex(0);
if (Temperatura <= 20) {
analogWrite(9, 0);
analogWrite(10, 0);
analogWrite(11, 255);
}
if (Temperatura > 20 && Temperatura <= 25) {
analogWrite(9, 0);
analogWrite(10, 255);
analogWrite(11, 0);
}
if (Temperatura > 25 && Temperatura <= 30) {
analogWrite(9, 255);
analogWrite(10, 255);
analogWrite(11, 0);
}
if (Temperatura > 30 && Temperatura <= 40) {
analogWrite(9, 255);
analogWrite(10, 80);
analogWrite(11, 0);
}
if (Temperatura > 40) {
analogWrite(9, 255);
analogWrite(10, 0);
analogWrite(11, 0);
}
}
void my_1() {
while (digitalRead(2) == 0){
pinMode(13, OUTPUT);
digitalWrite(13, 1);
pinMode(12, OUTPUT);
digitalWrite(12, 0);
delay(analogRead(A0));
pinMode(13, OUTPUT);
digitalWrite(13, 0);
pinMode(12, OUTPUT);
digitalWrite(12, 1);
delay(analogRead(A0));
}
pinMode(13, OUTPUT);
digitalWrite(13, 0);
pinMode(12, OUTPUT);
digitalWrite(12, 0);
}
void my_3() {
Luminosidade = analogRead(A1);
if (Luminosidade >= 980) {
Dia_noite = "Noite";
} else {
Dia_noite = "Dia";
}
}
void my_4() {
while (digitalRead(3) == 0){
for (int fre=150; fre<=1800; fre=fre+1) {
tone(5,fre,10);
delay(10);
delay(1);
pinMode(13, OUTPUT);
digitalWrite(13, 1);
pinMode(12, OUTPUT);
digitalWrite(12, 0);
}
for (int fre=1800; fre>=150; fre=fre-1) {
tone(5,fre,10);
delay(10);
delay(1);
pinMode(13, OUTPUT);
digitalWrite(13, 0);
pinMode(12, OUTPUT);
digitalWrite(12, 1);
}
}
}
void setup() {
attachInterrupt(digitalPinToInterrupt(0),interrupt_0,LOW);
dht_4.begin();
sensors.begin();
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(5, OUTPUT);
ir_rx.enableIRIn();
}
void loop() {
Temperatura <= 20;
if ((unsigned long)fnc_ir_rx_decode() != 0) {
u8g.firstPage();
do {
u8g.setFont(u8g_font_6x10);
u8g.setPrintPos(0, 10);
u8g.print("Comando IR:");
u8g.setFont(u8g_font_6x10);
u8g.setPrintPos(0, 20);
u8g.print((unsigned long)fnc_ir_rx_decode());
} while( u8g.nextPage() );
}
}