Inhoudsopgave:
- Stap 1: Schematisch:
- Stap 2: Programmeren
- Stap 3: Prototyping
- Stap 4: PCB
- Stap 5: Vooruitgang
- Stap 6: Kritiek
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Dit project is ontstaan toen mijn vriendin en ik meerdere LED-sprookjeslichtdraden in de kamer installeerden voor een fijn kerstgevoel. Elke keer dat we naar bed gingen, moesten we door de kamer rennen en elke draad afsluiten. Laatst moesten we ze allemaal weer aanzetten.
Omdat ik wat ESP8266 ESP-01-modules had liggen, besloot ik een snel prototype te assembleren en te programmeren.
Na de succesvolle implementatie van het prototype met een junk LED-draad, besloot ik mijn eerste PCB-ontwerp aan te nemen en bestelde ik een paar boards.
Deze instructable leidt je door het schema, het eerste prototype en de PCB en geeft je de code om de ESP-module met een paar klikken te programmeren.
TL;DR: Dit is een gemakkelijke manier om een Wi-Fi-gestuurde schakelaar te implementeren met de ESP8266 ESP-01.
Benodigdheden:
Hardware
- ESP8266 ESP-01-module
- AMS-1117 3.3V-regelaar
- IRLB8721 MOSFET (laatste PCB) of 2N2222 transistor (oorspronkelijk prototype)
- Mannelijke en vrouwelijke kopbalken
Software
Arduino IDE v1.6
Voor programmering:
OPEN SMART USB naar ESP-01 Adapter
Om uit te proberen
- LED
- 220 Ohm weerstand
- Breadboard
- Startkabels
Voor montage
- Soldeerbout
- Draden (alleen prototype; niet voor PCB)
- Perf board (alleen prototype; niet voor PCB)
Stap 1: Schematisch:
Hierboven is het schema gemaakt met EasyEDA. Het kan als volgt worden opgesplitst:
We nemen een ingangsspanning van een USB-voedingskabel met 5V en voeren deze in de VIN-pinnen van de AMS1117 3.3V-module.
De VOUT-pinnen van de AMS1117 3.3V-module zijn verbonden met de collectorpin van de IRLB8721 MOSFET en de VIN- en CH_PD-pinnen van de ESP8266 ESP-01-module. De CH_PD-pin moet HOOG worden getrokken zodat de ESP8266 ESP-01-module de code kan uitvoeren.
De D2-pin van de ESP8266 ESP-01-module is verbonden met de GATE-pin van de IRLB8721 MOSFET. Dit bepaalt of de stroom er doorheen mag of niet.
De emitterpen van de IRLB8721 MOSFET is verbonden met de LED-draad.
Ten slotte zijn alle aardpennen met elkaar verbonden.
Als je de 2N2222-transistor hebt gekozen, vervang dan alle exemplaren van IRLB8721 door respectievelijk 2N2222 en onthoud dat de pootjes op beide componenten een verschillende betekenis hebben.
Stap 2: Programmeren
Voordat we een prototype op een breadboard zetten, moeten we de ESP8266 ESP-01-module programmeren, zodat we het prototype later kunnen testen.
Code
Mijn code is sterk gebaseerd op de tutorial van Random Nerd Tutorial voor de eenvoudige HTTP-server. Ik heb echter de tweede knop verwijderd, omdat we maar één pin (D2) hoeven te bedienen. Desalniettemin kunt u hun code gewoon gebruiken zoals deze is en uw wifi-inloggegevens vervangen.
Flash de ESP8266 ESP-01
Als u de OPEN-SMART USB-naar-ESP-01-adapter hebt, kunt u uw ESP8266 ESP-01-module erop aansluiten en de schakelaar op PROG zetten. Sluit vervolgens het geheel aan op een vrije USB-poort op uw computer en start de Arduino IDE.
Kopieer en plak de code van Random Nerd Tutorials, vervang uw WiFi-inloggegevens en upload deze naar de ESP8266 ESP-01-module.
Verwijder vervolgens de ESP8266 ESP-01-module van de OPEN-SMART-adapter, zet de schakelaar op UART en plaats deze opnieuw.
Test de code
Open de Serial Console in de Arduino IDE en wacht tot de module is verbonden met wifi.
Open vervolgens uw browser en navigeer naar het IP-adres dat wordt weergegeven in de seriële console. Opmerking: u moet zich in hetzelfde netwerk bevinden, ook wel wifi genoemd. Anders heb je geen toegang tot de ESP8266 ESP-01!
Als alles werkt, zie je een website met twee knoppen. Sluit een LED met een weerstand van 220 Ohm aan op de D2-pin op de ESP8266 ESP-01-module en deze moet oplichten en uitgaan wanneer u op de juiste knop op de website klikt.
Als je problemen ondervindt, volg dan de volledige en gedetailleerde tutorial die hierboven is gelinkt.
Stap 3: Prototyping
Stel een breadboard in met alle benodigde componenten en draden zoals weergegeven in het bovenstaande schema en test het met de geprogrammeerde ESP8266 ESP-01-module.
Als alles werkt, heb je twee opties.
Optie A: Soldeer het op een perf-bord
Optie B: Maak een PCB
Ik koos eerst voor optie A en besloot daarna mijn handen uit de mouwen te steken met mijn eerste PCB-project.
Op de foto's zie je mijn zelfgesoldeerde prototype. Zoals altijd zijn de verbindingen een puinhoop en ik heb wat krimpkousen gebruikt om te voorkomen dat de overlappende verbindingen kortsluiten. Ik gebruikte ook de 2N2222-transistor in plaats van de IRLB8721 MOSFET, omdat ik er genoeg had liggen en ik wist dat het niet bedoeld was om te blijven.
Het solderen kostte me ongeveer een uur en het was helemaal niet leuk. Als je een professionele soldeerder bent, geniet je misschien van het proces, maar voor mij wil ik iets eenvoudigers.
Stap 4: PCB
Ik was bang voor PCB's omdat ik dacht dat ik ze moest ontwerpen met de SMD-componenten en ik kon geen gemakkelijk gemaakte ESP- of Arduino-ontwikkelmodules vinden om in het schema of de PCB-lay-out in te voegen.
Voor dit project heb ik besloten om de ESP8266-01 en AMS1117 3.3. V-modules gewoon te beschouwen als het soort dingen dat ik op het bord zou moeten solderen om ze te gebruiken: als vrouwelijke header-pinnen.
Dit maakte mijn leven een stuk gemakkelijker en de PCB-layout was in ongeveer twee uur klaar. U kunt de twee versies op de foto's zien.
Versie 1 heeft enkele kleine kanttekeningen:
1. De koppennen zijn te smal. Ik had er geen rekening mee gehouden dat ze 2,54 mm van elkaar verwijderd moesten zijn en pakte gewoon de eerste pinnen uit de bibliotheek.2. Ik heb het label voor VIN verknoeid: VCC- en GND-labels zijn verwisseld.3. De AMS1117 3.3V-module is breder dan ik dacht en overspant de rand van de printplaat.
Natuurlijk merkte ik die waarschuwingen op nadat ik ze in het echt had besteld en getest. Ze zijn geen spelbreker, maar ik heb een nieuwe versie gemaakt waarin ik de bovengenoemde punten heb verbeterd. Ook heb ik de ESP8266 ESP-01-module zo geplaatst dat deze de AMS1117 3.3V-module niet zou overlappen.
Je kunt het EasyEDA-project hier vinden:
Stap 5: Vooruitgang
Dus hier zijn we met een eenvoudig te monteren printplaat. Wat is het volgende?
Behuizing
Het zou geweldig zijn om een 3D-geprinte behuizing te hebben die de elektronica verbergt en de constructie robuuster maakt. In het ideale geval zou het een geïntegreerd koellichaam hebben voor de IRLB8721 (hoewel het tijdens mijn test met een 10 m lange LED-draad nooit warmer werd dan kamertemperatuur).
Connectoren
Ook wil ik een USB-connector toevoegen voor VIN, ook bekend als de USB-kabel en een JST-connector voor VOUT, ook bekend als de LED-draad. Momenteel gebruikte ik mannelijke headers op het bord en vrouwelijke headers gesoldeerd aan de LED-draad en de (afgesneden) USB-kabel om het aan te sluiten. Maar dit is geen toekomstvaste verbinding en ziet er niet erg professioneel uit.
In combinatie met een case zou dit de esthetiek van de build enorm vergroten en ook de algehele gebruikservaring (wat cruciaal is als je een smart home probeert te implementeren in een gedeelde omgeving en niet alleen in je eigen kamer of laboratorium).
Smart Home-integratie
Momenteel is elke ESP8266 ESP-01 een HTTP-server met een website die de status ervan beheert. Ik wil graag mijn eerste stappen naar Smart Home zetten en NodeRED en MQTT gebruiken om ze te integreren in een gecentraliseerd domoticasysteem, zodat ik al mijn schakelaars vanuit één gebruikersinterface kan bedienen.
Natuurlijk zou ik gewoon een webserver kunnen bouwen die verzoeken naar de verschillende ESP8266 ESP-01-modules stuurt, maar nogmaals, dat is geen elegante, gestandaardiseerde of uitbreidbare oplossing.
Stap 6: Kritiek
Als je het tot hier hebt gehaald, heel erg bedankt voor het lezen!
Dit is mijn eerste artikel hier en ik hoop dat je iets mee kunt nemen. Ik ben niet in de verschillende genoemde onderwerpen gedoken, omdat ik vond dat er al veel geweldige tutorials over de verschillende onderwerpen zijn. Als u meer referenties nodig heeft of als u wilt dat ik enkele van de stappen gedetailleerder beschrijf, laat dan een reactie achter.
Als je het leuk vindt wat je leest, laat dan ook een reactie achter en misschien vind je het artikel leuk. Het zou veel betekenen:)
Aanbevolen:
Meerdere ESP-gesprekken voeren via ESP-NOW met ESP32 en ESP8266: 8 stappen
Meerdere ESP-gesprekken maken via ESP-NOW ESP32 en ESP8266 gebruiken: voor mijn lopende project heb ik meerdere ESP nodig om met elkaar te praten zonder een router. Om dit te doen, zal ik de ESP-NOW gebruiken om draadloos met elkaar te communiceren zonder een router op de ESP
ESP8266 NODEMCU BLYNK IOT-zelfstudie - Esp8266 IOT Blunk en Arduino IDE gebruiken - Led's bedienen via internet: 6 stappen
ESP8266 NODEMCU BLYNK IOT-zelfstudie | Esp8266 IOT Blunk en Arduino IDE gebruiken | LED's bedienen via internet: Hallo jongens, in deze instructables zullen we leren hoe we IOT kunnen gebruiken met onze ESP8266 of Nodemcu. We zullen daarvoor de blynk-app gebruiken. Dus we zullen onze esp8266/nodemcu gebruiken om de LED's via internet te bedienen. Dus de Blynk-app wordt verbonden met onze esp8266 of Nodemcu
ESP naar ESP-communicatie: 4 stappen
ESP naar ESP-communicatie: deze tutorial helpt u andere zendontvangermodules te vervangen voor elk ander project dat draadloze communicatie omvat. We zullen een op ESP8266 gebaseerd bord gebruiken, één in WiFi-STA-modus en de andere in WiFi-AP-modus, NodeMCU V3 is mijn keuze voor dit project
ESP-12E en ESP-12F programmeer- en ontwikkelingsbord: 3 stappen (met afbeeldingen)
ESP-12E en ESP-12F programmeer- en ontwikkelingsbord: De opdracht voor dit bord was eenvoudig: ESP-12E- en ESP-12F-modules net zo gemakkelijk kunnen programmeren als de NodeMCU-kaarten (d.w.z. dat u niet op knoppen hoeft te drukken). Heb breadboard-vriendelijke pinnen met toegang tot de bruikbare IO. Gebruik een aparte USB-naar-serieel-conv
ESP8266/ESP-12 Arduino aangedreven SmartThings DS18B20 Temp. Sensor: 4 stappen (met afbeeldingen)
ESP8266/ESP-12 Arduino aangedreven SmartThings DS18B20 Temp. Sensor: We willen allemaal graag weten wat de huidige kamertemperatuur is, en soms wat de temperatuur in een andere kamer is, of misschien zelfs in uw vakantiehuis aan de andere kant van de wereld. Misschien wil je de temperatuur in het huis van je huisdier Lizard in de gaten houden