Controlador de consumo de chuveiro arduino
Por: Paulo Miranda • 29/6/2015 • Pesquisas Acadêmicas • 4.163 Palavras (17 Páginas) • 295 Visualizações
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define PRESSIONADO true
#define SOLTO false
#define PRESSIONADO2 true
#define SOLTO2 false
#define PRESSIONADO3 true
#define SOLTO3 false
#define PRESSIONADO4 true
#define SOLTO4 false
LiquidCrystal_I2C lcd(0x27,16,2); // DISPLAY
const int caso = 12;
const int rele = 13;
const int s1 = 2;
const int s2 = 8;
boolean estado_s1;
boolean estado_s2;
boolean estado_s3;
boolean estado_s4;
float aguse, watts;
float calc, agua;
int m=0;
int s=0, x=0;
long int tempo=0;
void setup() {
Serial.begin(9600);
lcd.init();
pinMode(s1, INPUT);
pinMode(rele, OUTPUT);
}
void loop(){
if (digitalRead(s2) == LOW)
{
delay(20);
if(estado_s3 == SOLTO3)
{
estado_s3 = PRESSIONADO3;
digitalWrite(caso,digitalRead(caso));
}
}
else
{
estado_s3 = SOLTO3;
delay(20);
}
if (digitalRead(s2) == HIGH)
{
delay(20);
if(estado_s4 == SOLTO4)
{
estado_s4 = PRESSIONADO4;
digitalWrite(caso,!digitalRead(caso));
}
}
else
{
estado_s4 = SOLTO4;
delay(20);
}
if (caso,digitalRead(caso)){
tempo=millis(); //CALCULA O TEMPO
m=(tempo/1000)/60; //TEMPO EM MINUTOS
s=((tempo/1000)%60); //TEMPO EM SEGUNDOS
calc= (m*60 + s); //CALCULA O TOTAL EM SEGUNDOS
aguse=(calc*0.14166); //CALCULA O TOTAL EM LITROS DE AGUA
watts=(7000*(calc/3600))/1000; //CALCULO DE REAIS DA ENERGIA
//agua=(0,003*aguse);
if (digitalRead(s1) == HIGH)
{
delay(20);
if(estado_s1 == SOLTO)
{
estado_s1 = PRESSIONADO;
digitalWrite(rele,!digitalRead(rele));
}
}
else
{
estado_s1 = SOLTO;
delay(20);
}
if (digitalRead(s1) == HIGH)
{
delay(20);
if(estado_s2 == SOLTO2)
{
estado_s2 = PRESSIONADO2;
digitalWrite(rele,digitalRead(rele));
...