Flameless Candle From a Attiny13: 4 trinn
Flameless Candle From a Attiny13: 4 trinn
Anonim

Jeg trenger å tenne jack-o-lanternene mine, men i år ville jeg ha noe bedre enn et vanlig lys. Jeg vil flimre, men jeg vil bli kvitt flammen. Enhver brann er farlig, spesielt rundt barn, brennende smeltende gresskar stinker, og vanlige lys må skiftes ut ganske ofte. Så jeg søkte rundt etter et prosjekt å kopiere, merkelig nok fant jeg ikke et jeg likte, så jeg opprettet et selv. Mitt originale bevis på konseptet var på en arduino, men det er litt dyrt for et enkelt lys. Når jeg beviste at det ville fungere, fant jeg en måte å gjøre det billig på. Her er hvordan jeg gjorde det, ut av tingene jeg hadde på hånden. Min første krets og min første instruerbare.

Trinn 1: Delene

Jeg brukte det jeg hadde for hånden. Dette kom ut til. 1) ATtiny13 x12) Rød led x13) Gul led x14) 100 ohm motstander x25) 8pins stikkontakt x16) gjennom hullbryter x17) batteriholder for 2AA batterier x18) perf boardresistorer vil variere basert på lysdiodene dine, du kan sannsynligvis finne en bedre bryter enn jeg, du kan til og med hoppe over perf -brettet og koble det til en død feil hvis du vil.

Trinn 2: Kretsen

Min grunnleggende krets, bare koble den opp slik.

Trinn 3: Koden

Her er koden jeg brukte. Jeg bare blinker lysdiodene, og prøver å tilføre det litt tilfeldighet. Koden kan være bedre ved å bruke pwm og strømsparingsfunksjoner, men jeg vet ikke hvordan jeg skal gjøre noe av det. Min første ikke-arduino krets, og min første instruerbare. Effekten fra de to lysdiodene er tilfredsstillende til tross for hvordan jeg gjorde det. Varierende lysstyrke, farge og flimring. Kompiler og last opp koden til den lille13, så er du god til å legge ut. Post gjerne bedre kode …#include int main (void) {int thePin = 0x0; lang randVal; srandom (123); // tilfeldig frø DDRB = 0x3; // B0-1 satt til output for (;;) {randVal = random (); // velg en pin hvis ((randVal % 2) == 0) {thePin = 0x0; } annet {thePin = 0x1; } randVal = random (); // høy eller lav hvis ((randVal % 2) == 0) {PORTB & = ~ (1 << thePin); // x & = ~ (1 << n); tvinger n -bit av x til å være 0. alle andre biter som er igjen alene. } annet {PORTB | = (1 << thePin); // x | = (1 << n); tvinger den nte biten av x til å være 1. alle andre biter igjen alene. }}}

Trinn 4: Det er det

Du kan pusse lysdiodene for å spre lyset, eller bruke frostede lysdioder, du kan også bruke en rød/gul lysdiode i to farger. Legg den i en glidelåspose for å unngå at den blir grov, og slipp den i gresskaret … øyeblikkelig flammeløs lys, og det vil vare i flere timer, og du trenger ikke å bekymre deg for at barna skal rote med det.