< Arduino N° 67 | > Arduino N° 69 |
Interruttore per luci temporizzate. Premendo l'interruttore, verso la fine del tempo di accensione, il dispositivo fa ripartire la temporizzazione senza spegnere le luci.
/* ------
----------- Inizio programma -----------------------------------------
* Sensore Luci temporizzate - retriggerabile
* Achille De Santis 03-11-2020
* Versione 4.0
*
*/
// ---------- I/O ---------------------------------------------
#define sensore 7 // sensore touch, interruttore
// ------------------------------------------------------------
const int T0 = 1000;
const int T1 = 5000; // millisecondi
bool S;
int U = 11; // uscita digitale per comando luci
int PreviousTime;
void intestazione()
{ Serial.println(" ---------------------------------------------- ");
Serial.println(" - Tecnatron - ing. Achille De Santis - ");
Serial.println(" - Sensore Luci temporizzate - retriggerabile - ");
Serial.println(" - Versione 4.0 - ");
Serial.println(" - I/O - ");
Serial.println(" - D11: uscita - ");
Serial.println(" - D7: sensore/interruttore attivo basso - ");
Serial.println(" ---------------------------------------------- ");
}
void ManovraLuci(int t)
{
digitalWrite(U,HIGH);
delay(t);
digitalWrite(U,!digitalRead(U));
}
void setup()
{
Serial.begin(9600); // setto la velocità di comunicazione
intestazione(); // intestazione, inviata alla seriale
pinMode(sensore, INPUT_PULLUP);
pinMode(U, OUTPUT);
ManovraLuci(T0); // prova
}
void loop()
{
S=digitalRead(sensore); // lettura valore del sensore al tocco.
while(S==false)
{
Serial.print("\nTemporizzatore ON\t");
digitalWrite(U,HIGH);
delay(T1);
S=digitalRead(sensore);
if (S==true)
{ digitalWrite(U,LOW); Serial.print("OFF"); }
}
}
// -------------------------- Fine programma --------------------------------------
Argomenti correlati:
Nessun commento:
Posta un commento