Inhoudsopgave:

WS2811 WebLights - Neem de controle over uw nieuwjaarslichten! - Ajarnpa
WS2811 WebLights - Neem de controle over uw nieuwjaarslichten! - Ajarnpa

Video: WS2811 WebLights - Neem de controle over uw nieuwjaarslichten! - Ajarnpa

Video: WS2811 WebLights - Neem de controle over uw nieuwjaarslichten! - Ajarnpa
Video: WebLights project. Playing file: sample3.bmp. 2024, November
Anonim
WS2811 WebLights - Neem de controle over uw nieuwjaarslichten!
WS2811 WebLights - Neem de controle over uw nieuwjaarslichten!

Zoals elke zichzelf respecterende ekster ben ik dol op alle heldere en glanzende dingen.

En zeker, elektrische LED-slingers vallen in deze categorie.

Helaas vallen deze lichten onder mijn aandacht als het nieuwe jaar net voorbij is. Maar hé! Ik hoop dat dit niet ons laatste nieuwjaar is en dat we genoeg tijd hebben om ons beter voor te bereiden op een nieuw jaar!

Stap 1: Waar gaat dit over?

Waar gaat dit over?
Waar gaat dit over?

Nog niet zo lang geleden is er een ultieme elektrische lichtslinger op de markt verschenen.

Het is een LED-slinger, waarbij de kleur en de helderheid van elke RGB-led afzonderlijk kan worden geregeld met de WS2811-chip. Deze chip kan direct in de LED worden geïmplanteerd. Dergelijke LED's zijn te vinden onder de naam APA106 op www.aliexpress.com. Ze zien eruit als gewone 4-pins RGB-leds met gemeenschappelijke anode/katode, maar dat zijn ze niet! Elke APA106 LED bevat een geïntegreerde WS2811-chip, die moet worden geprogrammeerd om de LED in te schakelen. Als u APA106 LED's op Aliexpress koopt, raad ik u aan ze onmiddellijk te controleren - het komt niet zelden voor dat de klant de gebruikelijke RGB-led in plaats daarvan APA106 krijgt!

Ook deze WS2811-chips kunnen worden verpakt als een extern bord met een gewone RGB-led eraan. Al deze lampen zijn er in verschillende vormen en aantallen.

Het enige gemeenschappelijke voor hen - ze zouden niet oplichten zonder controller.

Er bestaat enige modificatie van de WS281x-chip - ze spelen willekeurige kleuren af zonder controller, maar het is niet interessant voor ons omdat ze niet kunnen worden geprogrammeerd.

Stap 2: Benodigde onderdelen

Benodigde onderdelen
Benodigde onderdelen

Dus onderdelen voor het project werden besteld en kwamen uiteindelijk aan:

1) 2 x 50-LED's waterdichte WS2811-strip. Deze strips kunnen met elkaar worden verbonden om het aantal LED's uit te breiden. Ze zouden niet helemaal vanzelf oplichten, dus er was een controller nodig.

2) Een ESP8266-chip in een zeer handige vormfactor: WeMos D1

Ik hou van dit bord - het is erg compact en gemakkelijk in de omgang.

3) Het is niet nodig, maar deze onderdelen kunnen ook van pas komen:

- een IR-ontvanger TL1838

- kleine uitbreidingsborden voor WeMos

- klein schildje met knop voor WeMos

4) Het zou een goed idee zijn om een krachtige 5v PSU te kopen, omdat de LED-strips veel stroom verbruiken - vooral als je alles op helderwit zet.

Deze PSU kan het goed doen: Voeding 5v 8A. Ik ontwikkelde dit project met PSU van mobiele telefoon met 1A uitgangsstroom. Het werkt goed genoeg totdat je de helderheid verhoogt. Tenminste ESP8266, LED-strip en 5v 1A PSU hebben al mijn inspanningen overleefd.

Stap 3: Bla Bla Bla

Image
Image
Het idee
Het idee

Alle onderdelen zijn eindelijk bij de hand, maar wat ermee te doen?

Programmeer een of meerdere effecten in de controller en dat is alles? Te eenvoudig.

Wat is het verschil met alle bestaande slingers?

Zoals je misschien kunt zien in mijn vorige openbare project: PasswordKeeper - KISS voor meisjes, zijn we niet op zoek naar gemakkelijke manieren!

Dus het idee van slingers moet op de een of andere manier ingewikkeld zijn. Ik hoop niet tot het punt van onbruikbaarheid;)

Het zou goed zijn om ons lichtgedrag op de een of andere manier te laten controleren.

Bijna iedereen had nu een soort smartfone, die verbinding kan maken met internet.

ESP8266 is een WiFi-compatibele module. Dus het idee om slingers te besturen met een WEB-interface komt hier heel natuurlijk vandaan.

Maar niet iedereen is een computernerd en zou kunnen omgaan met programmeren en WEB-interface. Wat jammer, Eh;) Er kan dus een gewone IR-afstandsbediening worden aangesloten om het voorgeprogrammeerde effect te schakelen. En als je doodeenvoudig wilt zijn, zou een knop voldoende zijn. In de laatste twee gevallen zou je sowieso een nerd nodig hebben om dit effect eerst in je apparaat te programmeren;)

Om het programmeren van lichteffecten verder te vereenvoudigen, heb ik de BMP-afspeelmodus toegevoegd.

Gooi gewoon wat gekleurde lijnen op een afbeelding in een grafische editor, sla de afbeelding op als BMP, laad ze in de controller en selecteer de BMP-afspeelmodus. De controller laadt BMP regel voor regel in de slinger, met vertraging, die kan worden geprogrammeerd.

Op deze pagina zie je een BMP-afbeelding met 3 kleurlijnen en een video, die laat zien hoe deze afbeelding eruitziet wanneer deze wordt afgespeeld met een controller. Het laat zien hoe u uw eigen patroon kunt maken.

En als je iets leuks maakt om naar te kijken - wees alsjeblieft zo aardig - deel ze dan met de rest van de community!

Stap 4: Het idee

Snel zoeken had geen vergelijkbare projecten op het net opgeleverd.

Het is duidelijk dat de volkeren belangrijker dingen te doen hadden dan een andere nutteloze chindogu uit te vinden.

Laten we deze fout corrigeren.

Het idee is om een apparaat te maken dat tekstscripts kan afspelen om verschillende effecten op LEDS te produceren.

Dit script kan gemakkelijk online worden bewerkt met een webinterface en er is onmiddellijk een nieuw effect.

Dit kan natuurlijk worden bereikt met gewone programmeertaal. Maar je zou op zijn minst een compiler nodig hebben om het effect te veranderen. En wat als je gewoon je grote pc niet wilt opstarten, maar je verveelt met het huidige effect? Probleem!

Maar deze complicatie kan worden opgelost als de controller een tekstinterpreter heeft en de invoer ervan online kan worden gewijzigd.

Dus ik creëerde een soort virtuele machine en ontwikkelde vogeltaal die deze machine begrijpt. Deze software, die in ESP8266 wordt geladen, maakt het mogelijk om nogal gecompliceerde LED-schakelalgoritmen te creëren.

Sommigen zeiden misschien - "Gebruik LUA of likes", maar ik zeg - "Het is te gemakkelijk!".

Dit project werd geïnspireerd door mijn interne ekster, dus de taal zou de vogel moeten zijn om het te plezieren!

Stap 5: Bedrading

Bedrading
Bedrading

Ik zou niet in detail treden over het installeren en configureren van Arduino IDE voor het werken met ESP8266.

Er zijn veel bronnen op het net waar alle processen tot in detail worden uitgelegd.

Alle benodigde bibliotheken worden vermeld in document WebLights_En.rtf. En voorzien van bron.

De bedrading is eenvoudig.

De knop en IR ontvanger zijn niet nodig, maar wel handig.

Lang indrukken (6 sec) op de knop reset het apparaat naar de standaardstatus en laadt het standaardscript.

Gewone kliks schakelen tussen effecten (als ze in script zijn geprogrammeerd) of BMP-bestanden.

Als u een IR-ontvanger aansluit, kunt u effecten toewijzen aan afstandsbedieningsknoppen. Druk gewoon op de knop op IR en vernieuw vervolgens de WebLights-pagina. Er is een variabele met 4 symbolen op de webpagina, genaamd IR-code. Haal die code op en vervang xxxx in de opdracht (LLxxxxc:c) ermee. Dan wordt elke keer dat deze code wordt gevonden op IR-subroutine LL aangeroepen.

Deze verbinding is een beetje barbaars - het zou goed zijn om een 3v->5v level shifter tussen ESP8266 en lichten te plaatsen. Maar het werkt ook met een directe verbinding - als de lijn tussen controller en slinger niet te lang is.

Er is nog een hack die de stabiliteit kan vergroten - steek een diode in de +5v-lijn die de eerste LED van stroom voorziet. Het zal het logische niveau van een van de eerste LED een beetje naar beneden verschuiven.

Stap 6: Een paar woorden over software

Een paar woorden over software
Een paar woorden over software

De volledige bron van dit project is te vinden op github.

Plaats de WebLights-map in uw Arduino-projectenmap, open deze en selecteer Weblights.ino.

Kopieer de inhoud van de map WebLights\libraries\ naar uw Arduino-projectenmap.

Bouw en laad het in ESP8266.

Standaard start het apparaat in de AccessPoint-modus.

Het creëert WiFi-netwerk WebLights met wachtwoord weblights. Voer gewoon een WEB-url in en u wordt doorgestuurd naar de controllerpagina. Bijvoorbeeld: wl.com.

Ook een eenvoudig script van punt dat terugloopt en fors wordt naar het apparaat geladen. Ik heb verschillende eenvoudige scripts geleverd, die je naar het apparaat kunt laden om te zien hoe ze eruitzien. U kunt ze gebruiken als uitgangspunt om andere effecten te ontwikkelen.

Stap 7: Kwaliteitstesten

Kwaliteitstesten
Kwaliteitstesten

Het apparaat werd meedogenloos getest op arme hulpeloze wezens en bleek veilig te zijn.

Er zijn geen dieren gewond geraakt tijdens deze test;)

Stap 8: Conclusie

Conclusie
Conclusie

Ik zou heel blij zijn als een ekster de moeite (of moeite) zou nemen om een aantal scripts of afbeeldingen te ontwikkelen, die interessante visuele effecten produceren, en deze met de gemeenschap in deze thread te delen.

Het tekenen van afbeeldingen ziet er misschien gemakkelijk uit, maar maak een afbeelding die een soepel en interessant effect oplevert, maar dat is misschien niet zo eenvoudig.

Eksters zijn geen zwermvogels, maar waarom niet een plek hebben waar ze wat glimmende dingen (of scripts\foto's) kunnen delen en uitwisselen? Ik denk dat dit draadje het perfect kan doen.

UPD:

Hier is een interessante site met patronen

Een video van WebLights op een boom.

Aanbevolen: