Den läskiga dockan (2 / 7 steg)
Steg 2: Prototyper och testa kretsen
Med hjälp av AtTiny 85 är ett utmärkt val för dem som är bekanta med Arduino, eftersom du har möjlighet att använda Arduino IDE programmera den. Detta innebär att du kan prototyp krets med Arduino innan du distribuerar det till AtTiny.
Så jag skrev denna kod, och jag byggde en enkel testning krets med Arduino.
< p > #import < Arduino.h >< br >< /p >< p > int ledde = 0; Lysdioder pin
int knappen = 2; Tilt givarstaven
int ljusstyrka = 0; Hur ljus LED är
int fadeAmount = 5; Hur många poäng att blekna LED av
int storedVal = 0; används för att spara lutningssensorn statligt < /p >< p > void setup() {
pinMode (knappen, INPUT_PULLUP); initiera knappen pin en pullup input, så jag slipper använda en extern pullup motstånd.
pinMode ledde (, OUTPUT); initiera digital PIN-koden som en utgång.
} < /p >< p > void loop() {< /p >< p > int sensorVal = digitalRead(2); / / Läs sensor staten < /p >< p > om (sensorVal! = storedVal) {//if sensor värdet har ändrats, glimten i ögonen
storedVal = sensorVal; lagra sensor staten
fadeEyes(); anropa funktionen ögon ledde fade
} annat {
digitalWrite (ledde, låg); annars Stäng led av
} < /p >< p > delay(10); en liten försening för debouncing sensorn
} < /p >< p > void fadeEyes() {< /p >< p > för (int jag = 0; jag < 768; i ++) {//cycle 3 gånger
analogWrite (led, ljusstyrka); ställa in ljusstyrkan för led stift:
om (ljusstyrka == 255) {/ / maximal ljusstyrka, vänta 5 sekunder
Delay(5000);
}
ändra ljusstyrkan för nästa gång genom öglan:
ljusstyrka = ljusstyrka + fadeAmount; < /p >< p > / / omvänd riktning mot blekning i ändarna av toningen:
om (ljusstyrka == 0 || ljusstyrka == 255) {
fadeAmount = - fadeAmount;
} < /p >< p > / / vänta 30 millisekunder att se ljusreglering effekten
Delay(100); < /p >< p >} < /p >< p > digitalWrite (ledde, låg);
} < /p >
Koden är ganska enkel: det väntar på en changement i tillståndet tilt sensor, och när det händer, det börjar en liten slinga fading lysdioder ljusstyrkan
När koden fungerar på Arduino, är du redo att distribuera det på din AtTiny85