Sommario:
- Passaggio 1: modulazione dell'ampiezza dell'impulso nel software
- Passaggio 2: l'hardware e i componenti necessari
- Passaggio 3: il software rimanente e il risultato
Video: Candele elettroniche multiple: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Le candele elettroniche sono state pubblicate molte volte su Instructables, quindi perché questa?
A casa ho queste piccole casette di Natale semitrasparenti che hanno un'intuizione LED e una piccola batteria. Alcune case hanno LED con effetto candela e alcune hanno LED appena accesi. Le batterie piccole si scaricano in tempi relativamente brevi e siccome volevo avere un effetto candela in tutte le case ho deciso di farne un progetto PIC. Ovviamente puoi trasformarlo anche in un progetto Arduino.
Quindi cosa rende speciale questa candela elettronica? PIC e Arduino hanno tutti l'hardware Pulse Width Modulation (PWM) a bordo che può essere utilizzato per creare un effetto candela usando un LED ma nel mio caso volevo avere 5 candele elettroniche indipendenti usando un controller e che non è presente, almeno non che so fuori. La soluzione che ho usato è quella di rendere questi cinque segnali PWM indipendenti completamente nel software.
Passaggio 1: modulazione dell'ampiezza dell'impulso nel software
La modulazione dell'ampiezza dell'impulso è stata descritta più volte, ad es. in questo articolo Arduino:
PIC e Arduino hanno a bordo uno speciale hardware PWM che semplifica la generazione di questo segnale PWM. Se vogliamo creare uno o più segnali PWM nel software, abbiamo bisogno di due timer:
- Un timer utilizzato per generare la frequenza PWM
- Un timer utilizzato per generare il ciclo di lavoro PWM
Entrambi i timer generano e interrompono una volta completati e quindi la gestione del segnale PWM viene eseguita completamente guidata dall'interruzione. Per la frequenza PWM uso il timer 0 del PIC e lo lascio traboccare. Con un clock dell'oscillatore interno di 8 MHz e una prescala di 64 la formula è: Fosc/4 / 256 / 64 = 2.000.000 / 256 / 64 = 122 Hz o 8, 2 ms. La frequenza deve essere sufficientemente alta da non essere rilevata dall'occhio umano. Per questo è sufficiente una frequenza di 122 Hz. L'unica cosa che fa questa routine di interruzione del timer è copiare il ciclo di lavoro per un nuovo ciclo PWM e accendere tutti i LED. Lo fa per tutti e 5 i LED in modo indipendente.
Il valore del timer per gestire il ciclo di lavoro PWM dipende da come realizziamo l'effetto candela. Nel mio approccio simulo questo effetto incrementando il duty cycle con un valore di 3 per aumentare la luminosità del LED e decrementandolo con un valore di 25 per diminuire la luminosità del LED. In questo modo si ottiene un effetto a candela. Poiché utilizzo un valore minimo di 3, il numero di passaggi per controllare il ciclo di lavoro completo con un byte è 255 / 3 = 85. Ciò significa che il timer del ciclo di lavoro PWM deve funzionare con una frequenza di 85 volte la frequenza del Timer di frequenza PWM che è 85 * 122 = 10,370 Hz.
Per il duty cycle del PWM utilizzo il timer 2 del PIC. Questo è un timer con ricarica automatica e utilizza la seguente formula: Periodo = (Ricarica + 1) * 4 * Tosc * Valore di prescala Timer2. Con una ricarica di 191 e una prescala di 1 otteniamo un periodo di (191 + 1) * 4 * 1/8.000.000 * 1 = 96 us o 10.416 Hz. La routine di interruzione del ciclo di lavoro PWM verifica se il ciclo di lavoro è passato e spegne il LED per il quale il ciclo di lavoro è completato. Se il ciclo di lavoro non viene superato, decrementa un contatore del ciclo di lavoro di 3 e termina la routine. Lo fa per tutti i LED in modo indipendente. Nel mio caso questa routine di interrupt impiega circa 25 us e poiché viene chiamata ogni 96 us, già il 26% della CPU viene utilizzato per gestire il duty cycle PWM nel software.
Passaggio 2: l'hardware e i componenti necessari
Il diagramma schematico mostra il risultato finale. Sebbene io controlli solo 5 LED in modo indipendente, ho aggiunto un sesto LED che funziona insieme a uno degli altri 5 LED. Poiché il PIC non può pilotare due LED su un pin della porta, ho aggiunto un transistor. L'elettronica è alimentata da un adattatore CC da 6 volt/100 mA e utilizza un regolatore di tensione a bassa caduta per creare un 5 Volt stabile.
Sono necessari i seguenti componenti per questo progetto:
- 1 microcontrollore PIC 12F615
- 2 condensatori ceramici: 2 * 100nF
- Resistori: 1*33k, 6*120 Ohm, 1*4k7
- 6 LED arancioni o gialli, alta luminosità
- 1 transistor BC557 o equivalente
- 1 Condensatore elettrolitico 100 uF / 16 V
- 1 regolatore di tensione a bassa caduta LP2950Z
Puoi costruire il circuito su una breadboard e non richiede molto spazio, come si può vedere nell'immagine.
Passaggio 3: il software rimanente e il risultato
La parte restante del software è il ciclo principale. Il ciclo principale aumenta o diminuisce la luminosità dei LED regolando il ciclo di lavoro in modo casuale. Poiché incrementiamo solo con un valore di 3 e decrementiamo con un valore di 25, dobbiamo assicurarci che i decrementi non avvengano con la stessa frequenza degli incrementi.
Dal momento che non ho utilizzato alcuna libreria, ho dovuto creare un generatore casuale utilizzando un registro a scorrimento a feedback lineare, vedi:
en.wikipedia.org/wiki/Linear-feedback_shif…
L'effetto candela è influenzato dalla velocità con cui viene modificato il ciclo di lavoro PWM, quindi il ciclo principale utilizza un ritardo di circa 10 ms. Puoi regolare questo tempo per modificare l'effetto candela in base alle tue esigenze.
Il video allegato mostra il risultato finale in cui ho usato un cappuccio sopra il LED per migliorare l'effetto.
Ho usato JAL come linguaggio di programmazione per questo progetto e ho allegato il file sorgente.
Divertiti a creare questo Instructable e attendo con ansia le tue reazioni e i tuoi risultati.
Consigliato:
The E Band - Arte realizzata con parti elettroniche di scarto: 5 passaggi
The E Band - Art Made From Scrap Electronics Parts: Beh…avevo dei resistori extra (un sacco!) e altre parti.Quindi…ho realizzato un'opera d'arte usando questi frammenti di circuito
Ponte delle candele tremolanti: 6 passaggi (con immagini)
Flickering Candle Bridge: questa istruzione mostra come trasformare un semplice ponte di candele con luce statica in una bella luce d'atmosfera incandescente con infinite variazioni di luci tremolanti, scintillii, motivi a onde e quant'altro. Ho comprato da After Christmas Sales un ponte di candele per 8
Fai da te un circuito colorato per candele LED di buon compleanno: 7 passaggi
Fai da te un colorato circuito di candele LED di buon compleanno: l'ispirazione del design di questo circuito di candele proviene dalla nostra vita. Nella nostra festa di compleanno, dobbiamo accendere le candeline con un accendino e dopo aver espresso il desiderio spegniamo le candeline. Questo circuito fai-da-te si comporta allo stesso modo. Come possiamo vedere dalla cir
Maglione Chanukah luminoso con "candele" individuali: 7 passaggi (con immagini)
Maglione luminoso Chanukah con "candele" individuali: è la stagione delle feste natalizie e quest'anno puoi essere la stella splendente della festa con un maglione menorah luminoso! Questo è un progetto di circuito cucito che utilizza materiali relativamente economici che si trovano facilmente online e nel negozio di artigianato. Anche meglio
Come usare il Wiimote come mouse del computer usando le candele come sensore!!: 3 passaggi
Come utilizzare il Wiimote come mouse del computer utilizzando le candele come sensore!!: questa guida ti mostrerà come collegare il telecomando Wii (Wiimote) al PC e utilizzarlo come mouse