Sommario:
- Passaggio 1: funzionalità e interfaccia del progetto
- Passaggio 2: progettazione GreenPAK
- Passaggio 3: ricevitore UART
- Passaggio 4: unità di controllo
- Passaggio 5: generatori e multiplexer CLK
- Passaggio 6: PWM
- Passaggio 7: app per Android
Video: Dimmer LED intelligente fai-da-te controllato tramite Bluetooth: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Questo Instructable descrive come costruire un dimmer digitale intelligente. Un dimmer è un comune interruttore della luce utilizzato in case, hotel e molti altri edifici. Le versioni precedenti degli interruttori dimmer erano manuali e in genere incorporavano un interruttore rotante (potenziometro) o pulsanti per controllare il livello di luce. Questo Instructable descrive come costruire un dimmer digitale che ha due modi per controllare l'intensità della luce; uno smartphone e pulsanti fisici. Le due modalità possono funzionare perfettamente insieme in modo che l'utente possa aumentare o diminuire la luminosità sia da un pulsante che da uno smartphone. Il progetto è implementato utilizzando un CMIC SLG46620V, modulo Bluetooth HC-06, pulsanti e LED.
Utilizzeremo il CMIC SLG46620V poiché aiuta a ridurre al minimo i componenti discreti del progetto. I circuiti integrati GreenPAK™ sono piccoli e hanno componenti multiuso, il che consente a un progettista di ridurre i componenti e aggiungere nuove funzionalità. Inoltre, il costo del progetto viene successivamente ridotto.
L'SLG46620V contiene anche un'interfaccia di connessione SPI, blocchi PWM, FSM e molti utili blocchi aggiuntivi in un minuscolo chip. Questi componenti consentono all'utente di creare un pratico dimmer intelligente che può essere controllato tramite un dispositivo Bluetooth o pulsanti a muro, supportare l'attenuazione a tempo prolungato e l'aggiunta di funzioni selezionabili senza utilizzare un microcontrollore o componenti costosi.
Di seguito abbiamo descritto i passaggi necessari per capire come è stata programmata la soluzione per creare un dimmer LED intelligente controllato tramite Bluetooth. Tuttavia, se desideri solo ottenere il risultato della programmazione, scarica il software GreenPAK per visualizzare il file di progettazione GreenPAK già completato. Collega il kit di sviluppo GreenPAK al tuo computer e premi il programma per creare il dimmer LED intelligente controllato tramite Bluetooth.
Passaggio 1: funzionalità e interfaccia del progetto
Caratteristiche del progetto:
1. Due metodi di controllo; app mobile e pulsanti reali.
2. Transizione on-off fluida per la luce. Questo è più salutare per gli occhi di un consumatore. Dà anche una sensazione più lussuosa, che è attraente per gli hotel e altre industrie di servizi.
3. Funzione della modalità di sospensione. Questo sarà un valore aggiunto per questa applicazione. Quando l'utente attiva questa modalità, la luminosità della luce diminuisce gradualmente in 10 minuti. Questo aiuta le persone che soffrono di insonnia. Utile anche per le camerette dei ragazzi e i negozi al dettaglio (orario di chiusura).
Interfaccia del progetto
L'interfaccia del progetto ha quattro pulsanti, che vengono utilizzati come ingressi GreenPAK:
ON\OFF: accende/spegne la luce (soft-start\stop).
SU: aumenta il livello di luce.
Giù: diminuisce il livello di luce.
Modalità Sleep: attivando la modalità Sleep, la luminosità della luce diminuisce gradualmente nell'arco di 10 minuti. Questo dà all'utente il tempo prima di dormire e garantisce che la luce non rimanga ACCESA tutta la notte.
Il sistema emetterà un segnale PWM, che verrà passato a un LED esterno e all'indicatore LED della modalità di sospensione.
Il design GreenPAK è composto da 4 blocchi principali. Il primo è un ricevitore UART, che riceve i dati dal modulo Bluetooth, estrae gli ordini e li invia a una centralina. Il secondo blocco è un'unità di controllo, che riceve ordini provenienti dal ricevitore UART o dai pulsanti esterni. La centrale decide l'azione richiesta (Accendi/Spegni, Aumenta, Diminuisci, Abilita la modalità sleep). Questa unità è implementata utilizzando LUT.
Il terzo blocco alimenta i generatori CLK. In questo progetto, viene utilizzato un contatore FSM per controllare il PWM. Il valore dell'FSM cambierà (su, giù) secondo gli ordini dati da 3 frequenze (alta, media e bassa). In questa sezione verranno generate le tre frequenze e il CLK richiesto passa a FSM secondo l'ordine richiesto; Durante l'accensione/spegnimento, l'alta frequenza passa all'FSM per l'avvio/arresto graduale. Durante l'oscuramento, la media frequenza passa. La bassa frequenza passa in modalità di sospensione per ridurre il valore FSM più lentamente. Quindi, anche la luminosità della luce diminuisce lentamente. Il quarto blocco è l'unità PWM, che genera impulsi ai LED esterni.
Passaggio 2: progettazione GreenPAK
Il modo migliore per costruire un dimmer utilizzando GreenPAK è utilizzare l'FSM a 8 bit e un PWM. In SLG46620, FSM1 contiene 8 bit e può essere utilizzato con PWM1 e PWM2. Il modulo Bluetooth deve essere collegato, il che significa che deve essere utilizzata l'uscita parallela SPI. Le connessioni dei bit di uscita parallela SPI da 0 a 7 sono muxate con le uscite DCMP1, DMCP2 e LF OSC CLK, OUT1, OUT0 OSC. PWM0 ottiene il suo output da FSM0 (16 bit). FSM0 non si ferma a 255; aumenta fino a 16383. Per limitare il valore del contatore a 8 bit viene aggiunto un altro FSM; FSM1 viene utilizzato come puntatore per sapere quando il contatore raggiunge 0 o 255. FSM0 è stato utilizzato per generare l'impulso PWM. Poiché i valori dei due FSM devono essere modificati contemporaneamente per avere lo stesso valore, il design diventa un po' complesso dove in entrambi gli FSM è presente un CLK predefinito, limitato e selezionabile. CNT1 e CNT3 sono usati come mediatori per passare il CLK a entrambi gli FSM.
Il progetto è composto dalle seguenti sezioni:
- Ricevitore UART
- Unità di controllo
- Generatori CLK e multiplexer
- PWM
Passaggio 3: ricevitore UART
Per prima cosa, dobbiamo configurare il modulo Bluetooth HC06. L'HC06 utilizza il protocollo UART per la comunicazione. UART sta per ricevitore/trasmettitore asincrono universale. UART può convertire i dati avanti e indietro tra formati paralleli e seriali. Include un ricevitore da seriale a parallelo e un convertitore da parallelo a seriale che sono entrambi sincronizzati separatamente. I dati ricevuti nell'HC06 verranno trasmessi al nostro dispositivo GreenPAK. Lo stato di inattività per il Pin 10 è ALTO. Ogni carattere inviato inizia con un bit di start logico BASSO, seguito da un numero configurabile di bit di dati e uno o più bit di stop logico ALTO.
L'HC06 invia 1 bit di START, 8 bit di dati e un bit di STOP. La sua velocità di trasmissione predefinita è 9600. Invieremo il byte di dati dall'HC06 al blocco SPI di GreenPAK SLG46620V.
Poiché il blocco SPI non ha il controllo del bit START o STOP, questi bit vengono invece utilizzati per abilitare e disabilitare il segnale di clock SPI (SCLK). Quando il Pin 10 diventa LOW, l'IC ha ricevuto un bit di START, quindi utilizziamo il rilevatore di fronte di discesa PDLY per identificare l'inizio della comunicazione. Quel rilevatore del fronte di discesa esegue il clock DFF0, che consente al segnale SCLK di eseguire il clock del blocco SPI.
La nostra velocità di trasmissione è di 9600 bit al secondo, quindi il nostro periodo SCLK deve essere 1/9600 = 104 µs. Pertanto, abbiamo impostato la frequenza OSC su 2 MHz e utilizzato CNT0 come divisore di frequenza.
2 MHz - 1 = 0,5 µs
(104 µs / 0,5 µs) - 1 = 207
Pertanto, vogliamo che il valore del contatore CNT0 sia 207. Per garantire che i dati non vengano persi, viene aggiunto un ritardo di mezzo ciclo di clock sull'orologio SPI in modo che il blocco SPI venga sincronizzato al momento giusto. Ciò si ottiene utilizzando CNT6, LUT1 a 2 bit e l'orologio esterno del blocco OSC. L'uscita di CNT6 non diventa alta fino a 52 µs dopo il clock di DFF0, che è esattamente la metà del nostro periodo SCLK di 104 µs. Quando diventa alto, il gate AND LUT1 a 2 bit consente al segnale OSC a 2 MHz di passare nell'EXT. Ingresso CLK0, la cui uscita è collegata a CNT0.
Passaggio 4: unità di controllo
In questa sezione i comandi verranno eseguiti in base al byte ricevuto dal ricevitore UART, oppure in base ai segnali dai pulsanti esterni. I pin 12, 13, 14, 15 sono inizializzati come ingressi e sono collegati a pulsanti esterni.
Ogni pin è collegato internamente ad un ingresso del gate OR, mentre il secondo ingresso del gate è connesso con il segnale corrispondente che proviene dallo smartphone tramite Bluetooth e che apparirà sull'uscita parallela di SPI.
DFF6 viene utilizzato per attivare la modalità di sospensione in cui la sua uscita cambia in alta con il fronte di salita proveniente da LUT4 a 2 bit, mentre DFF10 viene utilizzato per mantenere lo stato di illuminazione e la sua uscita cambia da bassa ad alta e viceversa ad ogni fronte di salita in arrivo dall'uscita LUT10 a 3 bit.
FSM1 è un contatore a 8 bit; dà un impulso alto sulla sua uscita quando il suo valore raggiunge 0 o 255. Di conseguenza, viene utilizzato per evitare che FSM0 (16 bit) superi il valore 255, poiché la sua uscita ripristina DFF e cambia lo stato di DFF10 da on a off e viceversa se l'illuminazione è comandata dai pulsanti +, - ed è stato raggiunto il livello massimo/minimo.
I segnali collegati agli ingressi FSM1 keep, up raggiungeranno FSM0 tramite P11 e P12 per sincronizzarsi e mantenere lo stesso valore su entrambi i contatori.
Passaggio 5: generatori e multiplexer CLK
In questa sezione verranno generate tre frequenze, ma solo una sincronizza gli FSM alla volta. La prima frequenza è RC OSC, che viene prelevata dalla matrice da 0 a P0. La seconda frequenza è LF OSC anch'essa prelevata dalla matrice da 0 a P1; la terza frequenza è l'uscita CNT7.
LUT9 a 3 bit e LUT11 a 3 bit consentono il passaggio di una frequenza, in base all'uscita LUT14 a 3 bit. Successivamente, l'orologio scelto trasmette a FSM0 e FSM1 tramite CNT1 e CNT3.
Passaggio 6: PWM
Infine, il valore di FSM0 si trasforma in segnale PWM per apparire tramite il pin 20 che viene inizializzato come uscita ed è collegato ai LED esterni.
Passaggio 7: app per Android
L'app per Android ha un'interfaccia di controllo virtuale simile all'interfaccia reale. Ha cinque pulsanti; ON\OFF, SU, GI, Modalità sospensione e Connetti. Questa Applicazione Android sarà in grado di convertire la pressione dei pulsanti in un comando e invierà i comandi al modulo Bluetooth da eseguire.
Questa app è stata realizzata con MIT App Inventor, che non richiede alcuna esperienza di programmazione. L'App Inventor consente allo sviluppatore di creare un'applicazione per dispositivi con sistema operativo Android utilizzando un browser Web collegando blocchi di programmazione. Puoi importare la nostra App nell'App Inventor del MIT facendo clic su Progetti -> Importa progetto (.aia) dal mio computer e selezionando il file.aia incluso con questa App Note.
Per creare l'Applicazione Android è necessario avviare un nuovo progetto. Sono necessari cinque pulsanti: uno è un selettore di elenchi per i dispositivi Bluetooth e gli altri sono i pulsanti di controllo. Dobbiamo aggiungere anche un client Bluetooth. La Figura 6 è una cattura dello schermo dell'interfaccia utente della nostra applicazione Android.
Dopo aver aggiunto i pulsanti, assegneremo una funzione software per ciascun pulsante. Useremo 4 bit per rappresentare lo stato dei pulsanti. Un bit per ogni pulsante, quindi, quando si preme il pulsante, verrà inviato un numero specifico via Bluetooth al circuito fisico.
Questi numeri sono mostrati nella tabella 1.
Conclusione
Questo Instructable descrive un dimmer intelligente che può essere controllato in due modi; un'app Android e pulsanti reali. All'interno del GreenPAK SLG46620V sono delineati quattro blocchi separati che controllano il flusso di processo per aumentare o diminuire il PWM di una luce. Inoltre, viene descritta una funzione della modalità Sleep come esempio di modulazione extra disponibile per l'applicazione. L'esempio mostrato è a bassa tensione, ma può essere modificato per implementazioni a tensione più elevata.
Consigliato:
Fai da te -- Come creare un robot ragno che può essere controllato tramite smartphone utilizzando Arduino Uno: 6 passaggi
Fai da te || Come creare un robot ragno che può essere controllato tramite smartphone utilizzando Arduino Uno: Durante la creazione di un robot Spider, si possono imparare tante cose sulla robotica. Come fare robot è divertente oltre che stimolante. In questo video ti mostreremo come realizzare un robot Spider, che possiamo azionare utilizzando il nostro smartphone (Androi
Rover controllato tramite Bluetooth con Dexter: 9 passaggi
Rover controllato tramite Bluetooth con Dexter: la scheda Dexter è un kit di addestramento educativo che rende l'apprendimento dell'elettronica facile e divertente. La scheda riunisce tutte le parti necessarie che un principiante richiede per trasformare un'idea in un prototipo di successo. Con Arduino al centro, un numero enorme di
LED controllato tramite Bluetooth con Arduino Uno: 7 passaggi
LED controllato da Bluetooth utilizzando Arduino Uno: questo progetto riguarda il controllo delle luci a LED utilizzando Arduino e un'app Bluetooth. Ho usato Arduino Uno per questo progetto ma puoi usare qualsiasi scheda Arduino. Scarica questo codice sorgente e caricalo sulla tua scheda prima di iniziare il progetto
Tavolino da caffè LED Arduino controllato tramite Bluetooth: 10 passaggi (con immagini)
Tavolino da caffè LED Arduino controllato da Bluetooth: questo è stato il mio primo vero progetto Arduino ed è anche il mio primo istruibile, quindi sii gentile nei commenti :) Volevo provare a rispondere alle domande che mi hanno richiesto del tempo per capire e fornire istruzioni dettagliate, quindi se conosci molto bene ho
RC Car Hack - Controllato tramite Bluetooth tramite App Android: 3 Passaggi (con Immagini)
RC Car Hack - Controllato tramite Bluetooth tramite app Android: sono sicuro che ognuno di voi può trovare a casa un'auto RC inutilizzata. Questa istruzione ti aiuterà a cambiare la tua vecchia auto RC con un regalo originale :) A causa del fatto che l'auto RC che avevo era di piccole dimensioni, ho scelto Arduino Pro Mini come controller principale. Un altro