Super Spooky onda LED ögon av Doom med atTiny85 och Arduino IDE (10 / 10 steg)
Steg 10: Spooky kod & programmering atTiny85 (45) med Arduino IDE
Använda dessa atTiny chips var riktigt roligt och intressant att lära.
För att programmera atTiny85 det är några stora resurser ute så jag kommer inte att upprepa dem. Här är hur jag lärde mig hur man arbetar med atTiny85
Denna tutorial hjälpte en ton. Det är från Hig-low tech labbet vid mit. http://HLT.Media.MIT.edu/?p=1695
En annan är denna video tutorial på makezine http://www.youtube.com/watch?v=30rPt802n1k
Min kod för detta projekt är en tweeked version av koden för detta projekt. http://www.kobakant.at/DIY/?p=3393
Använda koden finns här för testning och felsökning av din setup för att se till att allt fungerar. Jag använde denna kod efter att få frustrerat försöker hitta en dålig lödning gemensamt med randomiserade koden.
Ändringar jag gjort till koden:
"slumpmässigt" hur länge belysningen blekna på och bo. är ju längre tid, desto långsammare fadeon.
"slumpmässigt" PIN-koden som vänder på varje gång så att mönstret inte discernably upprepar.
(se arduino.cc för diskussion om inskränkningar random() funktion.)
Här är koden för projektet. Jag ansluten det som en txt
Jag är inte en expert programmerare, så om någon har bättre/mer effektiva sätt att åstadkomma detta, låt mig veta!
UPPDATERING 11/10/2013 *** här koden är avsedd att köras på den interna klockan 8MHz så se till och välj det här alternativet när du bränner bootloader och ladda upp skissen...
Se denna referens http://hlt.media.mit.edu/?p=1695
***************************************
--skrämmande ljus pwm test v 2.0
--Här koden bygger på arbete:
/*
Ernst Christensen 16.okt. 2011, tas från >> http://arduino.cc/forum/index.php/topic, 75334.0.html
Redigerad av Hannah mars 2012 >> http://www.kobakant.at/DIY/?p=3393
Super Spooky onda ögon av Doom revidera av Matt Pearson September 2012 >> instructables.com
*/
int ledde [] = {0,1,2,3,4}.
int count = 0;
int fördröjningstid = 40;
Ogiltiga inställningar () //--set alla stift till utgång
{
för (int x = 0; x < 5; x ++) {
pinMode(led[x],OUTPUT);
}
}
void spwm (int freq, int spin, int sp) {
--på
digitalWrite(spin,HIGH);
delayMicroseconds(sp*freq);
--off
digitalWrite(spin,LOW);
delayMicroseconds(sp*(255-freq));
} //spwm
void loop()
{
Fördröjningstid = random(3,80); / / uppsättning värden mellan 2 och 80--hur länge LED tänd
count = (random(0,5));
Blekning på--
för (int x = 1; x < 254; x ++)
{
spwm(x,LED[Count],delayTime);
}
--Bleknar bort
för (int x = 254; x > 1; x--)
{
spwm(x,LED[Count],4);
--det sista argumentet kan vara "fördröjningstid" variabel om du vill tona ut samma väg som du bleknat på.
--Ställa in den på 1 eller 2 varv av lampor riktigt snabbt som ögonlocket stängs
}
count = random(0,2);
Delay(Random(100,9000)); / /---tid lysdioder är OFF innan nästa öga vänder på 9 sekunder är ganska lång men gör det svårare att leta upp ögonen
}