Sommario:

Orologio NeoPixel: 10 passi (con immagini)
Orologio NeoPixel: 10 passi (con immagini)

Video: Orologio NeoPixel: 10 passi (con immagini)

Video: Orologio NeoPixel: 10 passi (con immagini)
Video: Creare una lampada a LED NeoPixel e telecomando con Arduino - Video 588 2024, Luglio
Anonim
Image
Image
Parti elettroniche richieste
Parti elettroniche richieste

*********************************************************************************************************

QUESTA È UNA PAROLA AL CONCORSO MICRO CONTROLLER, PER FAVORE VOTA PER ME

********************************************************************************************************

Ho costruito uno specchio infinito NeoPixel alcuni anni fa mentre ero in Thailandia e può essere visto QUI.

L'ho fatto nel modo più duro non usando un Arduino ma un microprocessore stand alone, un PIC18F2550. Ciò ha comportato l'analisi dei registri e dei tempi del Micro per scrivere il codice, alcuni dei quali contenevano assembly.

Questa è una grande conoscenza da avere e mi ha tenuto in buona posizione poiché rende il lavoro con Arduino un gioco da ragazzi. La maggior parte del lavoro è stato svolto utilizzando librerie di terze parti, mentre prima scrivevo il mio codice di libreria.

Questo orologio è stato progettato per emettere luce dalla periferia sulla parete a cui è collegato utilizzando LED RGB indirizzabili individualmente WS2812B distanziati a 144 per metro. Questo mi ha dato un diametro dell'orologio di 200 mm, qualcosa che potevo fare da solo con la mia stampante 3D.

Ha un effetto sorprendente, in particolare di notte o in una stanza buia, la luce risplende di circa 500 mm dando un bagliore totale di oltre un metro di diametro. I modelli sono incredibili.

L'orologio mostra le ore (blu), i minuti (verde) e i secondi (rosso). Viene inoltre visualizzata la data su un display a 7 segmenti a 8 cifre e il giorno della settimana sotto forma di elenco.

L'orologio è controllato dallo smartphone tramite WiFi utilizzando l'app Blynk e un server Blynk locale in esecuzione su un RPi 3.

L'uso di un server locale per Blynk è facoltativo e la sua configurazione non fa parte di questa istruzione. Il Blynk ospitato sul Web può essere utilizzato dopo aver creato un account su www.blynk.cc e aver scaricato l'app.

C'è un sacco di informazioni sull'uso di Blynk sul loro sito web, quindi non fa parte di questo istruibile.

In un passaggio successivo in questa istruzione c'è un codice QR da scansionare, quindi avrai la mia app sul tuo telefono.

L'app ha controlli per mostrare l'orologio o i modelli (con feedback LCD sull'app), la possibilità di impostare il tuo fuso orario ovunque tu sia nel mondo e ottenere l'ora tramite un server NTP. Può anche essere impostato per dormire.

C'è un modulo Real Time Clock con batteria di backup che fornisce funzioni di ora/data ad Arduino.

Il firmware sul NodeMCU-E12 nell'orologio può essere aggiornato via etere (OTA).

Ora iniziamo……

Passaggio 1: strumenti necessari

Un buon saldatore e saldatore

spelafili

tronchesi piccoli

piccole pinze a becchi lunghi

piccola sega per tagliare vero board

coltello affilato per hobby

forbici

colla di carta

Passaggio 2: parti elettroniche necessarie

Parti elettroniche richieste
Parti elettroniche richieste
Parti elettroniche richieste
Parti elettroniche richieste

1 x modulo NodeMCE-12E da QUI

1 x modulo orologio RTC QUI

Modulo Max7219 da 1 x 8 cifre a 7 segmenti qui

1 x jack di alimentazione CC qui

2 x traslatori di livello (necessari poiché Arduino è 3,3 V e il display RTC e 7 segmenti è 5 V) qui

68 LED di una striscia LED WS2812B 114/mtr qui.

Alimentatore DC 5v 10A qui.

Resistenza 10kOhm 1/4W.

Come richiesto cavo di aggancio.

Scheda Vero di circa 77 mm x 56 mm per assemblare e cablare tutti i moduli.

In realtà ho usato un traslatore di livello Adafruit per le linee I2c del modulo RTC poiché avrebbe dovuto essere sicuro I2c !!

Tuttavia, penso che la maggior parte dei cambi di livello logico bidirezionale da 3.3v a 5v dovrebbe funzionare.

Tagliare la striscia LED ha sprecato un LED poiché erano necessari i pad per saldare entrambe le estremità della striscia da 60 LED e i pad sono necessari sulla striscia da 7 LED.

Passaggio 3: parti stampate

Parti stampate
Parti stampate
Parti stampate
Parti stampate
Parti stampate
Parti stampate

Ci sono tre parti stampate in 3D; il corpo dell'orologio principale, il coperchio anteriore e il coperchio della batteria sul retro.

Il coperchio della batteria potrebbe essere omesso.

C'è anche una 'Maschera' stampata sotto la copertina con i giorni della settimana su di essa. L'ho stampato su carta normale. Ho fornito un file.dwg e un file.dxf di questo.

Sono disponibili 2 copertine anteriori, una non ha il nome, nel caso in cui non sia possibile modificare la parte.

La mia stampante 3D (ugello da 0,4 mm) aveva le seguenti impostazioni con Slic3r:

altezza del primo strato = 0.2mm

altezza strati = 0.2mm

temperatura letto = 60 C

temperatura dell'ugello = 210 C

perimetri verticali = 2

gusci orizzontali = 3

riempimento = stelle rettilinee a 45 gradi

senza falda

nessun materiale di supporto

Si consiglia vivamente di disporre di un metodo di livellamento del letto

File stampati in 3D e disegno della maschera qui:

Passaggio 4: completare il file di assemblaggio

Di seguito è riportato un file IGS dell'assieme completo per chiunque desideri modificare l'orologio.

Passaggio 5: installazione delle librerie

INSTALLARE SCHEDE ESP

Avrai bisogno dell'IDE Arduino. L'installazione di questo non fa parte di questa istruzione ma può essere scaricata da QUI.

Una volta installato l'IDE Arduino, se non è già stato fatto, sarà necessario copiare/incollare il testo sottostante nella casella di testo in File>Preferenze - URL di Gestione schede aggiuntive:

arduino.esp8266.com/stable/package_esp8266com_index.json

Riavvia l'IDE.

Dopo averlo fatto, vai su Strumenti>Scheda>Gestione schede. Lascia che finisca l'aggiornamento e dovresti vedere la versione della comunità ESP8266 nell'elenco delle schede installate.

INSTALLA LIBRERIE

Installazione di tutte le librerie nella cartella Documenti/Arduino/Librerie come al solito, tranne quelle installate dal gestore della scheda.

Dopo aver installato le librerie, riavvia Arduino IDE, vai su Schizzo> Includi libreria> Gestisci librerie, lascia che finisca l'aggiornamento, dovresti vedere le tue nuove librerie nell'elenco.

RTClib - disponibile quiAdafruit_NeoPixel - disponibile qui

HCMAX7219 da qui

Blynk - disponibile qui. seguire ATTENTAMENTE le istruzioni di installazione.

Tutti gli altri "include" nel file NeoPixelClock sono installati dal Board Manager o sono impacchettati con l'installazione dell'IDE di Arduino.

Passaggio 6: installazione del firmware

In questa fase è una buona idea collegare tutto insieme su una breadboard a scopo di test.

Controllare attentamente tutti i cablaggi prima di collegare l'alimentatore 5v e/o il cavo USB.

Passa alla cartella Schizzo Documenti> Arduino.

Crea una cartella "NeopixelClock".

inserisci il file.ino sottostante nella cartella.

Apri l'IDE di Arduino.

Imposta l'IDE per visualizzare i numeri di riga, vai su File> Preferenze e seleziona la casella "Visualizza numeri di riga", fai clic su OK.

Collega la tua scheda NodeMCU a una porta USB.

Vai su Strumenti>Scheda e seleziona NodeMCU 1.0 (modulo ESP-12E)

Vai su Strumenti>Porta e seleziona la porta a cui è collegata la tua scheda.

INSTALLA FIRMWARE OTA

Per utilizzare l'aggiornamento OTA devi prima masterizzare un pezzo speciale di firmware sul NodeMCU.

vai su File>Esempi>ArduinoOTA>BasicOTA.

un programma caricherà nell'IDE, compila la parte per ssid con il SSID del tuo router. Puoi vedere questo nome se passi il mouse sull'icona WiFi nella barra delle applicazioni.

Inserisci la password con la tua password di rete (di solito scritta nella parte inferiore del router wireless.

Ora carica sulla tua scheda NodeMCU tramite USB.

Al termine, premere il pulsante di ripristino sulla scheda NodeMCU.

INSTALLARE IL FIRMWARE NEOPIXELCLOCK

Vai su File>Sketchbook>NeoPixelClock e apri il file NeoPixelClock.

Inserisci 'auth', 'ssid' e 'pass' dovrebbero essere alla riga 114.

Nota; come ottenere il token di autorità è spiegato nel passaggio successivo

Puoi anche impostare il tuo fuso orario locale alla riga 121, che può essere qualsiasi 1/4 di ora tra -12 e +14 secondo i fusi orari di tutto il mondo. Questo può essere impostato anche nell'app, se preferisci. Attualmente è impostato per il Queensland, in Australia.

Alla riga numero 332 devi impostare l'indirizzo IP per il tuo server locale se lo stai utilizzando.

Una nota sulla porta del server locale. A causa di un recente aggiornamento del software Blynk, la porta ora è 8080 e non 8442.

Se stai usando il nuovo software aggiornato, cambia questo.

Oppure, se si utilizza il server Web Blynk, commentare la riga 332 e rimuovere il commento dalla riga 333.

Questo è tutto l'editing che deve essere fatto.

Ora caricalo sulla tua scheda NodeMCU tramite USB.

Quando questo è stato caricato con successo, scollegare il cavo USB dalla scheda.

Vedrai in Strumenti> Porta una nuova porta (sembra un indirizzo IP), selezionala come porta per comunicare con NodeMCU per futuri aggiornamenti che potresti fare.

Se tutto è andato bene l'orologio dovrebbe partire, in caso contrario premere il pulsante 'reset' sul modulo NodeMCU.

Nota: ho notato che a volte non si avvia la prima volta, ho scoperto che scollegare l'alimentazione e ricollegare funziona la maggior parte delle volte. Sto lavorando a una soluzione per questo errore di avvio corretto.

Passaggio 7: applicazione per smartphone

Applicazione per smartphone
Applicazione per smartphone
Applicazione per smartphone
Applicazione per smartphone

Per iniziare a usarlo:

1. Scarica l'app Blynk: https://j.mp/blynk_Android o https://j.mp/blynk_iOS se non è già installata.

2. apri l'app o accedi, se nuovo dovrai creare un account.

NOTA, questo non è lo stesso dell'account online.

3. Tocca l'icona QR nell'app in alto e punta la fotocamera verso il codice QR sopra, oppure apri il link in basso -

tinyurl.com/yaqv2czw

4. un codice di autorità dovrebbe essere inviato alla tua e-mail nominata, che dovresti inserire nel codice Arduino dove indicato in un passaggio successivo. Se si preme l'icona del dado, sarà possibile inviare nuovamente l'e-mail, se necessario.

Come accennato in precedenza, dovresti creare un account online su www. Blynk.cc. prima di fare questo.

Perdonami per la vaghezza, non posso testarlo perché ho già l'app e non utilizzo il server web.

Passaggio 8: costruzione dell'assemblea del consiglio di amministrazione di Vero

Costruire l'assemblea del consiglio di amministrazione di Vero
Costruire l'assemblea del consiglio di amministrazione di Vero
Costruire l'assemblea del consiglio di amministrazione di Vero
Costruire l'assemblea del consiglio di amministrazione di Vero
Costruire l'assemblea del consiglio di amministrazione di Vero
Costruire l'assemblea del consiglio di amministrazione di Vero

Ho deciso di mettere tutte le schede e i moduli su un pezzo di vero pannello.

Questo mantiene tutto pulito e ordinato.

Lo schema è visibile nel file.pdf sottostante.

Le intestazioni sulla scheda sono state rimosse dopo il test, ho collegato tutte le periferiche direttamente alla scheda vero poiché non c'era spazio sufficiente per le intestazioni e i connettori associati.

Mi dispiace non aver scattato foto della parte inferiore della scheda, ma non dovrebbe essere difficile capirlo. Potresti anche migliorare il mio layout. Mantieni la stessa dimensione della scheda Vero, altrimenti non si adatterà alla base stampata in 3D.

Con i traslatori di livello logico il LV (+3.3v) va a 3.3v su uno qualsiasi dei pin 3v sul modulo Arduino, l'HV (+5v) va al pin VIN sulla scheda Arduino.

Tutti i Grounds provengono da qualsiasi/tutti i pin Arduino GND e dovrebbero essere tutti collegati tra loro per evitare loop.

Cablare usando qualcosa come un filo unipolare isolato di calibro 26, l'isolamento in PTFE sarebbe buono in quanto non si scioglie.

Controlla attentamente tutto il cablaggio 2 o 3 volte.

Passaci sopra con un multimetro impostato sul controllo di continuità, controlla che tutti i Gnd siano collegati di nuovo al VIN GND.

Controllare tutte le connessioni +5v sul modulo RTC, i due pin HV dei moduli level shifter e il pin VIN +5v sul modulo NodeMCU.

Buona idea di controllare anche tutti gli altri cablaggi.

Passaggio 9: assemblaggio dell'orologio

Assemblaggio dell'orologio
Assemblaggio dell'orologio
Assemblaggio dell'orologio
Assemblaggio dell'orologio
Assemblaggio dell'orologio
Assemblaggio dell'orologio

Una volta stampate le parti, ripulire eventuali bagliori, grumi e protuberanze con un coltellino affilato.

Poiché avevo solo il filamento blu e nero, ho dipinto l'interno delle cavità dei LED con vernice modello argento.

Questo penso dovrebbe aiutare a riflettere meglio la luce e anche a prevenire il sanguinamento della luce attraverso le pareti verso le cavità adiacenti.

L'assieme della scheda vero deve essere cablato:

alla striscia LED +5v, Gnd e DIN dall'assieme scheda vero.

al display a 7 segmenti dal gruppo scheda vero.

alla presa CC dal gruppo della scheda vero.

Un cavo alla striscia LED a 7 vie (DIN) separata dall'estremità (numero 60) della striscia LED a 60 vie principale (DOUT).

Ho solo saldato i dati in uscita (DOUT) dall'estremità (LED numero 60) della striscia LED a 60 vie, il +5v e Gnd per la striscia LED a 7 vie che ho cablato dall'assieme della scheda vero.

per evitare cortocircuiti, ho posizionato un piccolo pezzo di carta sottile tra l'inizio e la fine della striscia LED a 60 vie poiché erano molto vicini.

Misurare e tagliare tutti i fili alla lunghezza appropriata, ho aggiunto 5 o 6 mm per fornire un piccolo margine di manovra.

Non ho rimosso la carta di supporto del nastro adesivo dalle strisce LED, questo avrebbe reso difficile l'inserimento nella base e molto difficile la rimozione se necessario.

Ho trovato che le strisce si adattassero bene e aderenti, quindi spingi fino in fondo alla cavità.

Posiziona il gruppo della scheda Vero nella cavità, ci sono dei distanziatori per tenerlo lontano dal fondo di 2 mm.

Metti il display a 7 segmenti a 8 vie nella cavità ci sono pali distanziatori per il montaggio di questo.

Il jack DC si inserisce nella sua cavità aderente, saldare i fili a questo all'interno dei tag. Se lo desideri, rimuovi l'etichetta laterale.

Tutti i fili devono essere disposti ordinatamente nelle cavità previste.

Infine passa il jack di alimentazione dall'alimentatore attraverso il foro e inseriscilo nel jack DC, spingi il cavo nella scanalatura fornita sotto.

Controllare attentamente tutti i cablaggi 2 o 3 volte. Vedere lo schema elettrico di seguito.

Passaggio 10: montaggio del coperchio anteriore per finire

Il blocco base ha diversi piccoli pioli che sporgono dall'anello esterno, questi dovrebbero allinearsi con i fori nel coperchio anteriore.

La maschera di carta dovrebbe essere stampata in nero, ritagliata e incollata alla copertina con qualcosa come una colla stick.

I fori verranno perforati attraverso la carta quando viene, con la copertina, premuta sulla base.

Siamo pronti per partire, collegalo, l'orologio dovrebbe avviarsi automaticamente, in caso contrario, come ho scoperto più volte, scollega l'alimentazione e ricollegala.

Se non si dispone della batteria nel modulo RTC sarà necessario impostare l'ora e la data.

Fallo con l'app, imposta il fuso orario con il controllo su/giù, quindi premi il pulsante 'SET NTP TIME'.

Vedrai nel terminale dell'app se ha esito positivo o meno, in caso contrario riprova.

Quando viene visualizzato FATTO, è possibile premere il pulsante Orologio e l'orologio dovrebbe funzionare e visualizzare l'ora, la data e il giorno della settimana.

I pattern possono essere eseguiti premendo il pulsante Patterns, questo può essere interrotto in qualsiasi momento premendo nuovamente il pulsante Clock o il pulsante Patterns.

La luminosità dei LED dell'orologio e del display a 7 segmenti può essere regolata per la luminosità con gli slider associati.

Tutti i LED possono essere spenti premendo il pulsante di spegnimento dell'orologio.

Appendilo al muro e la luce risplenderà verso l'esterno sul muro, particolarmente bella in una stanza buia.

Tutte le domande sarò solo lieto di provare a rispondere.

DIVERTITEVI e non dimenticate di votarmi.

************************************************** ************************************************** *****QUESTA È UNA PAROLA AL CONCORSO MICRO CONTROLLER, PER FAVORE VOTA PER ME ******************************* ************************************************** ***********************

Consigliato: