Liten färg Mixer - en konstant ström, 3W RGB LED med indikator för låg batterinivå och polymorph diffuser (2 / 5 steg)
Steg 2: Inaktivera RESET för att få en mer i/o pin
ATtiny13 har bara 8 stift, varav 2 behövs för makt och varav 1 är normalt reserverad för återställning. Med tre analoga ingångar och tre PWM utgångar, detta använder varje möjligt pin, och kräver inaktivera Återställ PIN-koden.
I en mening verkar ägna en mikrokontroller pin för reset slösaktig. Hur ofta behöver faktiskt en enhet återställas i stället för bara tillfälligt skära makten? Med 40 eller fler pins på de flesta mikroprocessorer, varför inte ha en dedikerad Återställ PIN-kod? Men med bara sex, som ger upp mer än 15% av din data möjligheter. Naturligtvis kunde jag bara kliva upp nästa större chip - 14-polig ATtiny24 serien är ju bara några cent mer än 8-pin serien, 20-pin serien endast några cent mer än det, och det 28-pin ATmegas bara något mer. Då igen, med alla sex stift på en 8-pin chip verkar mer elegant, och det verkade som en kul bonus utmaning.
Utmaningen är att i-System programmering (ISP) kräver en reset för att avbryta chip och Lägg den i programmeringsläget. Men om vi inaktiverar Återställ PIN-koden (dvs förvandla det till en vanlig i/o pin av clearing bit 0 av hög säkringen), så hur kommer vi Programmera chip om ändringar behövs? Ett lätt alternativ: inte --program det rätt första gången, och om du behöver programmera det, få ett annat chip - de är billigare än en Snickers bar. Men de mer intressant sättet är att använda högspännings - programmering.
Det låter coolare och mer exotiska än det är. AVR chips på 1,8-5.5 volt, men om du använder 12 volt på Återställ PIN-koden, snarare än steks, chip kommer att gå in i en särskild programmeringsläget även om Återställ PIN-koden har "stängts av" i en vanlig i/o pin. En ISP programmerare, som Adafruit's USBtinyISP, är ansluten till 5v USB-port på datorn och kan inte generera de 12 volt, men ATmel gör flera programmerare som kan.
Eller för en kul DIY alternativ, det finns flera sätt att bygga en hög spänning programmerare, eller åtminstone en hög spänning fuse resetter som kan returnera en AVR till dess standardtillstånd för att ha en normal Återställ PIN-kod så att du kan använda din Internet-leverantör. Mnedix har en stor instructable för att göra detta, även om jag använde en Arduino-baserad av Paul Willoughby. Jag hade en Sparkfun Arduino-klon som jag hade aldrig använt, så på bara några minuter jag hakade upp till min strömförsörjning och kunde "återhämta" AVRs som hade deras säkringar låst till icke-ISP vänliga konfigurationer.