Ciao a tutti, sto sviluppando su Arduino Mega e sto provando la gestione degli Interrupt.
Per ora mi sto limitando a cambiare lo stato di un led quando viene schiacciato un pulsante, ma ho un problema:
essendo il contatto fisico del pulsante non esattamente perfetto al momento della pressione/rilascio vengono visti più fronti di salita discesa, come se il pulsante venisse premuto più volte, cambiando più di una volta lo stato del led.
Ho letto che si possono disabilitare gli interrupt attraverso la delayMicroseconds, ma pur procedendo così non ottengo cambiamenti
loop()
{
....
attachInterrupt(pbIn, accendi_manuale, FALLING);
...
}
void accendi_manuale()
{
state = !state;
digitalWrite(led, state);
delayMicroseconds(3000000);
}
Come potrei fare?
Grazie!