Sommario:

Monitoraggio della lavatrice/asciugatrice con ESP8266 e sensore di accelerazione: 6 passaggi
Monitoraggio della lavatrice/asciugatrice con ESP8266 e sensore di accelerazione: 6 passaggi

Video: Monitoraggio della lavatrice/asciugatrice con ESP8266 e sensore di accelerazione: 6 passaggi

Video: Monitoraggio della lavatrice/asciugatrice con ESP8266 e sensore di accelerazione: 6 passaggi
Video: Power Monitor con Arduino - Video 523 2024, Luglio
Anonim
Monitoraggio della lavatrice/asciugatrice con ESP8266 e sensore di accelerazione
Monitoraggio della lavatrice/asciugatrice con ESP8266 e sensore di accelerazione

La lavatrice/asciugatrice si trova nel seminterrato e tu, di regola, ci metti un mucchio di vestiti e poi ti occupi di un altro lavoro di casa. Trascuri i vestiti che sono stati lasciati fradici e assorbenti nel seminterrato della tua macchina. Bene, di nuovo, una volta ogni tanto corri semplicemente al piano di sotto aspettandoti che la macchina abbia completato il lavoro e poi vedi la macchina ancora in funzione. Lo so, è irritante.

Immagina uno scenario in cui puoi controllare lo stato della lavatrice/asciugatrice sul tuo cellulare o tablet. Allo stesso modo, dove puoi ricevere un messaggio sul tuo telefono che indica che la macchina ha terminato la sua assegnazione. Sembra eccezionalmente affascinante e accomodante, giusto!

Infatti, con l'assistenza di ESP8266 e di un sensore accelerometro puoi monitorare lo stato della tua lavatrice/asciugatrice. Puoi realizzare questa impresa a casa tua in modo semplice se segui le istruzioni e copi il codice.

Passaggio 1: attrezzatura di cui abbiamo bisogno

Attrezzatura di cui abbiamo bisogno
Attrezzatura di cui abbiamo bisogno
Attrezzatura di cui abbiamo bisogno
Attrezzatura di cui abbiamo bisogno
Attrezzatura di cui abbiamo bisogno
Attrezzatura di cui abbiamo bisogno
Attrezzatura di cui abbiamo bisogno
Attrezzatura di cui abbiamo bisogno

1. Adafruit Huzzah ESP8266

Il primo passo è stato ottenere una scheda Adafruit Huzzah ESP8266. Adafruit Huzzah ESP8266 è un chip Wi-Fi a basso costo con uno stack TCP/IP completo e capacità di microcontrollore. ESP8266 fornisce una piattaforma matura per applicazioni di monitoraggio e controllo utilizzando Arduino Wire Language e Arduino IDE. Il modulo ESP8266 è una scheda estremamente conveniente con una comunità enorme e in continua crescita.

2. Adattatore host Adafruit Huzzah ESP8266 (programmatore USB)

Questo adattatore host ESP8266 è stato progettato specificamente per la versione Adafruit Huzzah di ESP8266, fornendo un'interfaccia I²C. La porta USB integrata fornisce alimentazione e programmazione all'ESP8266.

3. Sensore di accelerazione H3LIS331DL

L'H3LIS331DL è un accelerometro lineare a 3 assi ad alte prestazioni a bassa potenza con interfaccia seriale digitale I²C. È attrezzato per misurare accelerazioni con velocità dati in uscita da 0,5 Hz a 1 kHz. Tutte queste cose rendono questo sensore una scelta ideale per questo progetto.

4. Cavo di collegamento

Ho usato il cavo di collegamento I²C disponibile al link sopra.

5. Cavo mini USB

Il cavo mini USB L'alimentatore è la scelta ideale per alimentare Adafruit Huzzah ESP8266.

Passaggio 2: connessioni hardware

Connessioni hardware
Connessioni hardware
Connessioni hardware
Connessioni hardware
Connessioni hardware
Connessioni hardware

In generale, i collegamenti sono molto semplici. Segui le istruzioni e le immagini qui sotto e non dovresti avere difficoltà.

Collegamento di Adafruit Huzzah ESP8266 e programmatore USB

Prima di tutto prendi l'Adafruit Huzzah ESP8266 e posiziona il programmatore USB (con la porta I²C rivolta verso l'interno) su di esso. Premi delicatamente il programmatore USB in posizione e abbiamo finito con questo passaggio. Facile come una torta (vedi la foto n. 1).

Collegamento del sensore e Adafruit Huzzah ESP8266

Prendi il sensore e collega il cavo I²C ad esso. Per il corretto funzionamento di questo cavo, ricordare che l'uscita I²C si collega SEMPRE all'ingresso I²C. Lo stesso dovrebbe essere fatto per Adafruit Huzzah ESP8266 con il programmatore USB montato su di esso (vedi foto n. 2).

Con l'aiuto del programmatore USB ESP8266, è molto facile programmare ESP8266. Tutto quello che devi fare è collegare il sensore al programmatore USB e sei a posto. Preferisco usare questo adattatore perché rende molto più facile collegare l'hardware. Senza questo programmatore USB plug and play, c'è un grande rischio di effettuare una connessione errata. Un filo sbagliato può uccidere il tuo wifi e il tuo sensore.

Nota: il filo marrone dovrebbe sempre seguire la connessione di terra (GND) tra l'uscita di un dispositivo e l'ingresso di un altro dispositivo

Alimentazione del circuito

Collega il cavo Mini USB alla presa di alimentazione di Adafruit Huzzah ESP8266. Accendilo e voilà, siamo a posto!

L'assemblaggio finale sarà come nella foto #3.

Posizionare il sensore all'interno della lavatrice/asciugatrice

Prima di fare ciò, assicurati di coprire completamente il sensore con la plastica in modo che sopravviva al contatto con l'acqua. Ora, posiziona il sensore e incollalo sul cestello della lavatrice/asciugatrice. Fallo deliberatamente senza danneggiare i cavi della lavatrice/asciugatrice e farti male.

Con questo, abbiamo finito con tutto il lavoro hardware.

Passaggio 3: codice Arduino Adafruit Huzzah ESP8266

Il codice ESP per Adafruit Huzzah ESP8266 e H3LIS331DL Sensor è disponibile nel nostro repository Github.

Prima di passare al codice, assicurati di leggere le istruzioni fornite nel file Leggimi e imposta il tuo Adafruit Huzzah ESP8266 in base ad esso. Ci vorrà solo un momento per farlo.

Nota: prima di caricare, assicurati di inserire la tua rete SSID e la password nel codice

Puoi copiare il codice ESP funzionante per questo sensore anche da qui:

// Distribuito con una licenza di libero arbitrio.// Usalo come vuoi, a scopo di lucro o gratuito, a condizione che si adatti alle licenze delle opere associate. // Monitoraggio della lavatrice/asciugatrice con ESP8266 // Questo codice è progettato per funzionare con il mini modulo I2C H3LIS331DL_I2CS disponibile su Dcubestore.com. //

#includere

#include #include #include

// L'indirizzo I2C di H3LIS331DL è 0x18(24)

#define Indirizzo 0x18

const char* ssid = "la tua rete ssid";

const char* password = "la tua password";

Server ESP8266WebServer(80);

void handleroot()

{ dati int non firmati[6];

for (int i = 0; i < 6; i++) { // Avvia la trasmissione I2C Wire.beginTransmission(Addr); // Seleziona il registro dati Wire.write((40 + i)); // Arresta la trasmissione I2C Wire.endTransmission();

// Richiedi 1 byte di dati

Wire.requestFrom(Addr, 1); // Legge 6 byte di dati // xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb if (Wire.available() == 1) { data = Wire.read(); } } ritardo(300);

// Converti i dati

int xAccl = ((data[1] * 256) + data[0]); if (xAccl > 32767) { xAccl -= 65536; } int xAcc = ((100 * 9.8) / 32768) * xAccl;

int yAccl = ((data[3] * 256) + data[2]);

if (yAccl > 32767) { yAccl -= 65536; } int yAcc = ((100 * 9.8) / 32768) * yAccl;

int zAccl = ((dati[5] * 256) + dati[4]);

if (zAccl > 32767) { zAccl -= 65536; } int zAcc = ((100 * 9.8) / 32768) * zAccl;

// Invia i dati al monitor seriale

Serial.print("Accelerazione nell'asse X: "); Serial.print(xAcc); Serial.println("m/s"); Serial.print("Accelerazione nell'asse Y: "); Serial.print(yAcc); Serial.println("m/s"); Serial.print("Accelerazione nell'asse Z: "); Serial.print(zAcc); Serial.println("m/s"); ritardo(300);

// Invia i dati al server Web

server.sendContent ("<meta http-equiv='refresh' content='10'""

CONTROLLA TUTTO

www.controleverything.com

H3LIS331DL Mini modulo sensore I2C

"); server.sendContent ("

Accelerazione nell'asse X = " + String(xAcc) + " m/s/s"); server.sendContent ("

Accelerazione sull'asse Y = " + String(yAcc) + " m/s/s"); server.sendContent ("

Accelerazione sull'asse Z = " + String(zAcc) + " m/s/s");

se (xAcc > 2)

{ // Invia i dati al monitor seriale Serial.println("Lavatrice/asciugatrice: Funzionante");

// Invia i dati al server Web

server.sendContent ("

Lavatrice/Asciugabiancheria: Funzionante"); } else { // Invia i dati al monitor seriale Serial.println("Lavatrice/Asciugatrice: Completata");

// Invia i dati al server Web

server.sendContent ("

Lavatrice/asciugatrice: completata"); } }

configurazione nulla()

{ // Inizializza la comunicazione I2C come MASTER Wire.begin(2, 14); // Inizializza la comunicazione seriale, imposta baud rate = 115200 Serial.begin(115200);

// Connettiti alla rete WiFi

WiFi.begin(ssid, password);

// Attendi la connessione

while (WiFi.status() != WL_CONNECTED) { ritardo(500); Serial.print("."); } Serial.println(""); Serial.print("Connesso a"); Serial.println(ssid);

// Ottieni l'indirizzo IP di ESP8266

Serial.print("Indirizzo IP: "); Serial.println(WiFi.localIP());

// Avvia il server

server.on("/", handleroot); server.begin(); Serial.println("Server HTTP avviato");

// Avvia la trasmissione I2C

Wire.beginTransmission(Addr); // Seleziona il registro di controllo 1 Wire.write(0x20); // Abilita gli assi X, Y, Z, modalità di accensione, velocità di uscita dati 50Hz Wire.write(0x27); // Arresta la trasmissione I2C Wire.endTransmission();

// Avvia la trasmissione I2C

Wire.beginTransmission(Addr); // Seleziona il registro di controllo 4 Wire.write(0x23); // Imposta fondo scala, +/- 100g, aggiornamento continuo Wire.write(0x00); // Arresta la trasmissione I2C Wire.endTransmission(); ritardo(300); }

ciclo vuoto()

{ server.handleClient(); }

Passaggio 4: praticità del codice

Praticità del Codice
Praticità del Codice

Ora scarica (git pull) o copia il codice e aprilo nell'IDE di Arduino.

Compila e carica il codice e guarda l'output sul tuo monitor seriale. Dopo pochi secondi verranno visualizzati tutti i parametri.

Copia l'indirizzo IP di ESP8266 dal monitor seriale e incollalo nel tuo browser web. Vedrai una pagina web con la lettura dell'accelerazione su 3 assi e lo stato della lavatrice/asciugatrice. Prima di passare al collaudo finale, è necessario modificare il valore di accelerazione in base alla posizione del tamburo della lavatrice e al posizionamento del sensore nella condizione if-else nel codice.

L'output del sensore su Serial Monitor e Web Server è mostrato nell'immagine sopra.

Passaggio 5: applicazioni e aggiornamento

Con l'assistenza di questo progetto, puoi monitorare lo stato della tua lavatrice/asciugatrice sui tuoi telefoni e laptop. Non c'è bisogno di andare più e più volte e aspettare/ascoltare per finire il compito.

Allo stesso modo, puoi ricevere un messaggio sul telefono che ti informa che la macchina ha terminato il suo compito. Con questo, ricorderai sempre i vestiti in lavatrice. Per questo, puoi semplicemente aggiornare questo progetto aggiungendo una parte nel codice sopra indicato.

Spero che questo progetto vi piaccia e che ispiri ulteriori sperimentazioni. La scheda Adafruit Huzzah ESP8266 è incredibilmente versatile, economica e accessibile a tutti gli hobbisti. Questo è solo uno dei tanti semplici progetti che possono essere costruiti utilizzando ESP8266.

Passaggio 6: risorse per andare oltre

Per ulteriori informazioni su H3LIS331DL ed ESP8266, controlla i collegamenti seguenti:

  • Scheda tecnica del sensore H3LIS331DL
  • Scheda tecnica ESP8266

Puoi anche visualizzare i nostri articoli aggiuntivi sui progetti di domotica e ESP8266:

  • Automazione domestica con ESP8266 e controller relè
  • Spie di controllo con ESP8266 e sensore di pressione

Consigliato: