da cio che ho trovato in giro .
si tratta di misurare il tempo tra un lampeggio ed il successivo .
nel caso che il led lampeggi ad una distanza minima di 2 secondi non fa nulla
se lampeggia veloce, effettua un reset, attende 39 secondi e si riavvia.
secondo voi ce qualche miglioria da fare? e sicuramente delle correzioni
grazie e buona serata
- Codice: Seleziona tutto
boolean flag = 0;
boolean total_reset = 1;
byte premuto = 0; //segnale_memoria
long tt = 0; //tempo_trascorso
long tm = 0; //tempo_memoria
unsigned long T_pertenza = 0; // tempo avvio macchina
unsigned long o = 0;
float T_media = 0.0;
byte conta = 0;
int sensorValue = 0;
void setup() {
pinMode(13, OUTPUT);
pinMode(A5, INPUT);
Serial.begin(9600);
Serial.println (F(" xxxxx "));
}
void loop() {
sensorValue = analogRead(A5);
if (sensorValue >= 500 ) {
o = millis();
if (premuto == 0) {
premuto = 1;
tt = millis() - tm;
Serial.print (F(" premuto "));
Serial.println (conta);
tm = millis();
}
}
if (sensorValue < 500) {
if (premuto == 1) {
premuto = 0;
conta = conta + 1;
T_media += tt;
}
}
//||se total_reset == calcolo il tempo delle pressioni
if (total_reset == 0) {
//||se non aggiorno sensorValue resetta il sistema
if (millis() - o > 10000) {
Serial.println (F("reset tempo"));
total_reset = 1;// avvio procedura reset
}
//conto fino a 5 e faccio la media
if (conta >= 5 && premuto == 0) {
conta = 0;
Serial.print (F("tt ")); Serial.println (tt );
Serial.print (F("T_media "));
Serial.println (T_media / 5 );
Serial.println(F(" controllo"));
//dentro a conta >= 5 valuto il tempo T_media / 2
if (T_media / 5 < 2000 ) { //se vera
total_reset = 1;// avvio procedura reset
}
else {
Serial.println(F(" no azioni"));
}
T_media = 0.0;
}
}
if (total_reset == 1 ) {
if (flag == 0 ) {
T_media = 0.0;
conta = 0;
T_pertenza = millis();
Serial.println(F(" reset HIGH"));
digitalWrite(13, HIGH);
delay(1000);
Serial.println(F(" reset LOW"));
digitalWrite(13, LOW);
flag = 1;
}
// tempo di avvio da reset
if (millis() - T_pertenza > 30000) {
Serial.println(F(" avvio"));
flag = 0;
total_reset = 0;
}
}
}

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)










