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

124 lines
2.8 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=4; // el del medio
int val=10;
int pul1=17;
int pul2=18;
int pul3=19;
int val1=255;
int inc=20;
int flag1=0;
int flag2=0;
int flag3=0;
long temp_ini=0;
long temp_ini_ant;
long 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);
if(val<2)
val = 2;
digitalWrite(ledPin, HIGH);
delay(2);
digitalWrite(ledPin, LOW);
delay(val);
/*
//temp_ini=millis();
if (((temp_ini-temp_ant) <= pot))
{
digitalWrite(ledPin, HIGH); // sets the LED on
//temp_ant = temp_ini;
}//delay(2); // waits for a second
else
{
digitalWrite(ledPin, LOW); // sets the LED off
temp_ant = temp_ini;
temp_ini = millis();
}*/
//delay(val); // waits for a second*/
}