Lab_interaccio/2009/Sueños de un grifo/fuente/fuente.pde

98 lines
2.5 KiB
Plaintext
Raw Permalink Normal View History

2025-02-25 21:21:58 +01:00
int time= 5;
int ledPin = 2;
int bomba = 9;
int sensor1 = 14;
int sensor2 = 15;
int gota = 2;
int pot=0;
int val=10;
int pul1=17;
int pul2=18;
int pul3=19;
int val1=255;
int inc=1;
int flag1=0;
int flag2=0;
int flag3=0;
int temp_ini=time;
int temp_ini_ant;
int temp_ant=0;
void setup() // run once, when the sketch starts
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
//pinMode(sensor1, INPUT);
//pinMode(sensor2, INPUT);
pinMode(pul1, INPUT);
pinMode(pul2, INPUT);
pinMode(pul3, INPUT);
pinMode(13, OUTPUT);
pinMode(bomba, OUTPUT);
//digitalWrite(sensor1, HIGH);
//digitalWrite(sensor2, HIGH);
digitalWrite(pul1, HIGH);
digitalWrite(pul2, HIGH);
digitalWrite(pul3, HIGH);
digitalWrite(13, HIGH); //Encendido
//analogWrite(bomba, val);
}
void loop() // run over and over again
{
//if ((digitalRead(sensor1)==0)&&(digitalRead(sensor2)==1)) digitalWrite(bomba, HIGH);
//else if ((digitalRead(sensor1)==1)&&(digitalRead(sensor2)==0)) digitalWrite(bomba, LOW);
/*if (digitalRead(pul1)==0) analogWrite(bomba, 255);
if (digitalRead(pul2)==0) analogWrite(bomba, 200);
if (digitalRead(pul3)==0) analogWrite(bomba, 160);*/
if ((digitalRead(pul1)==0)&&(flag1==0))
{
if ((val1+inc)>=255) val1=255;
else val1=val1+inc;
flag1=1;
}
else if(digitalRead(pul1)==1) flag1=0;
if ((digitalRead(pul2)==0)&&(flag2==0))
{
val1=150;
flag2=1;
}
else if(digitalRead(pul2)==1) flag2=0;
if ((digitalRead(pul3)==0)&&(flag3==0))
{
if (val1<=inc) val1=0;
else val1=val1-inc;
flag3=1;
}
else if(digitalRead(pul3)==1) flag3=0;
analogWrite(bomba, val1);
/*if (analogRead(gota)>800) digitalWrite(ledPin,HIGH);
else digitalWrite(ledPin,LOW);*/
if ((analogRead(1)>analogRead(0))&&((temp_ini-temp_ant) <= time))
{
//if ((temp_ini-millis())>(time-8)) digitalWrite(ledPin,HIGH);
digitalWrite(ledPin,HIGH);
temp_ini=millis();
}
else if (analogRead(1)<analogRead(0))
{
temp_ant=millis();
digitalWrite(ledPin,LOW);
temp_ini_ant = temp_ini;
}
else if ((temp_ini-temp_ant)>time)
{
digitalWrite(ledPin,LOW);
}
/*val=analogRead(pot);
digitalWrite(ledPin, HIGH); // sets the LED on
delay(2); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(val); // waits for a second*/
}