< Arduino N° 66 | > Arduino N° 68 |
Il temporizzatore si potrebbe realizzare anche a "logica cablata": a transistori, a relay, a logica TTL, CMOS e quant'altro. Non me ne vogliano, quindi, i "puristi" o i nostalgici. Lo "sketch" viene qui presentato come parte ben funzionante da integrare in dispositivi molto più complessi, con un hardware ridotto veramente al minimo.
Buon lavoro! tecnatronATgmail.com
/* ------------------- Inizio programma -----------------------------
* Sensore Luci temporizzate
* Achille De Santis 02-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 - ");
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("Temporizzatore ON\t");
ManovraLuci(T1);
Serial.print("OFF\n");
S=digitalRead(sensore);
}
}
// ----------------------- Fine programma -------------------------------
Argomenti correlati:
Nessun commento:
Posta un commento