LED Tree med DigiSpark (4 / 10 steg)
Steg 4: Koncept 3: koden
För koden ville jag sätta 4 animationer• Alla lysdioder på wit 2 röda lysdioder blekning på PWM
• Alla blekning på PWM
• Alternativa flimmer
• Alternativa blekning på PWM
• Och slinga varje för 30 SEK
Jag använde Digispark på Arduino Studio till koden.
Också använt en maskinvaruavbrott med debounce ändra animation.
Jag hade ingen schmit trigger chip att använda maskinvaruavbrott, så används debounce och attachinterrupt i unik kombination
Partiella kod :)
void setup() {
deklarera pin 0 och 1 för att vara en utgång:
pinMode (led0, produktionen);
pinMode (led1, produktionen);
pinMode (led4, produktionen);
pinMode (knapp, indata);
Hårdvara avbryta på fysiska stift 7, logiska stift 2)
attachInterrupt (0, flag_interrupt, förändring);
}
Boolean debounce(boolean last)
{
booleska ström = digitalRead(button);
om (sista! = nuvarande) {delay(5); ström = digitalRead(button);}
returnera aktuell; }
void flag_interrupt()
{/ / read-knappen, ange flaggan ++
currentButton = debounce(lastButton);
om (lastButton == låg & & currentButton == hög) {flagga = flagga + 1;}
lastButton = currentButton;
}