Stargate LED belyst halsband (2 / 7 steg)
Steg 2: Programmera Attiny85
Jag hade planerat ut där jag ville lysdioder i halsbandet. Baserat på 5 stift på Attiny85 (5 input/outout, återställa, GND, v +), jag kunde koppla ihop lysdioder för varje stift att ge mig 10 LED-lampor att arbeta med. Du har verkligen redogöra för max produktion eller nuvarande dragningen på varje stift och vad din lysdioder Rita. Från erfarenhet visste jag att jag kunde leva farligt med 2 paralled wired lysdioder med motstånd på varje stift chip. Med alla led full, jag tror inte att jag skulle bränna ut chippet... helt gör en matris av lysdioder är mer komplicerat och jag bara ville göra något enkelt. Leta upp "charlieplexing" se hur att lysa upp mer lysdioder med ett begränsat antal stift på chip.
LED-belysning är den grundläggande digital skriva att vända på LED.
För att få det att lysa upp i ett mönster, måste du programmera Attiny chip. Om du inte har en AVR programmering enhet, kan du skriva koden till Attiny genom att använda en Arduino ombord ansluten till din PC programmering-enhet.
Och så detta är mitt äventyr i programmering en Attiny85...
Det finns en hel del ibles redan på programmering en Attiny. Massor av människor har redan gjort det, så kan jag.
Jag tänker inte upprepa eller inkludera någon av detaljerna eftersom de upprepas i alla dessa ibles.
Ladda en ISP skiss så Arduino att fungera som en AVR programmerare.
Kort ut Återställ pin och 5v + med en kondensator på Arduino så det inte hålla på autoresetting sig under processen.
Tråd vissa stift från Attiny till Arduino att upprätta kommunikation och makt.
Bränna en bootloader till Attiny ställa in hastigheten det ska köras på.
Glöm inte att ändra inställningen styrelse i menyn att du bränner en Attiny85 på 8mhz klocka.
Ladda upp din skiss till Attiny genom regelbundna Arduino IDE.
Det är så enkelt att ställa in.
---------------------------------------------------------------------------------------------------------
Jag hade min skiss alla fungerat för att tända min lysdioder i ett mönster på Arduino.
Jag var bara tvungen att ändra pin assigments att matcha upp med dem på Attiny.
Observera att vissa kommandon inte stöds på den Attiny som finns på Arduino. Jag gjorde bara några grundläggande saker.
Jag byggde en liten AVR programmering sköld eftersom kabeldragning upp chip och Arduino är sådan en rutin även med en skärbräda. Om du använder huvudet stift för att ansluta till Arduino, Obs det är konstiga avstånd och placering av kvinnliga rubrikrader på Arduino ombord som gör det verkar dina pins är på sin plats och du kommer att behöva justera allt genom ögat innan du ansluter den.
Att göra en lång historia kort; Jag var redo att programmera min första Attiny. Med Internet-leverantören lastat på Arduino, satt jag i min sköld med chip. En trevlig pulserande sken från heartbeat LED, egentligen var det verkligen för ljust så jag satte en bit tejp över den. Hit upp. Jag fick alla fel som alla dessa ibles berättat att ignorera. Jag ställa in Attiny som kör fristående. Ingenting.
(Över en spännvidd på en timme eller mer...) Kolla dubbelgranska sköld ledningar, omprogrammera ISP, installera varje version av Arduino IDE 022 genom 1,05, tråd direkt utan sköld, använda motstånd att kort reset på min UNO, andra fel eller där uppladdaren hängde... Lagt är alla bort att prova igen nästa dag. Verkligen redo att ge upp.
---------------------------------------------------------------------------------------------------------
Så nästa dag... Efter att ha läst alla stöd forum på varför chip förbränning skulle inte alltför väl, beslöt jag att pop i en andra kretsen. Jag hade fått en uppsättning 5 från ebay så jag tänkte också dessa var bum marker. Jag tittade även upp Attiny85v och de markerade-10 p eller -20 p vilket är vad jag hade. Detta nya chip gav mig en ny uppsättning fel så något var lovande. Jag kunde ha smält det första chipet och bricked det. Enda sättet att eventuellt unbrick ett chip är med högspänning programmerare som jag inte hade (det är inte så illa som det låter men jag tittade upp efter allt detta och det är bara en sköld med 12v att återställa chip). Alla fel jag fick var på grund av vissa seriell kommunikationsfel och tidpunkten på dessa små marker är ganska känslig. Jag hade försökt att bränna alla de kombinationerna av hastighet.
Men tillbaka till historien... Det var en ensam omnämnande någonstans att du behöver justera den seriell kommunikationen i programvaran. Försök att sakta ner eftersom Attiny är verkligen igång på 1 mhz. I programmet ISP ändrade jag överföringshastigheten till 9600 och inställningen i programmer.txt. Det verkade göra något som vissa byte skrevs men fortfarande viss gräns midway. Jag såg fortfarande seriell övervaka staten 19200. Programmer.txt är en lång sträng som bläddrat förbi min text redaktör så jag inte har redigera det förut. Med det ändrade programmerare få lite längre. Det verkar som dessa Arduino ISP skisser är kallade kärnor och jag inte var säker som en sà ¥ att alla som användes framgångsrikt. For resten, de bara arbetat med vissa versioner av Arduino IDE. Jag var tvungen att räkna ut var min programmer.txt fil och om det var med IDE-versionen jag använde. Jag satte på 1,04 och kärnor från MIT HiLowTech github, jag tror som arbetade. Jag hade sjunkit överföringshastigheten till 2400 slutligen för en framgångsrik last. Dålig chip har några böjda stift från att dras in och ut ur uttaget till bakbord att testa. Säker, några sekunder offras med en skrivhastighet långsammare men det fungerade...
Jag hade försökt att få analogwrite att fungera i fading lysdioderna när kör på en Attiny85 på 8mhz. Det finns bara 2 PWM kan stift men jag provat dem alla. Det fanns inga märkbara toningseffekt även med ändra fördröjningstiderna eller det skulle spotta och bara flimmer. Jag gav upp på idén att använda LED fade och uppvisat det upp till den egendomliga timingen av mindre chip. Jag läste någonstans makten går i kan behöva filtreras av kondensatorer eftersom den påverkas av elektroniska buller. Jag ville bara få några lysdioder att blinka. Jag har tre mer marker att spela med. Användbarheten kan variera.