Sommario:

Regali illuminati: 5 passaggi (con immagini)
Regali illuminati: 5 passaggi (con immagini)

Video: Regali illuminati: 5 passaggi (con immagini)

Video: Regali illuminati: 5 passaggi (con immagini)
Video: GLITCH BMX GTA 5 2024, Dicembre
Anonim
Regali illuminati
Regali illuminati

In casa abbiamo due regali illuminati che vengono utilizzati durante il periodo natalizio. Si tratta di semplici regali illuminati che utilizzano un LED rosso-verde a 2 colori che cambia casualmente colore che si sbiadisce e si attenua. Il dispositivo è alimentato da una pila a bottone da 3 Volt. Quest'ultimo è stato il motivo di questo progetto poiché la batteria si scarica molto rapidamente quando i regali vengono accesi per un tempo più lungo.

Per evitare l'utilizzo di un'enorme quantità di batterie a bottone, ho progettato la mia versione utilizzando tre batterie AAA ricaricabili. Questa versione utilizza un LED RGB, quindi è possibile anche il blu, ma non faceva parte del design originale. La mia versione ha le seguenti funzioni:

  • Il controllo 2 si presenta contemporaneamente utilizzando un microcontrollore PIC12F617. Il software del microcontrollore è stato scritto nel linguaggio di programmazione JAL.
  • Accendere e spegnere il presente utilizzando un pulsante. La versione originale utilizzava un interruttore a tale scopo, ma un pulsante era più facile da usare.
  • Cambia casualmente il colore dei regali con dissolvenze in entrata e in uscita dei colori rosso e verde.
  • Spegnere i regali quando la tensione della batteria scende sotto i 3.0 Volt. Ciò eviterà che le batterie ricaricabili si scarichino troppo.

Dopo la dissolvenza in un colore, il LED rimane acceso per un tempo compreso tra 3 secondi e 20 secondi. Dato che avevo ancora il LED blu inutilizzato, ho aggiunto la funzione che entrambi i pacchetti diventeranno blu quando il tempo di accensione è esattamente 10 secondi. Ciò non accade molto spesso poiché il tempo casuale viene generato in scatti del timer di 40 millisecondi come descritto più avanti.

Passaggio 1: alcune teorie sulla dissolvenza in entrata e in uscita utilizzando la modulazione dell'ampiezza dell'impulso

Il modo migliore per modificare la luminosità di un LED non è modificare la corrente che scorre attraverso il LED, ma modificare il tempo in cui il LED è acceso entro un determinato intervallo di tempo. Questo modo di controllare la luminosità di un LED è chiamato Pulse Width Modulation (PWM) che è stato descritto più volte su Internet, ad es. Wikipedia.

PIC e Arduino hanno a bordo uno speciale hardware PWM che semplifica la generazione di questo segnale PWM, ma spesso hanno un'uscita per questo e quindi puoi controllare solo un LED. Per questa versione avevo bisogno di controllare 5 LED (2 rossi, 2 verdi e 1 blu combinati), quindi il PWM doveva essere eseguito nel software utilizzando un timer che generasse sia la frequenza PWM che il ciclo di lavoro PWM.

Il PIC12F617 ha un timer integrato con capacità di ricarica automatica. Ciò significa che una volta impostato il valore di ricarica del timer, utilizzerà quel valore ogni volta che il timeout è trascorso e quindi il timer funziona da solo a una frequenza specificata. Poiché la temporizzazione è fondamentale per un segnale PWM stabile, il timer funziona su base di interruzione, non essendo influenzato dal tempo necessario al programma principale per controllare e determinare il tempo di accensione casuale per i LED.

La frequenza PWM deve essere sufficientemente alta da evitare di vedere sfarfallio e quindi ho scelto una frequenza PWM di 100 Hz. Per l'effetto di dissolvenza in entrata e in uscita è necessario modificare il ciclo di lavoro e quindi la luminosità del LED. Ho deciso di utilizzare un incremento di 5 per aumentare o diminuire la luminosità per ottenere l'effetto di dissolvenza in entrata e in uscita e poiché il timer utilizza un intervallo da 0 a 255 per il ciclo di lavoro, il timer deve funzionare a 255 / 5 = 51 volte la frequenza normale o 5100 Hz. Ciò si traduce in un'interruzione del timer ogni 196 us.

Passaggio 2: il lavoro meccanico

Il lavoro meccanico
Il lavoro meccanico
Il lavoro meccanico
Il lavoro meccanico
Il lavoro meccanico
Il lavoro meccanico

Per fare i regali ho usato plastica acrilica bianco latte e per il resto dell'allestimento ho usato MDF. Per evitare che si veda la forma del LED nella confezione quando il LED è acceso, ho messo una copertura sopra i LED che diffonde la luce dal LED. Questa cover proviene da alcune vecchie candele elettroniche che avevo ma puoi anche creare una cover usando la stessa plastica acrilica. Nelle foto vedete cosa ho usato come attrezzatura e materiale.

Passaggio 3: l'elettronica

L'elettronica
L'elettronica
L'elettronica
L'elettronica
L'elettronica
L'elettronica
L'elettronica
L'elettronica

Il diagramma schematico mostra i componenti elettronici necessari. Come accennato in precedenza, 5 LED sono controllati indipendentemente dove è combinato il LED blu. Poiché il PIC non può pilotare due LED su un pin della porta, ho aggiunto un transistor per controllare i LED blu combinati. L'elettronica è alimentata da 3 batterie ricaricabili AAA e può essere accesa o spenta premendo l'interruttore di reset.

Per questo progetto sono necessari i seguenti componenti elettronici:

  • 1 microcontrollore PIC 12F617 con presa
  • 2 condensatori ceramici: 2 * 100nF
  • Resistori: 1*33k, 1*4k7, 2*68 Ohm, 4*22 Ohm
  • 2 LED RGB, alta luminosità
  • 1 transistor BC557 o equivalente
  • 1 interruttore a pulsante

Puoi costruire il circuito su una breadboard e non richiede molto spazio, come si può vedere nell'immagine. Ci si potrebbe chiedere perché i valori dei resistori per il controllo della corrente massima attraverso i LED siano così bassi. Ciò è dovuto alla bassa tensione di alimentazione di 3,6 Volt in combinazione con la caduta di tensione che ogni LED ha, che dipende dal colore per LED, vedi anche Wikipedia. I valori dei resistori determinano una corrente massima di circa 15 mA per LED dove la corrente massima dell'intero sistema è di circa 30 mA.

Passaggio 4: il software

Il software esegue le seguenti attività:

Quando il dispositivo viene ripristinato tramite il pulsante, accenderà il dispositivo se era spento o spegnerà il dispositivo se era acceso. Spento significa mettere il PIC12F617 in modalità di sospensione in cui consuma a malapena energia.

Genera il segnale PWM per controllare la luminosità dei LED. Questo viene fatto utilizzando un timer e una routine di servizio di interrupt che controlla i pin del PIC12F617 che a loro volta accendono e spengono i LED.

Fade-in e fade-out dei LED e mantienili accesi per un tempo casuale compreso tra 3 e 20 secondi. Se il tempo casuale è uguale a 10 secondi, entrambi i LED diventeranno blu per 10 secondi, dopodiché verrà utilizzato il normale schema di dissolvenza in entrata e in uscita rosso-verde.

Durante il funzionamento, il PIC misurerà la tensione di alimentazione utilizzando il suo convertitore analogico-digitale (ADC) integrato. Quando questa tensione scende al di sotto di 3,0 V, i LED si spengono e il PIC torna in modalità di sospensione. Il PIC potrebbe ancora funzionare bene a 3,0 V ma non è bene che le batterie ricaricabili si scarichino completamente.

Come accennato in precedenza, il segnale PWM viene creato utilizzando un timer che utilizza una routine di servizio di interruzione per mantenere un segnale PWM stabile. La dissolvenza in entrata e in uscita dei LED, compreso il tempo in cui i LED sono accesi, è controllata dal programma principale. Questo programma principale utilizza un timer tick di 40 millisecondi, derivato dallo stesso timer che crea il segnale PWM.

Poiché questa volta non ho utilizzato librerie JAL specifiche per questo progetto, ho dovuto creare un generatore casuale utilizzando un registro a scorrimento a feedback lineare per generare il tempo di accensione casuale e il tempo di spegnimento casuale dei LED.

Passaggio 5: il risultato finale

Image
Image
Il risultato finale
Il risultato finale

Ci sono 2 video che mostrano il risultato intermedio. Mia moglie deve ancora trasformare i cubi in veri regali. Un video mostra un primo piano del risultato in cui l'altro video lo mostra con il regalo originale che ha portato a questo progetto.

Come ci si può aspettare quando si pensa di aver finito, vengono visualizzati nuovi requisiti. Mia moglie mi ha chiesto se la luminosità dei LED può variare anche dopo la dissolvenza. Ciò è ovviamente possibile poiché ho utilizzato solo circa la metà della memoria di programma del PIC12F617.

Il file sorgente JAL e il file Intel Hex per la programmazione del PIC sono allegati. Se sei interessato a utilizzare il microcontrollore PIC con JAL, un linguaggio di programmazione simile a Pascal, visita il sito Web JAL.

Divertiti a creare questo Instructable e attendo con ansia le tue reazioni e i tuoi risultati.

Consigliato: