Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
beste allemaal
Er is een project met Accu oplaadbare WS2812 LED-lamp, die via wifi kan worden bestuurd met alle browsercompatibele apparaten en die ook in de Apple Home Kit kan worden geïntegreerd en via hen kan worden bestuurd
Enkele kenmerken:
1. Geïntegreerde 2xAccu 18650 biedt ~12 werkuren zonder externe voeding op de middelste helderheid
2. Ingebouwd OLED 0.96-scherm
3. Weersensor BME280 om temperatuur, vochtigheid en druk te meten. Gegevens kunnen worden weergegeven op het web of op het geïntegreerde 0,96 OLED-display
4. Micro-USB-poort om op te laden
Stap 1: Maak een lichaam
Ik heb alle onderdelen op mijn 3D-printer afgedrukt
1. Lichaam
2. ESP32 Dev-bordafdekking
3. Ondersteuning voor USB-opladercontroller met mijn eigen ontwerp, zie bijgevoegde STL
Stap 2: Elektronisch onderdeel
Om dit project te maken heb je nodig:
1. ESP32, ik heb ESP32 dev board gebruikt
2. OLED-display, ik heb 0,96 inch gebruikt binnen de SSD1306-chip
3. BME280-sensor
4. 2x 18650 lithiumaccu 3000 mAh/h
5. USB-lithiumladermodule
6. DC-DC stap OMHOOG
7. Elke schakelaar
8. WS2812 LED's strip 120 LED's per meter ca. 1,5 m
8. Sommige draden
Stap 3: Montage en bedrading
De montage kan worden gedaan met een volgende stap:
1. Zet ESP32 op het deksel en soldeer de draden op de juiste pincodes, volgens het bedradingsschema
2. Zet 2x18650 bij elkaar en soldeer ze parallel
3. Plaats de USB-oplader op de steun en vervolgens op de onderkant van het lichaam om uitgelijnd te worden met het juiste gat, plaats het gat indien nodig
4. Zet de schakelaar in een ander gat
5. Soldeer Accu 18650, schakelaar, USB-oplader en DC-DC uit (bevestig geen ESP32!)
6. Nadat de stroom is ingeschakeld, stelt u de uitgangsspanning van DC-DC in op ~ 5v met behulp van de ingebouwde potentiometer
7. Plaats OLED-display op de muur. Pas indien nodig de rechthoek op het lichaam aan
8. Soldeer een ander deel, ESP 32, Display, sensor en WS2812-connectoren uit
8. Wikkel de WS2812-strip om de lichaamsbuis. Verberg de draden aan de zijkant van de buis
Enkele trucs:
- Ik heb hete lijm en B7000 gebruikt om alle items te repareren
- Weerstand wordt buiten de ESP-box gesoldeerd, direct tussen de draden
- Alle draden solderen bedekt door thermokrimpbuis
Stap 4: ESP programmeren
Voor dit project heb ik universele software gebruikt, die ik zelf heb ontwikkeld
Neem eens een kijkje op de github-pagina
Dit bevat volledige instructies voor het compileren en instellen
Voor dit project zijn de configuratiebestanden als voorbeeld bijgevoegd.
U kunt dit echter handmatig doen met een noodzakelijke aanpassing
Wat u moet controleren en wijzigen: 1. Services.json - pas "numleds" aan: xxx, waar xxx nummer van uw werkelijke LED's, na het knippen van de strip
2. config.json - stel de juiste hostnaam in voor uw apparaat "localhost":
3. config.json - stel de juiste waarden in voor uw mqtt-verbinding: "mqtt_host", "mqtt_port":, "mqtt_user", "mqtt_pass"., als mqtt_host leeg is, zal het apparaat niet proberen verbinding te maken met mqtt
Stap 5: Geniet ervan
Nu, wanneer alles klaar is, kunt u genieten van uw lamp en beheren via de webinterface
Deze lamp heb ik nog niet geïntegreerd in Apple Home Kit, maar dit is vrij eenvoudig, je moet kleine wijzigingen aanbrengen in configuratiebestanden. Daarna kunt u het apparaat bedienen via de Apple Home-kit
Om dat te doen, kijk eens naar een soortgelijk project
www.instructables.com/id/Bed-Room-Lamp-Ws2…
en lees wiki
github.com/Yurik72/ESPHomeController/wiki/…
Stap 6: Veelgestelde vragen, trucs en probleemoplossing
Sommige fabrikanten van WS2812 werken niet, omdat het 5v-logica vereist, maar ESP32 biedt 3,3 v
Dit probleem kan op de volgende manieren worden opgelost:
- Probeer de spanning van DC-DC te verlagen tot 4,7-4,8 V. Over het algemeen helpt het met 80%
- Plaats een diode tussen de +5v-uitgang en de WS2812 +5v-ingang. Diode zal de spanning met 0,6-0,8 volt verlagen en het zal helpen
2. In het gegeven voorbeeld en de firmware verwachtte ik dat WS2812 LED's GRB-volgorde zouden geven, maar ik kom veel strips tegen binnen RGB. Om dit op te lossen, kunt u de firmware wijzigen of gewoon een nieuwe instelling toevoegen aan de services.json voor "rgb_startled":1 voor RGBStripController-servicedefinitie. Dit betekent dat de RGB-reeks begint bij de LED #1. Ook als je twee strips in verschillende volgorde hebt aangesloten. de eerste strip is bijvoorbeeld 30 Leds GRB en de tweede 60 led RGB, je kunt "rgb_startled" definiëren: 31, en twee lents werken goed samen
3. Gezien ESP32-firmware al een andere weersensor ondersteunt. zoals DHT12, Dallas. Het kan ook gemakkelijk met hen worden geïnstalleerd