Você está na página 1de 6

const int Led_luminosidad1=13;

const int Led_luminosidad2=12;

const int Led_luminosidad3=11;

const int sensorPin= A4;

const int electrovalvula=4;

const int buz=6;

const int azul=3;

const int rojo=2;

const int boton=A1;

const int sensor=A0;

boolean boo=1;

int val;

int valor;

int ELECTROVALVULA = 7;

int estado=-1;//-1 inicio, 0 muerto, 1 activo, 2 sonando

int on=0;

int c=0;

boolean c_bo=1;

unsigned long pivote_tiem=0;

void setup() {

Serial.begin(9600);

pinMode(buz,OUTPUT);

pinMode(azul,OUTPUT);

pinMode(rojo,OUTPUT);

pinMode(Led_luminosidad1, OUTPUT);

pinMode(Led_luminosidad2, OUTPUT);
pinMode(Led_luminosidad3, OUTPUT);

pinMode(A2,INPUT); // Pin A1 entrada analógica (Sensor Temperatura)

pinMode(5,OUTPUT); //Ventilador

pinMode(ELECTROVALVULA, OUTPUT);

void loop() {

valor = analogRead(A3);

Serial.print("El valor es = ");

Serial.println(valor);

if(valor >100)

digitalWrite(ELECTROVALVULA, LOW);

else{

digitalWrite(ELECTROVALVULA,HIGH);

delay(1000);

val=analogRead (A1); //Lee valor pin A1 (Sensor)y lo guarda en la variable val

float mv = (val/1024.0)*5000; // Declara variable flotante y opera para obtener escala


centígrada

float temp = mv/10; // Declara variable flotante y opera para obtener escala centígrada

Serial.print ("TEMPERATURE = "); // Escribe en el monitor la palabra TEMPERATURE

Serial.print (temp); // Muestra en pantalla el valor leído de temperatura

Serial.print ("ºC"); //Escribe en el monitor ºC

Serial.println(); // Salto de linea

if(temp>23){

digitalWrite (6,HIGH); //se enciende el ventilador


}

else {

digitalWrite (6,LOW); //se apaga el ventilador

delay(1000);

int humedad= analogRead(sensorPin);

Serial.print(humedad);

if(humedad<30){

digitalWrite(electrovalvula,HIGH);

else {

(electrovalvula,LOW);

delay(1000);

int val=analogRead(sensor);

int bot=analogRead(boton);

if (analogRead(0) > 150) {

digitalWrite(Led_luminosidad1, LOW);

digitalWrite(Led_luminosidad2, LOW);

digitalWrite(Led_luminosidad3, LOW);

else {

digitalWrite(Led_luminosidad1, HIGH);

digitalWrite(Led_luminosidad2, HIGH);

digitalWrite(Led_luminosidad3, HIGH);
}

Serial.println(val);

///

switch(estado){ // acciones que dependen del estado

case -1:{//inicio //carga de inicio

digitalWrite(azul,1);

digitalWrite(rojo,1);

digitalWrite(buz,0);

int seg=20;

if(millis()>=seg*1000)estado=0;

}break;

case 0:{//muerto

digitalWrite(azul,0);

digitalWrite(rojo,0);

digitalWrite(buz,0);

f_bot(bot,1);

///

on=0;

c=0;

c_bo=1;

}break;

case 1:{//activo

digitalWrite(azul,1);

digitalWrite(rojo,0);

digitalWrite(buz,0);

int seg=6;

if(millis()-pivote_tiem>1000*seg)estado=2;
}break;

case 2:{//sonando

f_bot(bot,0);

digitalWrite(azul,0);

if(val>200){

on=1;

if(on){

digitalWrite(rojo,1);

c++;

if(c>20){c_bo=!c_bo;c=0;}

digitalWrite(buz,c_bo);

}break;

delay(10);

void f_bot(int bot,int x){//funcion boton

if(bot>300){

if(boo){

boo=0;

estado=x;

pivote_tiem=millis();

Serial.println("act");

}else{

boo=1;
}