Sommario:
Video: Candela senza fiamma da un Attiny13: 4 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-10 13:47
Ho bisogno di accendere le mie lanterne, ma quest'anno volevo qualcosa di meglio di una normale candela. Voglio tremolare, ma voglio liberarmi della fiamma. Qualsiasi incendio è pericoloso, specialmente intorno ai bambini, le zucche bruciacchiate puzzano e le candele normali devono essere sostituite abbastanza spesso. Così ho cercato in giro un progetto da copiare, stranamente non sono riuscito a trovarne uno che mi piacesse, così ne ho creato uno io. La mia prova originale del concetto era su un arduino, ma è un po' caro per una semplice candela. Una volta che ho dimostrato che avrebbe funzionato, ho trovato un modo per farlo a buon mercato. Ecco come l'ho fatto, con le cose che avevo a portata di mano. Il mio primo circuito e il mio primo istruibile.
Passaggio 1: le parti
Ho usato quello che avevo a portata di mano. Questo è venuto fuori.1) ATtiny13 x12) Led rosso x13) Led giallo x14) Resistenze da 100 ohm x25) Presa a 8 pin x16) Interruttore a foro passante x17) Portabatterie per batterie 2AA x18) Le resistenze della scheda perf variano in base ai tuoi led, puoi probabilmente trovi un interruttore migliore di me, puoi anche saltare la scheda perf e cablarla se vuoi.
Passaggio 2: il circuito
Il mio circuito di base, collegalo in questo modo.
Passaggio 3: il codice
Ecco il codice che ho usato. Faccio semplicemente lampeggiare i led e provo ad aggiungere un po' di casualità. Il codice potrebbe essere migliore usando pwm e le funzionalità di risparmio energetico, ma non so come fare nulla di tutto ciò. Il mio primo circuito non Arduino e il mio primo istruibile. L'effetto dei due led è soddisfacente nonostante io l'abbia fatto. Variando luminosità, colore e sfarfallio. Compila e carica il codice su tiny13, e sei a posto. Sentiti libero di postare un codice migliore…#include int main(void) { int thePin = 0x0; lungo randVal; casuale(123); //seme casuale DDRB = 0x3; // B0-1 impostato su output for(;;) { randVal = random(); // scegli un pin if((randVal % 2) == 0) { thePin = 0x0; } else { ilPin = 0x1; } randVal = random(); //alto o basso if((randVal % 2) == 0) { PORTB &= ~(1 << thePin); // x &= ~(1 << n); forza l'ennesimo bit di x a essere 0. tutti gli altri bit sono lasciati soli. } else { PORTB |= (1 << thePin); // x |= (1 << n); forza l'ennesimo bit di x ad essere 1. tutti gli altri bit lasciati soli. } }}
Passaggio 4: è così
Puoi carteggiare i led per diffondere la luce, o usare led smerigliati, puoi usare anche un led a 2 colori rosso/giallo. Mettilo in un sacchetto con chiusura a zip per evitare che diventi disgustoso e lascialo cadere nella zucca… istantaneo senza fiamma candela, e durerà per ore, e non devi preoccuparti che i bambini se ne occupino.