Sommario:

Pull e visualizzazione ambientale dei dati da qualsiasi sito Web tramite Wi-Fi (indicatore dell'aurora boreale) con NodeMcu: 6 passaggi
Pull e visualizzazione ambientale dei dati da qualsiasi sito Web tramite Wi-Fi (indicatore dell'aurora boreale) con NodeMcu: 6 passaggi

Video: Pull e visualizzazione ambientale dei dati da qualsiasi sito Web tramite Wi-Fi (indicatore dell'aurora boreale) con NodeMcu: 6 passaggi

Video: Pull e visualizzazione ambientale dei dati da qualsiasi sito Web tramite Wi-Fi (indicatore dell'aurora boreale) con NodeMcu: 6 passaggi
Video: Architettura di comunicazione e sistemi di monitoraggio Huawei 2024, Luglio
Anonim
Pull e visualizzazione ambientale dei dati da qualsiasi sito Web tramite Wi-Fi (indicatore dell'aurora boreale) con NodeMcu
Pull e visualizzazione ambientale dei dati da qualsiasi sito Web tramite Wi-Fi (indicatore dell'aurora boreale) con NodeMcu

La mia motivazione: ho visto MOLTE istruzioni sull'impostazione/utilizzo di un NodeMCU (costruito sul modulo ESP8266) per realizzare progetti IoT (Internet delle cose). Tuttavia, pochissimi di questi tutorial avevano tutti i dettagli/il codice/i diagrammi che una persona alle prime armi doveva seguire dall'inizio alla fine, e nessuno di loro ha fatto esattamente quello che volevo.

Cosa coprirà questo?: Questo coprirà tutto ciò che devi sapere (e che non ho fatto), tra cui:

  1. Materiali (quello che ho usato, nello specifico)
  2. Arduino, NodeMcu, ESP8266, qual è la differenza?
  3. Iniziare con NodeMcu

    1. Configurazione del software (IDE Arduino)
    2. Fare lampeggiare un LED
    3. Opzioni per alimentare il NodeMcu
    4. Connessione a Internet
  4. Come estrarre i dati da un sito Web

    1. "Indicando" le informazioni che desideri nel sito web
    2. Thingspeak/ ThingHTTP/ API (non aver paura, non è necessaria alcuna codifica)
    3. Accesso a questi dati dal NodeMCU
  5. Visualizzazione dei dati

    1. Cosa ho usato (come cablare un display a 7 segmenti)
    2. Alcune idee/cose che avrei fatto con più tempo
  6. Come costruire una scatola immagino

DISCLAIMER: ho guardato MOLTI video per imparare a farlo, e quasi tutto il codice è stato messo insieme da altre fonti e non riesco a ricordarli tutti. La principale fonte di ispirazione http era questo ragazzo che essenzialmente sta facendo la stessa cosa che sto descrivendo, ma ho trovato setacciando ciò che era roba da touch screen e ciò che non era confuso. Considero questo istruttivo più un'introduzione al NodeMcu e una sorta di progetti IoT piuttosto che un oggetto specifico, ma l'ispirazione per questo specifico indicatore (aurora boreale) è stato questo istruttivo dal 2008. Ho adorato il modo in cui è stato descritto come un "povero man's ambient orb", che mostra informazioni ambientali come azioni, visualizzazioni di YouTube o meteo senza l'uso di telefoni o altri mezzi invadenti.

Passaggio 1: materiali

Materiali
Materiali
Materiali
Materiali

Avrai BISOGNO di questi:

1. Una scheda NodeMcu

2. Un cavo micro USB per caricare il codice sulla scheda e, se lo desideri, alimentare il prodotto finale.

3. LED, cavi per ponticelli (maschio-maschio, maschio-femmina) e una breadboard per collegare le cose… questo è un dato di fatto, ma qualunque cosa tu voglia "emettere" (visualizzare o fare in base ai dati) richiederà hardware. Se vuoi ricreare il globo ambientale, o fare esattamente quello che ho fatto io, un display a 7 segmenti o alcuni LED sono abbastanza sottili. La breadboard è necessaria per la "prototipazione" prima di connettere effettivamente le cose 4 reali, e spiegherò come funzionano/come le cose sono collegate nella sezione pertinente. Se sei solo un principiante, prendi uno starter kit arduino, poiché contiene molte piccole cose (incluso tutto ciò che ho usato), oltre a un arduino uno per un altro progetto.

Cose di cui potresti aver bisogno:

4. Un modulo di alimentazione breadboard (Se vuoi alimentare il NodeMcu con un adattatore di alimentazione standard … non lo farei perché puoi semplicemente alimentarlo con una micro USB, il che è molto più conveniente. Se vuoi realizzare il tuo progetto completamente wireless, quindi ovviamente avrai bisogno di un pacco batteria, ma ne parlerò nella sezione di alimentazione.

5. Pino da 1/4 per una piccola scatola (se vuoi)

6. Un po' di impiallacciatura per coprire la tua scatola e/o fungere da diffusore per il tuo LED o display

7. Super (CA) e/o colla per legno per attaccare 5. e 6.

Passaggio 2: cos'è un MCU Node?

Che cos'è un MCU Node?
Che cos'è un MCU Node?
Che cos'è un MCU Node?
Che cos'è un MCU Node?

Se sei un vero principiante dell'elettronica come me, ti starai chiedendo quale sia la differenza tra una scheda Arduino e una scheda NodeMcu, e forse hai anche sentito parlare dell'ESP8266… qual è la differenza tra queste?!?

Questo non è affatto tecnico, ma questo è ciò che devi sapere.

L'Arduino ha la capacità di leggere input da una serie di pin, "fare cose" usando questi input e quindi emettere su una serie di pin. È essenzialmente un piccolo computer. Arduino produce MOLTE schede diverse e molti "scudi" che si collegano alle schede per fare cose aggiuntive. I prodotti che vendono attualmente e che si connettono a Internet sono molto costosi e non hanno una grande comunità che li segue. Il codice viene scritto e caricato sulle schede dal software "Arduino IDE", che supporta C e C++, con qualche altra formattazione speciale spruzzata dentro. Non è necessario sapere come programmare C o C++ per programmare, poiché esiste tale una pazza abbondanza di codice disponibile online, ma una certa familiarità con la programmazione (in particolare cose come i cicli while e for, la dichiarazione e l'ambito delle variabili ecc.) L'IDE Arduino fornisce anche un'unica posizione per scaricare le librerie necessarie per diverse schede (ne parleremo più avanti, nella configurazione del NodeMcu).

L'ESP8266 è un modulo WiFi estremamente economico che fondamentalmente ha reso obsoleti gli scudi arduino abilitati a Internet (anche se si vedono ancora schede arduino con Wi-Fi integrato). La comunità fai-da-te che circonda ESP8266 è così grande che è quasi l'unica scelta logica per realizzare dispositivi abilitati a Internet. Spesso viene utilizzato in combinazione con una scheda arduino tramite i pin seriali (Rx e Tx), anche se immagino che alcune persone li usino "stand alone", ma poiché il microchip è così piccolo e difficile da interfacciare (in pratica ha 6 pin: 2 per seriale (parlare con le cose), 2 per alimentazione (terra e VCC) e 2 GPIO (uscita di ingresso per uso generale), inoltre funziona a 3,3 V e quindi 5 V lo distruggeranno) che è stato rapidamente sostituito da …

Il NodeMcu, che è una scheda di sviluppo open source proprio come Arduino, tranne che con la build su ESP8266. Puoi effettivamente vedere l'ESP8266 integrato nella scheda NodeMcu cerchiato nelle immagini che ho allegato. Questa scheda è perfettamente amichevole da programmare e interfacciare ed è sostanzialmente paragonabile a un arduino nano. Ha molti più pin e può essere programmato tramite USB direttamente dal tuo computer, senza dover passare attraverso un'altra scheda. Inoltre, sebbene la scheda funzioni ancora tecnicamente con la logica a 3,3 V anziché con la logica a 5 V, ha chip integrati per gestire questa tensione, quindi può essere alimentata proprio come il tuo arduino, sia tramite USB che tramite i pin VCC (tensione in ingresso). Fondamentalmente, per qualsiasi cosa IoT, NodeMcu è una buona, semplice scheda singola da usare ed è abilitata per il WiFi… anche se è un'ottima scelta anche per i progetti non Wi-Fi. Tecnicamente il linguaggio "pronto all'uso" di NodeMcu è LUA, ma dopo una configurazione 1 volta all'interno dell'IDE Arduino, sarai in grado di programmarlo proprio come faresti con qualsiasi altro Arduino.

Passaggio 3: iniziare con NodeMcu

Ho usato il seguente video per fare il mio primo avvio con NodeMcu e, se segui esattamente tutte le sue indicazioni, tutto dovrebbe funzionare bene.

1. Configurazione del software (IDE Arduino)

  • Scarica l'IDE Arduino dal link sopra e seleziona "basta scaricare" se non puoi fare una donazione
  • Apri il software Arduino IDE
  • In File -> Preferenze, URL di Gestione schede aggiuntive, incolla il seguente link "https://arduino.esp8266.com/versions/2.5.0-beta2/package_esp8266com_index.json"
  • In Strumenti -> Scheda -> Gestione schede (in alto) scorri verso il basso o cerca ESP8266 e fai clic su Installa
  • Potrebbe essere necessario riavviare l'IDE Arduino affinché questo venga visualizzato, ma ora fai clic su Strumenti-> Scheda e seleziona la scheda che hai, ovvero il modulo NodeMcu 1.0 ESP12-E
  • Potrebbe non essere necessario eseguire questo passaggio, ma collega l'USB al computer dal tuo NodeMcu (le spie lampeggeranno) e vai su Pannello di controllo->Gestione dispositivi -> Porte -> e quindi annota la porta COM etichettata "Silicone Labs…" questa è la porta COM utilizzata dal NodeMcu
  • Torna all'IDE di Arduino e a Strumenti-> Porta: e assicurati che questa porta sia selezionata
  • Tutto dovrebbe andare bene, ma assicurati che in Strumenti, la dimensione del flash sia 4 (non preoccuparti per SPIFFS, qualunque cosa sia selezionata è buona) e che la velocità di caricamento sia 115200, immagino … Il NodeMcu utilizza effettivamente una velocità di trasmissione di 9600 per ritrasmettere le informazioni al monitor seriale (se non sai cosa significa non preoccuparti, verrà mostrato nell'esempio), ma se nel codice e poi nel monitor, hai 9600, va bene.

2. Far lampeggiare un LED

Questo è come il "Hello World" (cioè baby $ h1t) della programmazione, ma ti fa sapere che tutto va bene con la scheda e ti aiuterà a familiarizzare con l'IDE di Arduino. Questo NON dimostra le capacità WiFi della scheda (lo facciamo nel prossimo esempio), si assicura solo che sia connesso e possa funzionare ecc.

  • Apri l'IDE Arduino, collega il tuo NodeMcu
  • Prima di fare qualsiasi cosa, nota che esiste un framework per il codice più semplice che puoi scrivere sul tuo arduino, con un ciclo setup() che viene eseguito una volta e un altro loop() che verrà eseguito continuamente per sempre. Il nostro codice finale sarà strutturato proprio così, con alcune cose aggiunte sopra e una funzione definita in fondo
  • File->Esempi-> (nella sezione NodeMcu 1.0) ESP8266 ->Blink
  • Questo aprirà del codice nella finestra. Sentiti libero di salvarlo da qualche parte.
  • In questo codice, il loop setup() contiene la definizione del LED integrato sulla scheda come uscita e il loop emette alto e basso a questo LED. Si noti che per il LED integrato nella scheda (solo! questo non è il caso tipico), l'uscita "LOW" (0 volt) lo farà accendere, poiché è acceso di default, e "HIGH" (3.3V in questo caso immagino), è spento
  • Se tutto è impostato correttamente come descritto sopra, dovresti essere in grado di fare clic su "Verifica" (il segno di spunta nel cerchio nell'angolo in alto a sinistra) per assicurarti che non ci siano errori (questo non ne avrà poiché l'hai fatto tu t scriverlo, ma il tuo lo farà!), e quando va tutto bene, il "Carica" proprio accanto ad esso
  • Dopo aver fatto clic su Carica, vedrai cose che si leggono nella regione nera in basso e punti/% di completamento della compilazione
  • Non preoccuparti se dice che occuperà il 33% della memoria… è fondamentalmente una quantità "fissa" occupata anche dal codice più semplice, quello che ho scritto ha occupato solo un ulteriore 1% di spazio
  • Vedrai il LED sulla scheda iniziare a lampeggiare (cosa che potrebbe aver già fatto un po'), quindi sentiti libero di cambiare la quantità di millesimi di secondo (millisecondi) nella parte di ritardo dello script. Se questa è la tua prima programmazione in assoluto, guardare il LED lampeggiare con una frequenza leggermente diversa sarà probabilmente un vero brivido

3. Opzioni per alimentare il NodeMcu

Non sono sicuro del motivo per cui non l'ho capito all'inizio, ma il codice che carichi sulla scheda rimarrà lì e funzionerà per sempre non appena/finché ci sarà alimentazione. Ad esempio, dopo aver completato il passaggio 2, se dovessi scollegarlo dal computer e accenderlo altrove, comincerebbe a lampeggiare di nuovo. Il modo più semplice per alimentare il NodeMcu è semplicemente collegare una micro USB e poi un blocco di ricarica proprio come usi per il tuo cellulare nel muro (un blocco 5V 1A o qualunque cosa sia). Sentiti libero di guardare le mie altre istruzioni per informazioni su come alimentare le cose, la polarità dei jack CC, ecc., ma l'essenza è che puoi usare qualsiasi amperaggio tu voglia, purché sia sufficiente per alimentare tutte le cose (1A è più di molto per questa scheda e per qualsiasi LED che usi, ad esempio), ma la tensione deve essere all'interno di un intervallo molto ristretto affinché tutto funzioni correttamente. Sul NodeMcu, puoi utilizzare un alimentatore con qualsiasi tensione da 3,3 V a 20 V in modo sicuro, poiché sulla scheda è presente un regolatore che riduce questa tensione (questa è una bella caratteristica). Con l'amperaggio, andare oltre va bene poiché la scheda attirerà solo ciò di cui ha bisogno, ma con la tensione è generalmente più sicuro usare tensioni il più vicino possibile, senza scendere, al numero richiesto, quindi è necessario fare meno lavoro/si spreca energia abbassando la tensione. Se si desidera utilizzare un pacco batteria o si desidera utilizzare un jack di alimentazione CC (forse in modo da poter avere un bel cavo lungo), i pin da utilizzare sono i pin di terra adiacenti VIN.

4. Connessione a Internet

Ho allegato come file (per i posteri, nel caso in cui il video scompaia) il codice dal video di YouTube sopra, ma per favore passa attraverso il link di YouTube e dagli una vista per il codice. Ne vale davvero la pena, spiega la storia del tabellone, il che è divertente.

Apri il file di codice arduino chiamato "Wifi_connect" e cambia SSID e password con i tuoi, quindi vai

  • Nota che sopra i loop c'è una linea #include, che dice ad Arduino di includere una libreria piena di roba WiFi per ESP8266. Queste sono fondamentalmente un mucchio di utilità e cose che sono raggruppate insieme e ti permettono di fare cose specifiche in modo relativamente semplice, usando le cose pre-scritte contenute nella libreria. Ad esempio, se hai acquistato uno scudo o un'aggiunta a una scheda, è probabile che sia associata a librerie in modo da poterti interfacciare più facilmente con essa.
  • Strumenti->Monitor seriale
  • Assicurati che il monitor seriale sia impostato per leggere a 9600. Se non è alla giusta velocità, il monitor seriale sputerà un pasticcio confuso, quindi questo è un buon indicatore che il tuo monitor seriale non è alla stessa velocità del seriale definito nel codice
  • Fai clic su verifica ed esegui e guarda il monitor seriale mentre viene completato… ti dirà un sacco di dettagli sulla connessione se ha funzionato e dimostra che l'ESP8266 nel NodeMcu è in grado di connettersi al tuo WiFi! Non sta facendo nulla, ma se andassi a collegare questa scheda al muro da qualche parte, potresti aspettare 30 secondi ed essere abbastanza sicuro che abbia stabilito una connessione con Internet che dovrebbe anche essere elettrizzante.
  • Per metterti alla prova, prova a combinare il codice "bllink" e il codice "wifi_connect" per far accendere il LED di bordo o lampeggiare una volta connesso a Internet. Questo è un ottimo modo per imparare!

Se hai fatto tutte le cose di cui sopra, congratulazioni! Hai dimostrato che puoi caricare il codice sul NodeMCU e che il NodeMcu può connettersi al tuo WiFi. In realtà utilizzeremo un metodo leggermente diverso di connessione al WiFi, utilizzando la libreria MultiWifi anziché la normale libreria Wi-Fi precedente, poiché ti consente di aggiungere facilmente un elenco di WiFi e provare a connetterti a quello che può.

Passaggio 4: come estrarre i dati da un sito Web

Come estrarre dati da un sito Web
Come estrarre dati da un sito Web

I dati nei siti Web vengono archiviati in modo molto inquietante. Filtrare questo nelle cose che vuoi, o "analizzarlo" perché è ugualmente inquietante, e tentare di farlo senza una conoscenza significativa dell'HTML può essere scoraggiante … quindi l'obiettivo è ottenere i dati che desideri dal luogo spettrale in un luogo molto puro e felice. Dal punto di vista funzionale, ciò significa passare da un URL che visualizza l'intero sito Web a un URL che visualizza SOLO il singolo dato che desideri.

1. "Indirizza" alle informazioni che desideri nel sito web

Vai al sito che ti interessa, ad esempio qui

www.timeanddate.com/worldclock/canada/edmonton

quindi vai ai dati che desideri, fai clic con il pulsante destro del mouse e seleziona "ispeziona". Si aprirà il visualizzatore HTML nel tuo browser e ti mostrerà il ramo finale dell'albero da cui provengono i tuoi dati. Trovo che il browser più semplice da usare per questo sia Chrome, ma a quanto pare Firefox ha alcune estensioni che lo rendono migliore … ma mi sembra che sia solo una classica cosa da persona di Firefox da dire?

È lì che risiedono i dati. A volte ha un ID a cui fa riferimento, a volte è semplicemente scritto dentro. Quindi come lo estraiamo?

2. Thingspeak/ThingHTTP/API (non aver paura, non è necessaria alcuna codifica)

Non parlerò nemmeno di cosa sono le API e come le crei, ma puoi immaginarle come l'effettiva connessione o trasmissione tra te (le tue richieste) e dove sono le cose che stai richiedendo. L'analogia classica è un cameriere in un ristorante. Per farlo senza alcuna codifica, utilizzerai un servizio gratuito chiamato "ThingSpeak", e in particolare la loro applicazione "ThingHTTP". Basta creare un account, quindi andare su app e in fondo a cosahttp e crearne uno.

L'unica cosa che devi fare è copiare e incollare l'URL del sito Web, ad esempio il sito Web di data e ora sopra, quindi scorrere fino all'ultimo campo "Parse String". Questo è il percorso dei dati che desideri.

Immagino che questo percorso possa essere fornito in alcuni modi, ma il modo più semplice e unico che conosco è fare clic con il pulsante destro del mouse su quel dato come descritto sopra, ispezionarlo e quindi fare clic con il pulsante destro del mouse sulla riga evidenziata corrispondente a quei dati in il visualizzatore HTML e andando su Copia-> x percorso. Questo è mostrato nell'immagine allegata.

Una volta che hai finito, prova ad andare all'URL generato per te e vedi se contiene i dati che desideri in qualche modo con cui puoi almeno lavorare. Ad esempio, il mio dice che la temperatura è "XX F" invece del numero di gradi Celsius, ma le unità e la F alla fine possono essere facilmente modificate all'interno del codice. È ESTREMAMENTE COMUNE RICEVERE L'ERRORE CHE NON PU ESSERE PARLATO. Se questo è il caso, prova a eliminare alcune delle intestazioni all'interno di xpath, vedi se riesci a trovare i dati altrove o consulta un forum dove potrebbero essere in grado di identificare gli aspetti "corrotti" della tua stringa di analisi. Questo metodo NON funzionerà sicuramente su un sito Web che non carica i dati desiderati con il sito Web, ma invece (stesso) estrae da una fonte esterna, il che richiede un po' di tempo per il caricamento. Tuttavia, dovrebbe funzionare bene per le cose come cose di YouTube, meteo, ecc.

3. Accesso a questi dati dal NodeMCU

Ho già digitato molto, quindi vedi il codice allegato, che ha molti commenti ed è attualmente impostato per leggere con probabilità aurora boreale per Edmonton AB, Canada (solo!). La prima modifica che dovrai apportare è semplicemente cambiare l'URL (in realtà solo la parte chiave dell'API di 16 cifre dell'URL) con il tuo

La seconda cosa che dovrai modificare è nel loop(), dove il "valore" effettivo viene inserito e memorizzato come variabile "yourvalue", che è una stringa (testo). Può essere utilizzato in qualsiasi modo tu voglia da lì fuori. Ho rimosso il simbolo della percentuale, diviso le 2 cifre della % in 2 variabili (ad esempio 14% in 1, 4) e le ho memorizzate ciascuna come numeri interi, ma con alcune rapide ricerche o commenti su Google qui, dovresti essere in grado per estrarre esattamente i numeri desiderati dalla stringa generata da thinghttp. Avrai bisogno di numeri per essere in grado di fare cose come decidere se è abbastanza grande o piccolo o divisibile per qualcosa da accendere, spegnere o visualizzare le cose. Il resto del codice da quel momento in poi, inclusa la funzione in basso chiamata sevenseg(), viene utilizzato per visualizzare i 2 numeri.

Sentiti libero di porre domande sul codice, o su come potresti estrarre o mostrare il tipo di cose che desideri, o come potresti usare questi numeri, ad esempio dividendo lo spettro di un LED rgb e mappando valori diversi a colori diversi.

Passaggio 5: visualizzazione dei dati

Visualizzazione dei dati
Visualizzazione dei dati

1. Cosa ho usato (come cablare un display a 7 segmenti)

Ho ottenuto lo schema allegato/ho seguito il cablaggio descritto da quest'altro istruibile.

Il cablaggio è abbastanza semplice, ma se non hai mai usato una breadboard, allora può essere fonte di confusione. Essenzialmente una breadboard ha lo scopo di rendere le connessioni chiare e temporanee.

Tutte le seguenti descrizioni saranno in relazione al diagramma allegato: Una breadboard può essere divisa orizzontalmente in 2 metà ripetute, ciascuna con 2 segmenti distinti: righe orizzontali - e + che estendono la lunghezza della breadboard (utilizzata per l'alimentazione) e colonne verticali, che sono numerati e consistono in 5 punti per colonna che vengono utilizzati per contrassegnare le connessioni. C'è poi un piccolo spazio vuoto, e poi queste stesse caratteristiche si sono raddoppiate dall'altra parte di quella linea divisoria immaginaria. Tutti i punti della riga orizzontale + sono collegati insieme e tutti i punti della riga orizzontale sono collegati insieme. Ciò ti consente di collegare l'alimentazione a un'estremità della breadboard e quindi di essere in grado di collegare le cose in qualsiasi punto lungo il + per estrarre l'alimentazione, proprio come una lunga barra di alimentazione per le prese. Lo stesso vale per la riga -, che viene utilizzata per mettere a terra le cose. Per le colonne numerate, ogni punto in una colonna numerata è collegato agli altri 4 punti. Nota che i cinque punti in una colonna NON sono collegati ai cinque opposti alla linea di metà strada immaginaria. La breadboard potrebbe essere tagliata longitudinalmente e nessun collegamento elettrico verrebbe interrotto.

Il NodeMcu si trova perfettamente a cavallo tra le due metà della breadboard, con ciascun pin corrispondente all'alimentazione o agli ingressi/uscite con una colonna numerata su se stesso, in modo da poter collegare i cavi al punto accessibile rimanente e collegarlo altrove sulla breadboard. Lo stesso vale per il display a 7 segmenti mostrato nel diagramma. Ad esempio, segui il percorso del terreno dalla tavola al display a 7 segmenti nel diagramma.

  1. il pin di terra di NodeMcu è collegato alla colonna 2
  2. filo dalla colonna 2 alla riga di potenza orizzontale -ve (indicata dalla messa a terra per convenzione)
  3. dalla riga di terra (il numero di colonna è irrilevante, poiché l'intera riga è collegata) alla colonna 22 tramite un resistore
  4. nel pin "massa" del display a 7 segmenti che è anche collegato alla colonna 22

Lo scopo del resistore nel diagramma è fondamentalmente quello di "assorbire" parte della potenza in eccesso erogata ai LED, che funziona funzionalmente per oscurare il display. Vedrai che quando un "1" è illuminato rispetto a un "8", l'1 è molto più luminoso, poiché sono accesi meno LED. Meno luminoso si esegue il LED, più a lungo durerà, quindi è necessario il resistore. La maggior parte dei diagrammi per i display a 7 segmenti mostra effettivamente che c'è un resistore in serie con ciascuno dei singoli segmenti, ma sembra funzionare bene. Ho usato una resistenza da 1K ohm.

Sii molto attento a quali pin corrispondono a quale pin sul display, poiché questi sono mappati nel codice.

2. Alcune idee/cose che avrei fatto con più tempo

Questo è essenzialmente il punto in cui mi sono fermato, ma avresti potuto scegliere molte altre cose da produrre in base al valore dei tuoi dati come:

  • un LED rgb che cambia colore in base al valore, o copre un gradiente, dal verde al rosso per esempio
  • un display a LED completo
  • un LED logico on/off sopra/sotto vero/falso che si accende o si spegne per indicare qualcosa
  • un motore che gira in un momento specifico della giornata, come per una valvola su un sistema di irrigazione o per rilasciare un bocconcino per il tuo cane… Sono sicuro che ci sono modi più efficienti per farlo che interpretare l'ora via wifi ma è un'opzione!

Il prossimo passo (per cui ci sono sorprendentemente molti altri tutorial) è pubblicare dati sul tuo PROPRIO server (che può essere fatto anche attraverso thingspeak) e quindi utilizzare questi dati (come per un giardino automatizzato o cose di una casa intelligente).

Passaggio 6: costruire una scatola

Costruire una scatola
Costruire una scatola
Costruire una scatola
Costruire una scatola
Costruire una scatola
Costruire una scatola
Costruire una scatola
Costruire una scatola

Tutte le connessioni effettuate tramite la breadboard possono essere rese permanenti saldando i fili direttamente tra la scheda e l'uscita (come il LED), oppure utilizzando una breadboard molto più piccola o PCB per effettuare connessioni su una scala che possa adattarsi il tuo progetto. Ho scelto di utilizzare una piccola breadboard inclusa nel kit che ho collegato, e avevo solo bisogno di saldare un resistore all'estremità di un filo… non molto robusto, ma funzionale!

Ho tagliato 4 pezzi di pino da 1/4" x 3,5" a 3,5" (i lati) e uno a 4" (la parte superiore), e li ho semplicemente uniti e incollati insieme, assicurandomi di avere tutte le facce quadrate il più possibile in modo che ogni faccia fosse il più arrossata possibile. Prima di incollare i pezzi anteriore o posteriore, ho ritagliato le aree in cui il display e la scheda sporgevano abbastanza da essere visti/collegati rispettivamente. La piccola breadboard che ho ricevuto aveva del nastro adesivo sul retro in modo che potesse essere montata su una delle pareti laterali e il display a 7 segmenti potrebbe essere tenuto in posizione appoggiando prima il pezzo sul nastro da imballaggio, posizionando il display su questo nastro, e poi cospargere il lievito sopra/in tutti gli spazi vuoti. Quindi ho versato la colla CA (super) negli spazi vuoti, che, a contatto con il bicarbonato di sodio, si è istantaneamente indurita per tenere il display in posizione, a filo con la parte anteriore del pezzo frontale. Il nastro da imballaggio doveva impedire alla colla di filtrare tra il display e la superficie su cui è rivolto verso il basso e di oscurarlo una volta asciutto.

Ho incollato impiallacciatura di pino su tutti i lati (usando la colla CA, che secondo me funziona meglio della colla per legno) e levigato i bordi con ogni pezzo applicato, per renderlo uniforme/nascondere le giunture di testa/fungere da diffusore per il mostra come in questo video.

Consigliato: