Está en la página 1de 4

CODIGO

// C++ code
//PROGRAMA PARA LECTURA DE UN SENSOR DE GAS 16082021
void parpadeo(int duracion);

long randNumber;
float Temp, ruido;
int M=6;
int Lampara=8;
int PIR=7;
int flag=0;

void setup()
{
Serial.begin(9600);
pinMode(M, OUTPUT);
pinMode(Lampara, OUTPUT);
pinMode(PIR, INPUT);
for (int i=2;i<=5;i++){
pinMode(i,OUTPUT);
}
}

void loop()
{
// INICIA LECTURA Y CONTROL DE LEDS CON SENSOR DE GAS
int valor=analogRead(A5);
valor=map(valor,300,750,0,255);
Serial.print("Valor =");
Serial.print(valor);

/*if (valor>=0&&valor<60){
digitalWrite(2,HHIGH);
}
else{
digitalWrite(2,LOW);
}*/
digitalWrite(2,valor>=0&&valor<60 ? HIGH:LOW);// si el valor esta entre 0 y 60
enciende el led y de lo contrario lo apaga
digitalWrite(M,valor>=120&&valor<255 || Temp>=50 ? HIGH:LOW);
digitalWrite(3,valor>=60&&valor<120 ? HIGH:LOW);// si el valor esta entre 60 y
120 enciende el led y de lo contrario lo apaga
digitalWrite(4,valor>=120&&valor<180 ? HIGH:LOW);// si el valor esta entre 120 y
180 enciende el led y de lo contrario lo apaga
digitalWrite(5,valor>=180&&valor<255 ? HIGH:LOW);// si el valor esta entre 180 y
255 enciende el led y de lo contrario lo apaga
//FINALIZA LA LECTURA Y CONTROL DE LEDS CON EL SENSOR DE GAS
//INICIA CODIGO PARA LECTURA DEL SENSOR DE TEMPERATURA
randNumber=random(0,500);
ruido=randNumber*1.0/1000.0;
int estado=analogRead(A4);
if (randNumber<=5) ruido=-1.0*ruido;
Temp=(estado*(500.0/1023.0)-50.0+ruido);
Serial.print("\t");
Serial.print("Temp =");
Serial.println(Temp);
//FINALIZA CODIGO PARA LECTURA DEL SENSOR DE TEMPERATURA

int v=digitalRead(PIR);
if (v==HIGH){
int flag=flag+1;
}

if (valor>=120&&valor<255||Temp>=50){
parpadeo(400);
parpadeo(800);
parpadeo(400);
delay(2000);
}

void parpadeo(int duracion){


for (int i=1; i <= 3; i++){
digitalWrite(Lampara,HIGH); //se enciende el LED
delay(duracion); //tiempo de parpadeo
digitalWrite(Lampara,LOW); //se apaga el LED
delay(duracion);
}
}

También podría gustarte