Salve a tutti, sono alle prime armi con arduino. Stavo facendo il progetto 13 dello starter kit, quello dove con la libreria CapacitiveSensor accendi un led sfiorando un materiale conduttivo.
Il codice lo ho preso dell'esempio ed è questo:
Solo che così appena lascio il pezzo conduttivo si spegne il LED.
Come dovrei scrivere il codice in modo che quando tocco il pezzo si accenda il LED, e quando lo ritocco si spenga?
Prova ad ispirarti all'esempio "Debounce" che trovi negli esempi dell'IDE. Dovrebbe essere quello che cerchi, basta togliere la condizione e qualsiasi riferimento al tempo (millis)
Usa prima di tutto un ciclo che eviti di ripetere l'azione per tutto il tempo che tocchi il sensore (la MCU e' molto piu veloce di te', anche se tu tocchi il sensore solo per un momento, nel frattempo lei potrebbe averlo letto un centinaio di volte) ... per quello, puoi usare questo sistema come esempio o modificarlo come ti serve Funzione semplice...aiuto - #7 by Etemenanki - Software - Arduino Forum
poi usi un'altra variabile come "flag" per lo stato del led, e fai due controlli consecutivi con if - else, nel punto in cui metti il codice per accendere il led ... ad esempio:
if
flag = 1 (il led e' acceso), allora spegni il led E metti flag a zero
else
flag = 0 (il led e' spento), allora accendi il led E metti flag ad 1