Sommario:

Lampada IoT fai da te per la domotica -- Esercitazione ESP8266: 13 passaggi (con immagini)
Lampada IoT fai da te per la domotica -- Esercitazione ESP8266: 13 passaggi (con immagini)

Video: Lampada IoT fai da te per la domotica -- Esercitazione ESP8266: 13 passaggi (con immagini)

Video: Lampada IoT fai da te per la domotica -- Esercitazione ESP8266: 13 passaggi (con immagini)
Video: Esercitazione Arduino /verifica Input Digitale 2024, Dicembre
Anonim
Image
Image
Lampada IoT fai da te per la domotica || Esercitazione ESP8266
Lampada IoT fai da te per la domotica || Esercitazione ESP8266

In questo tutorial realizzeremo una lampada intelligente connessa a Internet. Questo andrà in profondità nell'internet delle cose e aprirà un mondo di automazione domestica!

La lampada è connessa WiFi e costruita per avere un protocollo di messaggio aperto. Ciò significa che puoi selezionare qualsiasi modalità di controllo desideri! Può essere controllato tramite un browser Web, app di automazione domestica, assistenti intelligenti come Alexa o Google Assistant e molto altro ancora!

Come bonus questa lampada è accompagnata da un'app per controllare il progetto. Qui puoi selezionare diverse modalità di colore, sfumare tra i colori RGB e impostare i timer.

La lampada è composta da una scheda LED e una scheda di controllo. La scheda LED utilizza tre diversi tipi di LED per un totale di cinque canali LED! Questo è RGB insieme al bianco caldo e freddo. Poiché tutti questi canali possono essere impostati individualmente, hai un totale di 112,3 combinazioni di peta!

Iniziamo!

[Riproduci video]

Passaggio 1: parti e strumenti

Parti e strumenti
Parti e strumenti

Parti

  • Wemos D1 Mini
  • 15 x 5050 LED bianco caldo
  • 15 x 5050 LED bianco freddo
  • 18 LED RGB 5050
  • 6 x 300 ohm 1206 resistori
  • 42 x 150 ohm 1206 resistori
  • 5 resistenze da 1k ohm
  • 5 x NTR4501NT1G

    MOSFET

  • Regolatore di tensione lineare, 5V
  • PCB

    Scarica i file gerber nella fase del circuito per creare i tuoi PCB

  • Alimentatore 12V 2A

Utensili

  • Saldatore

    • stagno di saldatura
    • Flusso di saldatura liquido
  • Nastro adesivo
  • Nastro biadesivo
  • stampante 3d
  • Spelafili

Passaggio 2: il piano

Il programma
Il programma

Il progetto completo si compone di quattro parti principali:

  1. Circuito

    Il circuito è realizzato su PCB. Il circuito completato sarà composto da più di 100 singoli componenti. È un enorme sollievo non cablare tutti quelli a mano su una perfboard

  2. Codice Arduino

    Sto usando il Wemos D1 Mini che utilizza un ESP8266 come microcontrollore connesso al WiFi. Il codice avvierà un server su D1. Quando visiti l'indirizzo di questo server, D1 lo interpreterà come comandi diversi. Il microcontrollore agisce quindi su questo comando per impostare le luci di conseguenza

  3. Telecomando

    • Ho creato un'app solo per questo progetto per rendere il più semplice possibile controllare la lampada a proprio piacimento
    • La lampada intelligente può davvero essere controllata da qualsiasi cosa in grado di inviare una richiesta http GET. Ciò significa che la lampada accetta comandi da una gamma quasi illimitata di dispositivi
  4. Stampa 3D

    Questa lampada intelligente merita una custodia dall'aspetto accattivante. E come tanti progetti in cui avevi bisogno di una custodia interessante, la stampa 3D viene in soccorso

Passaggio 3: circuito

Circuito
Circuito
Circuito
Circuito
Circuito
Circuito

Ho ordinato i miei PCB da jlcpcb.com. Tempo di divulgazione completo: hanno anche sponsorizzato questo progetto.

Il PCB è composto da due parti. Ha la scheda LED e la scheda di controllo. Il PCB può essere separato a scatto per collegare successivamente queste due parti tramite un cavo flessibile. Ciò è necessario sia per mantenere sottile la lampada stampata in 3D, sia per inclinare la scheda LED per diffondere la luce in modo uniforme attraverso la stanza del foro.

La scheda di controllo ospita il microcontrollore D1 insieme a cinque MOSFET per l'attenuazione dei LED e un regolatore di tensione per fornire al microcontrollore un 5V uniforme.

La scheda LED ha cinque canali LED in tre diversi tipi di LED. Poiché utilizziamo una fonte di alimentazione a 12 V, i LED sono configurati come tre LED in serie con un resistore e quindi ripetuti 16 volte in parallelo.

Un normale LED bianco di solito assorbe 3,3 V. Su un segmento della scheda, tre di questi LED sono in serie, il che significa che la caduta di tensione è aggregata nel circuito. Tre LED che assorbono 3,3 V ciascuno significa che un segmento di LED assorbe 9,9 V. Il circuito è alimentato da 12 V in modo da lasciare 2,1 V.

Se il segmento fosse costituito solo dai tre LED, otterrebbero più tensione di quanta ne dissipano. Questo non va bene per i LED e può danneggiarli rapidamente. Questo è il motivo per cui ogni segmento ha anche una resistenza in serie con tutti e tre i LED. Questo resistore è lì per far cadere i restanti 2,1 V nella giunzione in serie.

Quindi, se ogni segmento rappresenta 12 V, significa che ciascuno dei segmenti è collegato tra loro in parallelo. Quando i circuiti sono collegati in parallelo ottengono tutti la stessa tensione e la corrente viene aggregata. La corrente in un collegamento in serie è sempre la stessa.

Un LED normale assorbe 20 mA di corrente. Ciò significa che un segmento, composto da tre LED e un resistore in serie, assorbirà ancora 20 mA. Quando colleghiamo più segmenti in parallelo, aggiungiamo la corrente. Se tagli sei LED dalla striscia, avrai due di questi segmenti in parallelo. Il che significa che il tuo circuito totale assorbe ancora 12 V, ma assorbono 40 mA in corrente.

Passaggio 4: LED di saldatura

LED di saldatura
LED di saldatura
LED di saldatura
LED di saldatura
LED di saldatura
LED di saldatura

Dopo aver provato alcune cose, ho scoperto che il semplice nastro adesivo è solo il più efficace e flessibile per impedire al PCB di muoversi.

Per le parti con più pin, come i 6 pin su un LED 5050, inizio posizionando la saldatura su uno dei pad PCB. Quindi è solo questione di mantenere fusa questa saldatura con il saldatore mentre si fa scorrere il componente al suo posto con un paio di pinzette.

Ora gli altri pad possono essere facilmente attaccati con un po' di saldatura. Tuttavia, per accelerare questo lavoro, suggerisco di raccogliere un po' di flusso di saldatura liquido. Non posso davvero raccomandare abbastanza questa roba.

Applicare parte del flusso ai pad di saldatura, quindi sciogliere un po' di saldatura sulla punta del saldatore. Ora è solo questione di portare la saldatura fusa sui pad e tutto scorre a posto. Bello e semplice.

Quando si tratta di resistori e altri componenti a due pad, non è davvero necessario alcun flusso di saldatura. Applicare la saldatura a uno dei pad e portare il resistore in posizione. Ora sciogli un po' di saldatura sul pad numero due. Vai tranquillo.

Dai un'occhiata alla quinta immagine in questo passaggio. Prestare attenzione all'orientamento dei LED. I LED bianco caldo e freddo hanno la loro tacca orientata nell'angolo in alto a destra. I LED RGB hanno la loro tacca nell'angolo in basso a sinistra. Questo è un errore di progettazione da parte mia, perché non sono riuscito a trovare la scheda tecnica per i LED RGB utilizzati in questo progetto. Oh bene, vivi e impara e tutto il resto!

Passaggio 5: scheda di controllo della saldatura

Scheda di controllo della saldatura
Scheda di controllo della saldatura
Scheda di controllo della saldatura
Scheda di controllo della saldatura
Scheda di controllo della saldatura
Scheda di controllo della saldatura
Scheda di controllo della saldatura
Scheda di controllo della saldatura

Dopo aver terminato la maratona della scheda LED, la scheda di controllo è un gioco da ragazzi da saldare. Ho posizionato i cinque MOSFET e i resistori gate-source corrispondenti, prima di passare al regolatore di tensione.

Il regolatore di tensione dispone di spazi opzionali per i condensatori di livellamento. Mentre li saldavo in questa foto ho finito per rimuoverli perché non erano realmente necessari.

Il trucco per ottenere una scheda di controllo sottile è mettere le intestazioni dei pin che fuoriescono dall'alto verso il basso. Dopo che i perni sono in posizione, la lunghezza inutilizzata può essere tagliata dal retro insieme alla plastica nera. Questo rende il lato inferiore completamente liscio.

Con tutti i componenti a posto è il momento di riunire le due schede. Ho appena tagliato e spellato sei piccoli fili da 2,5 pollici (7 cm) e ho collegato i due PCB.

Passaggio 6: configurazione Wi-Fi

Configurazione Wi-Fi
Configurazione Wi-Fi
Configurazione Wi-Fi
Configurazione Wi-Fi

Ci sono sei semplici righe nel codice che devi modificare.

  1. ssid, linea 3

    Il nome del tuo router. Assicurati di avere la lettera maiuscola corretta quando scrivi questo

  2. wifiPass, linea 4

    La password del tuo router. Ancora una volta, attenzione al rivestimento

  3. ip, riga 8

    L'indirizzo IP statico della tua lampada intelligente. Ho scelto un indirizzo IP casuale sulla mia rete e ho provato a eseguirne il ping nella finestra di comando. Se non c'è risposta dall'indirizzo puoi presumere che sia disponibile

  4. gateway, linea 9

    Questo sarà il gateway sul tuo router. Apri una finestra di comando e digita "ipconfig". Il gateway e la sottorete sono cerchiati in rosso nell'immagine

  5. sottorete, riga 10

    Come con il gateway, questa informazione è cerchiata nell'immagine per questo passaggio

  6. fuso orario, riga 15

    Il fuso orario in cui ti trovi. Modificalo se desideri utilizzare le funzioni timer integrate per accendere e spegnere le luci in orari specifici. La variabile è un semplice più o meno GMT

Passaggio 7: codice del microcontrollore

Codice Microcontrollore
Codice Microcontrollore
Codice Microcontrollore
Codice Microcontrollore
Codice Microcontrollore
Codice Microcontrollore
Codice Microcontrollore
Codice Microcontrollore

Dopo aver modificato tutte le impostazioni rilevanti nel passaggio precedente, è finalmente giunto il momento di caricare il codice sul Wemos D1 Mini!

Il codice arduino richiede alcune librerie e dipendenze. Per prima cosa segui questa guida da sparkfun se non hai mai caricato codice da arduino IDE su ESP8266.

Ora scarica la libreria Time e la libreria TimeAlarms. Decomprimili e copiali nella cartella della libreria arduino sul tuo computer. Proprio come l'installazione di qualsiasi altra libreria arduino.

Prestare attenzione alle impostazioni di caricamento nell'immagine in questo passaggio. Seleziona la stessa configurazione, eccetto la porta com. Questa sarà la porta com a cui hai collegato il tuo microcontrollore sul tuo computer.

Quando il codice viene caricato, apri il terminale seriale con un messaggio di connessione, si spera, riuscita! Ora puoi aprire il tuo browser e visitare l'indirizzo IP statico che hai salvato sul microcontrollore. Congratulazioni, hai appena creato il tuo server e ospita una pagina web su di esso!

Passaggio 8: aprire il protocollo dei messaggi

Protocollo messaggio aperto
Protocollo messaggio aperto
Protocollo messaggio aperto
Protocollo messaggio aperto
Protocollo messaggio aperto
Protocollo messaggio aperto
Protocollo messaggio aperto
Protocollo messaggio aperto

Quando controlli la lampada intelligente con l'app, tutti i messaggi verranno gestiti automaticamente per te. Ecco un elenco dei messaggi che la lampada accetta, se vuoi costruire il tuo telecomando. Ho usato un indirizzo IP di esempio per illustrare come utilizzare i comandi.

  • 192.168.0.200/&&R=1023G=0512B=0034C=0500W=0500

    • Imposta le luci rosse al valore massimo, le luci verdi a metà valore e le luci blu a 34. Il bianco freddo e caldo sono appena accesi
    • Quando inserisci i valori, puoi scegliere tra 0 e 1023. Scrivi sempre i valori della luce come quattro cifre nell'URL
  • 192.168.0.200/&&B=0800

    Imposta le luci blu al valore 800 spegnendo contemporaneamente tutte le altre luci

  • 192.168.0.200/LED=OFF

    Spegne completamente tutte le luci

  • 192.168.0.200/LED=FADE

    Inizia a dissolversi lentamente tra tutti i possibili colori RGB. Perfetto per l'ambiente

  • 192.168.0.200/NOTIFYR=1023-G=0512-B=0000

    Lampeggia due volte il colore indicato per indicare la notifica in arrivo. Perfetto se vuoi, ad esempio, creare un programma sul tuo computer per far lampeggiare la spia rossa ogni volta che ricevi una nuova email

  • 192.168.0.200/DST=1

    • Regola l'orologio sull'ora legale. Aggiunge un'ora all'orologio
    • /DST=0 usa questo per tornare indietro dall'ora legale, rimuove un'ora dall'orologio se l'ora legale è attiva
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Salva lo stato per il timer 1. Questo timer attiverà i valori RGB indicati alle 06:30 del mattino

  • 192.168.0.200/TIMER1H=99

    Impostare l'ora del timer su 99 per disattivare il timer. I valori RGB sono ancora memorizzati, ma il timer non accenderà le luci quando l'ora è impostata su 99

  • La lampada ha quattro timer individuali. Cambia "TIMER1" per "TIMER2", "TIMER3" o "TIMER4" per regolare uno degli altri timer incorporati.

Questi sono i comandi attualmente incorporati. Lascia un commento se hai qualche idea interessante per nuovi comandi da costruire nel codice arduino o nell'app remota!

Passaggio 9: controllo remoto

Telecomando
Telecomando
Telecomando
Telecomando
Telecomando
Telecomando
Telecomando
Telecomando

Clicca qui per scaricare l'app. La configurazione è estremamente semplice, basta inserire l'indirizzo IP della tua lampada intelligente e selezionare se si desidera controllare solo LED RGB o RGB + LED bianco caldo e freddo.

Come spiegato nel passaggio precedente, ora sai quale protocollo di messaggio sta utilizzando l'app. Sta inviando una richiesta http GET con gli URL. Ciò significa che puoi anche creare il tuo circuito di microcontrollore e utilizzare ancora questa app per controllare le funzioni che sviluppi da solo.

Poiché abbiamo davvero approfondito il protocollo dei messaggi, puoi anche controllare la lampada intelligente da qualsiasi cosa in grado di inviare una richiesta http GET. Ciò significa che qualsiasi browser su un telefono o computer, o dispositivi domestici intelligenti o assistenti come Alexa o l'Assistente Google.

Tasker è un'app che fondamentalmente ti consente di creare condizioni per controllare qualsiasi cosa. L'ho usato per far lampeggiare la lampada intelligente con il colore di una notifica quando la ricevo sul mio telefono. Ho anche impostato tasker per accendere le luci a tutto bianco, quando il telefono si connette al mio WiFi di casa dopo le 16:00 di un giorno feriale. Ciò significa che le luci si accendono automaticamente quando torno a casa da scuola. È davvero fantastico tornare a casa con le luci accese automaticamente!

Passaggio 10: stampa 3D

Stampa 3D
Stampa 3D

Il portalampada stesso può essere stampato quasi completamente senza supporti. Le uniche parti che hanno davvero bisogno di supporto sono i pioli pensati per l'accoppiamento con il PCB. Pertanto ho reso disponibile lo stl sia con che senza una piccola struttura di supporto solo per questi pioli. Il vantaggio di utilizzare questo supporto personalizzato è che la stampa è molto più veloce! E riceviamo supporto per la stampa solo sulle parti che ne hanno davvero bisogno.

Puoi scaricare i file.stl qui

Passaggio 11: riunisci tutto

Metti tutto insieme
Metti tutto insieme
Metti tutto insieme
Metti tutto insieme
Metti tutto insieme
Metti tutto insieme

Dopo la stampa 3D, iniziare rimuovendo il supporto di stampa. I cavi di alimentazione vanno in canali separati e sono legati insieme. Questo nodo creerà un serracavo impedendo che i cavi vengano strappati dal PCB. Salda i cavi di alimentazione sul retro del PCB e assicurati di avere la giusta polarità!

Il PCB di controllo viene quindi fissato con un pezzo di nastro adesivo per tenerlo a filo all'interno del case. Il PCB LED può essere semplicemente posizionato nella sua posizione in cui si appoggia da solo contro il case.

Passaggio 12: appendere la lampada

Appendere la lampada
Appendere la lampada
Appendere la lampada
Appendere la lampada
Appendere la lampada
Appendere la lampada

Ci sono molte opzioni per appendere questa lampada al muro. Poiché potrei aggiornare continuamente il codice per migliorare la lampada, volevo un modo per smontare la lampada di tanto in tanto. Puoi usare la colla a caldo, ma ti consiglio del nastro biadesivo. È meglio usare il nastro biadesivo spesso e schiumoso poiché tiene la lampada al meglio contro una parete ruvida.

Passaggio 13: finito

Finito
Finito
Finito
Finito
Finito
Finito

Con la lampada sul muro e pronta ad accettare i comandi significa che hai finito!

Il pannello LED è angolato in modo da disperdere la luce in modo uniforme nella stanza. È una bella aggiunta a qualsiasi spazio di lavoro e la possibilità di integrazione con la domotica è un grande vantaggio. Mi piace molto la possibilità di impostare i colori RGB e regolare i bilanciamenti del bianco tra luce fredda e calda. Ha un aspetto elegante ed è di grande aiuto per impostare le luci d'ambiente o di lavoro, per soddisfare qualsiasi esigenza di illuminazione che ho al momento.

Congratulazioni, ora hai fatto un grande salto nel mondo dell'IoT e della domotica!