Sommario:

ESP8266 ESP-01 Interruttore filo LED: 6 passaggi
ESP8266 ESP-01 Interruttore filo LED: 6 passaggi

Video: ESP8266 ESP-01 Interruttore filo LED: 6 passaggi

Video: ESP8266 ESP-01 Interruttore filo LED: 6 passaggi
Video: ESP-01S : Programmare ESP8266 con Arduino IDE (primi passi) 2024, Dicembre
Anonim
ESP8266 ESP-01 Interruttore a filo LED
ESP8266 ESP-01 Interruttore a filo LED

Questo progetto è nato quando io e la mia ragazza abbiamo installato più fili luminosi a LED nella stanza per una bella sensazione natalizia. Ogni volta che andavamo a letto dovevamo correre per la stanza e spegnere ogni singolo cavo. L'altro giorno, abbiamo dovuto riaccenderli tutti.

Dato che avevo in giro alcuni moduli ESP8266 ESP-01, ho deciso di assemblare e programmare un prototipo veloce.

Dopo la riuscita implementazione del prototipo con un cavo LED spazzatura, ho deciso di intraprendere il mio primo progetto di PCB e ho ordinato alcune schede.

Questa istruzione ti guida attraverso lo schema, il primo prototipo e il PCB e ti dà il codice per programmare il modulo ESP con pochi clic.

TL; DR: questo è un modo semplice per implementare un interruttore controllato Wi-Fi con ESP8266 ESP-01.

Forniture:

Hardware

  • ESP8266 Modulo ESP-01
  • Regolatore AMS-1117 3.3V
  • IRLB8721 MOSFET (scheda finale) o transistor 2N2222 (prototipo iniziale)
  • Barre di intestazione maschio e femmina

Software

Arduino IDE v1.6

Per la programmazione

APRI SMART Adattatore da USB a ESP-01

Per i test

  • GUIDATO
  • Resistenza da 220 Ohm
  • tagliere
  • Cavi jumper

Per il montaggio

  • Saldatore
  • Fili (solo prototipo; non per PCB)
  • Perf board (solo prototipo; non per PCB)

Passaggio 1: Schema

Schema
Schema

Sopra c'è lo schema realizzato con EasyEDA. Può essere suddiviso in questo modo:

Prendiamo una tensione di ingresso da un cavo di alimentazione USB con 5V e la inseriamo nei pin VIN del modulo AMS1117 3.3V.

I pin VOUT del modulo AMS1117 3.3V sono collegati al pin del collettore del MOSFET IRLB8721 e ai pin VIN e CH_PD del modulo ESP8266 ESP-01. Il pin CH_PD deve essere tirato HIGH per il modulo ESP8266 ESP-01 per eseguire il codice.

Il pin D2 del modulo ESP8266 ESP-01 è collegato al pin GATE del MOSFET IRLB8721. Questo controlla se la corrente può fluire attraverso di essa o meno.

Il pin dell'emettitore del MOSFET IRLB8721 è collegato al filo del LED.

Infine, tutti i pin di terra sono collegati insieme.

Se hai scelto il transistor 2N2222, sostituisci tutte le occorrenze di IRLB8721 con 2N2222 rispettivamente e ricorda che le gambe hanno significati diversi su entrambi i componenti.

Passaggio 2: programmazione

Prima di impostare un prototipo su una breadboard, dovremmo programmare il modulo ESP8266 ESP-01, in modo da poter testare il prototipo in seguito.

Codice

Il mio codice è fortemente basato sul tutorial di Random Nerd Tutorial per il semplice server HTTP. Tuttavia, ho rimosso il secondo pulsante, poiché dobbiamo controllare solo un pin (D2). Tuttavia, puoi semplicemente utilizzare il loro codice così com'è e sostituire le tue credenziali WiFi.

Flash ESP8266 ESP-01

Se hai l'adattatore da USB a ESP-01 OPEN-SMART, puoi collegare il tuo modulo ESP8266 ESP-01 e impostare l'interruttore su PROG. Quindi, collega il tutto a una porta USB libera del tuo computer e avvia l'IDE Arduino.

Copia e incolla il codice da Random Nerd Tutorials, sostituisci le tue credenziali WiFi e caricalo sul modulo ESP8266 ESP-01.

Quindi, rimuovere il modulo ESP8266 ESP-01 dall'adattatore OPEN-SMART, impostare l'interruttore su UART e reinserirlo.

Prova il codice

Apri la console seriale nell'IDE Arduino e attendi che il modulo sia connesso al WiFi.

Quindi, apri il browser e accedi all'indirizzo IP mostrato nella console seriale. Nota: devi essere nella stessa rete alias WiFi. Altrimenti non sarai in grado di accedere a ESP8266 ESP-01!

Se tutto funziona, vedrai un sito Web con due pulsanti. Collega un LED con una resistenza da 220 Ohm al pin D2 sul modulo ESP8266 ESP-01 e dovrebbe accendersi e spegnersi quando fai clic sul pulsante corretto sul sito web.

In caso di difficoltà, seguire il tutorial completo e dettagliato collegato sopra.

Passaggio 3: prototipazione

prototipazione
prototipazione
prototipazione
prototipazione

Configurare una breadboard con tutti i componenti e i cavi necessari come mostrato nello schema sopra e testarlo con il modulo ESP8266 ESP-01 programmato.

Se tutto funziona, hai due opzioni.

Opzione A: saldarlo a una scheda perf

Opzione B: creare un PCB

Ho optato prima per l'opzione A e poi ho deciso di sporcarmi le mani con il mio primo progetto PCB.

Nelle foto vedete il mio prototipo autosaldato. Come sempre, le connessioni sono un disastro e ho usato dei tubi termoretraibili per evitare che le connessioni sovrapposte andassero in cortocircuito. Inoltre, ho usato il transistor 2N2222 invece del MOSFET IRLB8721, perché ne avevo molti in giro e sapevo che non era destinato a rimanere.

La saldatura mi ha impiegato circa un'ora e non è stato affatto divertente. Se sei un saldatore professionista forse ti piace il processo, ma per me voglio qualcosa di più semplice.

Passaggio 4: PCB

PCB
PCB
PCB
PCB

Avevo paura dei PCB perché pensavo di doverli progettare con i componenti SMD e non riuscivo a trovare moduli di sviluppo ESP o Arduino fatti subito da inserire nello schema o nel layout del PCB.

Per questo progetto ho deciso di considerare semplicemente i moduli ESP8266-01 e AMS1117 3.3. V come il tipo di materiale che avrei bisogno di saldare sulla scheda per poterli utilizzare: come pin di intestazione femmina.

Questo mi ha reso la vita molto più semplice e il layout del PCB è stato fatto in circa due ore. Potete vedere le due versioni nelle immagini.

La versione 1 ha alcuni avvertimenti minori:

1. I perni dell'intestazione sono troppo stretti. Non ho preso in considerazione che dovevano essere a 2,54 mm di distanza l'uno dall'altro e ho appena preso i primi pin dalla libreria.2. Ho incasinato l'etichetta per VIN: le etichette VCC e GND sono state scambiate.3. Il modulo AMS1117 3.3V è più largo di quanto pensassi e si estende oltre il bordo del PCB.

Naturalmente, ho notato questi avvertimenti dopo averli ordinati e testati nella vita reale. Non sono un rompicapo, ma ho creato una nuova versione in cui ho migliorato i punti sopra menzionati. Inoltre, ho posizionato il modulo ESP8266 ESP-01 in modo che non si sovrapponesse al modulo AMS1117 3.3V.

Puoi trovare il progetto EasyEDA qui:

Passaggio 5: avanzare

Quindi eccoci qui con un PCB facile da assemblare. Qual è il prossimo?

involucro

Sarebbe fantastico avere una custodia stampata in 3D che nasconda l'elettronica e renda la struttura più robusta. Idealmente avrebbe un dissipatore di calore integrato per l'IRLB8721 (anche se durante il mio test con un cavo LED lungo 10 m non è mai diventato più caldo della temperatura ambiente).

Connettori

Inoltre, voglio aggiungere un connettore USB per VIN, noto anche come cavo USB, e un connettore JST per VOUT, noto anche come cavo LED. Attualmente, ho utilizzato connettori maschio sulla scheda e connettori femmina saldati al cavo LED e al cavo USB (tagliato) per collegarlo. Ma questa non è una connessione a prova di futuro e non sembra molto professionale.

In combinazione con un caso, ciò aumenterebbe enormemente l'estetica della build e anche l'esperienza di utilizzo complessiva (che è cruciale se si tenta di implementare una casa intelligente in un ambiente condiviso e non solo nella propria stanza o laboratorio).

Integrazione Smart Home

Attualmente, ogni ESP8266 ESP-01 è un server HTTP con un sito Web che ne controlla lo stato. Vorrei muovere i primi passi verso la Smart Home e utilizzare NodeRED e MQTT per integrarli in un sistema di automazione domestica centralizzato in modo da poter controllare tutti i miei interruttori da un'unica interfaccia utente.

Ovviamente potrei semplicemente creare un server web che invii richieste ai diversi moduli ESP8266 ESP-01 ma, ancora una volta, non è una soluzione elegante, standardizzata o estensibile.

Passaggio 6: critica

Se sei arrivato fino a qui, grazie mille per aver letto!

Questo è il mio primo articolo qui e spero che tu possa portare via qualcosa. Non mi sono tuffato nei vari argomenti menzionati, perché ho sentito che ci sono già molti ottimi tutorial sui diversi argomenti. Se hai bisogno di più riferimenti o vuoi che ti descriva alcuni passaggi in modo più dettagliato, lascia un commento.

Se ti piace quello che leggi, lascia anche un commento e magari metti mi piace all'articolo. Significherebbe molto:)

Consigliato: