Sommario:

Nessuna lampada blu: 4 passaggi
Nessuna lampada blu: 4 passaggi

Video: Nessuna lampada blu: 4 passaggi

Video: Nessuna lampada blu: 4 passaggi
Video: Miboxer Трековый Zigbee светильник и Zigbee пульт на 8 зон с прямым биндингом 2024, Luglio
Anonim
Nessuna lampada blu
Nessuna lampada blu
Nessuna lampada blu
Nessuna lampada blu
Nessuna lampada blu
Nessuna lampada blu
Nessuna lampada blu
Nessuna lampada blu

Quindi questo Lazy Old Geek (L. O. G.) ha lavorato a un progetto Blue Light:

www.instructables.com/id/Blue-Light-Projec…

www.instructables.com/id/Blue-Light-Projec…

Bene, per il passaggio successivo volevo una lampada che fosse luminosa durante il giorno e senza luce blu la sera/notte.

Hardware di progettazione:

Ho deciso di utilizzare un RTC (Real Time Clock) per controllare i tempi dei cambi di luce.

Ho scelto il DS3231 in quanto ha un tempo migliore per mantenere la precisione rispetto al DS1307. Il DS3231 può essere 5v o 3.3v.

Per la luce, userò una stringa di LED WS2812B. Questi hanno una semplice interfaccia a tre fili e LED rossi, verdi e blu controllabili. WS2812B sono dispositivi 5v.

Per il microcontrollore userò un Pro Micro, 5v 16MHz.

Mentre il WS2812B probabilmente funzionerà con 3,3 V, è meglio usare un Arduino 5 V.

Il Pro Micro è un Arduino economico che utilizza un microcontrollore Atmega32U4.

La lampada avrà un interruttore on/off per accendere o spegnere la lampada.

Ci sarà un potenziometro per controllare la luminosità.

Software di progettazione:

Il DS3231 RTC controllerà i tempi, ha una batteria di backup, quindi dovrebbe mantenere il tempo anche in caso di interruzione dell'alimentazione.

Durante il giorno tutti i led RGB sarebbero accesi, controllabili dalla pentola fino alla massima intensità.

In prima serata, i LED Blu saranno spenti, Rosso e Verde accesi max.

Con l'avanzare della sera, i LED rosso e verde si attenueranno, con la preferenza del rosso sul verde (i miei test nella parte 2 suggeriscono che i LED verdi hanno del blu).

Dopo le 22 circa tutti i led saranno spenti.

PROBLEMA:

Tornando al modulo RTC DS3231, ho acquistato il mio da Aliexpress come ho fatto per gli altri componenti.

Questi dovrebbero funzionare e caricare una batteria ricaricabile LIR2032. L'ho provato. Dopo circa un giorno la batteria era scarica.

Bene, dopo alcune ricerche su Internet, ho trovato questo articolo.

www.onetransistor.eu/2019/07/zs042-ds3231-…

Sono d'accordo con questa analisi, ma ho pensato che LIR2032 si sarebbe addebitato adeguatamente ma non eccessivamente. A quanto pare mi sbagliavo. Il mio DS3231 anche se contrassegnato come ZS-042 come nell'articolo era leggermente diverso dal suo ma quasi lo stesso. Quindi ho dissaldato il diodo visto in foto e installato una batteria CR2032. Senza il diodo il modulo non proverà a caricare la batteria. Ora il DS3231 mantiene l'ora corretta anche con l'alimentazione scollegata e la batteria dovrebbe essere buona per molti anni.

Requisiti di alimentazione:

Il WS2812B è una serie di LED RGB chiamati a volte NeoPixel. Ogni NeoPixel richiede un massimo di 60 mA. Sto usando 12 Neo Pixel, quindi ho bisogno di 0,72 A. Sto usando un adattatore USB da 2 A, quindi ho molta corrente.

Passaggio 1: PCB BlueLamp

PCB BlueLamp
PCB BlueLamp
PCB BlueLamp
PCB BlueLamp

Quindi, come faccio di solito, ho usato il software gratuito Eagle Cadsoft (ora Autodesk) per impaginare e creare il mio PCB.

www.autodesk.com/products/eagle/free-downl…

I file dello schema e della scheda Eagle sono allegati insieme allo schema in un'immagine.

Un commento sullo schema, il resistore da 330 ohm e il condensatore da 10.000 uFd sono consigli della guida neopixel di Adafruit:

learn.adafruit.com/adafruit-neopixel-uberg…

Il pulsante di attivazione/disattivazione che ho usato "Interruttore a pulsante torcia" proveniva da qui:

www.aliexpress.com/item/32904942704.html?s…

Il potenziometro 10K (B103) da qui:

www.aliexpress.com/item/32672253655.html?s…

Passaggio 2: assemblaggio della lampada

Assemblaggio della lampada
Assemblaggio della lampada
Assemblaggio della lampada
Assemblaggio della lampada

Mi è capitato di avere una base pesante da una lampada che ho acquistato. Aveva una grande spilla rotonda. Ho preso un pezzo di tubo in PVC che ci sta sopra. Era un po' allentato, quindi ho preso un bullone e un paio di dadi per poterlo stringere. (Guarda l'immagine)

Il WS2812B può essere tagliato nel numero di NeoPixel che desideri. La striscia che ho comprato ha ampi spazi tra i NeoPixel. Volevo che fosse un po' più luminoso, quindi ho tagliato due strisce da 6 NeoPixel e le ho fatte scorrere in parallelo leggermente sfalsate. Le strisce WS2812B possono essere tagliate tra i NeoPixel. In questo caso avevo bisogno di un cambiamento di 180 gradi, quindi ho tagliato la striscia e ho fatto passare i fili dei ponticelli in mezzo. Se mai lo fai, assicurati che i segnali e le frecce di direzione siano corretti. (vedi foto)

Questo WS2812B ha anche cavi e un connettore (questo connettore è un connettore JST-SM a 3 pin se si desidera utilizzarlo altrove). Poiché questo connettore era già presente, ho semplicemente saldato i fili al mio PCB. Per questo WS2812B il filo rosso è 5v, il verde è il segnale e il bianco è la massa.

Una volta realizzato il PCB, ho messo del nastro adesivo sul fondo e l'ho attaccato alla base. Poi ho collegato il Pro Micro e il DS3231.

Passaggio 3: schizzo Arduino

Arduino Sketch
Arduino Sketch

Sebbene abbia acquistato il mio Pro Micro da Aliexpress.com, ho utilizzato le seguenti informazioni per far funzionare Arduino:

learn.sparkfun.com/tutorials/pro-micro--fi…

Per installare la libreria per il DS3231, io uso questo:

github.com/PaulStoffregen/DS1307RTC

Scarica il file zip

Apri Arduino, seleziona "Schizzo" "Includi libreria" "Aggiungi libreria.zip"

Installa quanto segue usa lo stesso metodo

Biblioteca del tempo PaulStoffregen

github.com/PaulStoffregen/Time

Libreria dei fusi orari

github.com/JChristensen/Timezone

Al termine, avvia Arduino.

Sotto Schede Strumenti seleziona "Sparkfun Pro Micro"

Fai di nuovo clic su Strumenti, ci sarà una selezione per il processore

Potrebbe essere necessario cambiarlo "Atmega32U4 (5V 16Mhz)"

ATTENZIONE: se sei disattento come me, ho selezionato per errore "Atmega32U4 (3.3V 8Mhz)". Questo lo ha "murato" in modo che Arduino non potesse vederlo. Bene, di solito cerco di leggere cose nuove prima di averle e di ricordare qualcosa su questo avvenimento:

learn.sparkfun.com/tutorials/pro-micro--fi…

In questa guida, c'è una sezione chiamata "Come far rivivere un "Bricked" Pro Micro" Come menzionato, è una procedura complicata ma sono riuscito a recuperare il mio.

Cordiali saluti: se ti stai chiedendo perché ci sono due versioni con tensioni e velocità diverse, l'Atmega32U4 (lo stesso dell'Atmega328) funzionerà bene a 5V con un clock a 16MHz. Ma a 3,3 V le specifiche di progettazione dicono che l'orologio a 16 MHz non funzionerà, ecco perché hanno l'orologio a 8 MHz. In generale, parlando il software Arduino si occuperà di eventuali problemi di temporizzazione.

SUGGERIMENTO RTC: la maggior parte del software scritto per DS1307 funzionerà con DS3231 poiché hanno un software molto simile.

Ora legale

Bene, volevo implementare l'ora legale, quindi non ho dovuto riprogrammare la mia lampada due volte all'anno. Ho lavorato su questo per diversi giorni. Non sono riuscito a trovare alcuna buona spiegazione semplice su come funzionavano Time, TimeLib e RTClib.

In realtà ho scritto del codice DST per il mio IPClock:

www.instructables.com/id/NO-MORE-SPRING-FO…

che ha funzionato per l'ora di Internet ma non sono riuscito a farlo funzionare per l'ora di RTC.

Alla fine mi sono imbattuto in quanto segue di JChristensen:

forum.arduino.cc/index.php?topic=96891.0

github.com/JChristensen/Timezone

Per usarlo, devi prima impostare l'RTC su UTC (Coordinated Universal Time), questa è l'ora di Greenwich, in Inghilterra. Bene, non sapevo come farlo, ma ho trovato questo articolo:

www.justavapor.com/archives/2482

Riscritto per Mountain time (allegato) UTCtoRTC.ino

Quindi ho incorporato il fuso orario nel mio Sketch. Ad essere onesti, non l'ho testato, quindi presumo che funzioni.

Il mio schizzo è allegato MTS_BlueLamp.ino.

Passaggio 4: conclusione

Conclusione
Conclusione

Ho fatto un piccolo gancio nella parte superiore per la mia maschera facciale CPAP. Lo appendevo alla mia vecchia lampada da letto.

Fondamentalmente molto soddisfatto di questa lampada. Pienamente luminoso durante il giorno e senza blu la sera e la notte.

Una cosa che non mi piace è che non posso usarlo dopo le 22:00. e prima delle 5 del mattino

Ho anche scoperto che non uso l'interruttore on/off perché di solito uso solo l'interruttore dimmer.

In futuro, potrei riscrivere lo schizzo e cambiare il pulsante su programmato o non programmato (completamente attivo). Ma con le mie scarse capacità di programmazione potrei aspettare un po'.

Consigliato: