Lav en APP-styret LED-strip
Med den rette kombination af mikro-controller, LED-strip, akryl-stykker, smartphone, software og powerbank kan du ende med en LED-strip, der kan lave flotte mønstre og styres fra mobilen.
OBS: I modsætning til alle de andre aktiviteter, der er beskrevet i SciencePiraters aktivitetskasse, er selve instruktionen til denne aktivitet kun tilgængelig online, da der indgår megen tekst, mange billeder og links til software, der skal downloades.
Intro til lederen:
Sværhedsgraden af denne aktivitet er ret høj, da mange forskellige tekniske områder kombineres. Aktiviteten er tænkt som inspiration og demonstration, eftersom kassen kun indeholder materialer til én færdig programmerbar LED-strip.
Aktiviteten kræver en person med teknisk snilde omkring PC, wi-fi, smartphone, osv.
Før aktiviteten gennemføres med deltagerne, bør den gennemlæses grundigt, og lederen kan med fordel gøre sig fortrolig med de forskellige steps og elementer.
Det skal du bruge:
- Computer med USB-tilslutning (PC eller MAC), hvor der kan downloades og installeres et program.
- Smartphone, hvor der kan installeres en app. (Android eller iPhone)
- Internetadgang
- Powerbank med USB-tilslutning
- Loddekolbe & loddetin
- Bidetang
- 1 USB-kabel til powerbank med mikro-USB stik i den anden ende
- Tape eller 2 tynde strips til at lukke æsken.
Materialer fra kassen:
- Mikro-controller (ESP8266 D1 mini)
- WS2812B LED-strip
- Ledning med 3-polet stik
- Trykknap
- 4 akryl-stykker, der kan samles til en æske.
Sådan gør du
Denne beskrivelse er delt op i disse afsnit:
-
- Beskrivelse af det færdige resultat
- Gennemgang af de forskellige stumper
- Beslutning vedr. pålodning af LED eller stik
- Lodning af knap
- Lodning af ledning/LED-strip
- Samling af akrylæske
- Software steps
- Grundlæggende konfiguration af mikro-controller
- Brug af WLED
- Avancerede WLED-funktioner
- Baggrundsinfo vedr. LEDs mv.
- Links til yderligere info og vejledninger.
Beskrivelse af det færdige resultat
Resultatet af denne aktivitet er en LED-strip, der kan styres til at lave både ensfarvet lys og alle mulige forskellige bevægelige mønstre. Den kan styres via wi-fi fra f.eks en smartphone med enten browser eller en app installeret.
Yderligere kan den integreres med forskellige typer hjemme-automatisering som f.eks Phillips Hue, Home Automation, styring med Apple’s Siri, osv.
For at få mikro-controlleren til at styre LED-lyset, skal den have et program, den kan køre. Denne aktivitet er baseret på et såkaldt open source projekt kaldet WLED. Dette kan beskrives som en samling af engagerede frivillige, der på internettet samarbejder om at lave et program, der kan styre LED’er på alle mulige måder. Deres resultat er frit tilgængeligt, udvides løbende og er dokumenteret med masser af vejledninger og videoer, som du kan finde nederst på denne side.
Gennemgang af de forskellige stumper i kassen
Mikro-controller (ESP8266 D1 mini)
Dette er “computeren”, der laver et wi-fi access punkt, som man kan forbinde sig til og derefter via en web-side opsætte controlleren med diverse indstillinger og dermed styre LED-lyset.
Denne mikro-controller hedder ESP8266 og er en af de billigste fra firmaet Expressif Systems. Men den er på trods af den lave pris på mange områder langt kraftigere og mere funktionel end de mere kendte Arduino’er.
WS2812B LED-strip
En LED-strip består af en række selvstændige RGB-LED’er, som kan styres individuelt. Hver enkelt LED kan således bringes til at lyse med en blanding af 255 nuancer af hhv. rød, grøn og blå. Altså teoretisk med over 16 millioner farver.
Aktivitetskassen medfølgende LED-strip er 1 meter lang og består af 30 stk. WS2812B LED’er. Samme type LED-strip kan købes med op til 144 LED’er pr. meter, og i forskellige grader af tæthed, helt op til IP67, som er vandtæt. Bemærk, at den medfølgende LED-strip er IP30 og altså ikke tåler vand!
Ledning med 3-polet stik
En ledning, der kan loddes på ESP-modulet og med stikket tilslutte en LED-strip. Dette gør, at man efterfølgende kan udskifte LED-strippen med en anden, måske længere eller/og eller med flere LED’er.
Trykknap
En lille trykknap, der kan loddes direkte på ESP-modulet, og med en specielt version af WLED-softwaren og lidt avanceret konfiguration, kan bruges til at styre LED-lyset direkte. Altså uden brug af f.eks smartphone.
4 akrylstykker
Disse stykker kan samles til en lille æske, hvori ESP-modul kan være beskyttet. Den kan enten samles med små plastic-strips eller med almindelig kontortape.
Beslutning vedr. pålodning af LED eller stik
Ledningen fra LED-strippen er lang nok til at nå ind i æsken og kan påloddes direkte, efter at stikket er klippet af. Denne variant giver et mere “rent” resultat, men ulempen er, at LED-strippen ikke er så robust og dermed måske nemt går i stykker, når den vrides/bøjes.
Et bedre alternativ er at bruge den lille medfølgende ledning med stik. Denne påloddes ESP-modulet, og LED-strippen klikkes, så i stikket der hænger udenfor æsken. Denne variant giver også mulighed for efterfølgende at udskifte LED-strippen, hvis dette ønskes.
Vær opmærksom på, at man ved udvidelse med flere LED’er skal tage hensyn til strømforbruget, som formentlig vil overstige mikro-controllerens kapacitet. Man skal derfor etablere selvstændig strøm direkte til LED-strippen. Dette gøres ved at bruge de 2 ekstra ledninger (rød og hvid), der stritter ud af LED-strippen. Herefter får ESP-modulet strøm fra LED-strippen og må derfor ikke have USB-kabel isat.
Lodning af knap
At påsætte den lille knap er ikke nødvendigt for at få lys i LED-strippen. Den er en udvidelse, der gør det nemt at styre lyset uden brug af smartphone.
Vær opmærksom på, at selvom knappen loddes på, skal der også laves noget forholdsvis avanceret konfiguration i WLED-softwaren for at få den til at virke.
Lodning af ledning/LED-strip
Når du sammen med dine spejdere har valgt, hvilken variant I ønsker at lave, skal ledningerne loddes på ESP-modulet.
Vær omhyggelig med at tilslutte de rigtige farver ledninger korrekt. Obs: De sidder ikke i “naturlig” rækkefølge!
Vær også opmærksom på, hvilken side af ESP-modulet ledningerne skal være. Æsken passer kun, hvis det hele samles som på billederne herunder.
Samling af akryl æske
Med tålmodighed og fingerfærdighed kan det lykkes at få placeret ESP-modul, knap og ledninger, så de 4 stykker kan stables tæt.
Når du har fået bakset med ledninger og fået æsken til at kunne lukke, kan du enten sætte et par små strips igennem hullerne eller blot vikle noget kontor-tape rundt om æsken.
Nu er det blevet tid til at få forbundet ESP-modulet til LED-strip og med USB-kabel til en computer.
Software steps
Et ESP-modul kan bruges til at styre uendeligt mange ting, og hvert formål kræver, at passende software loades ind i modulet.
Vi skal nu have loadet WLED-software i ESP8266-modulet.
Det kan gøres på flere måder, og vi har samlet to forskellige metoder. Metode 1 er nemmest at bruge med dine spejdere og er lavet i en SciencePirat-version.
Metode 1: Installation vha. “WLED web installer” i en SciencePirat-modificeret 2022-udgave
I en browser på computeren, hvortil ESP-modulet er tilsluttet med USB-kabel, kan du tilgå via: https://bomoeller.github.io/WLED-WebInstaller/
Den oprindelige WLED-side er denne, men uden support for den knap der er en del af aktivitetskassens indhold: https://install.wled.me/
Vælg den SciencePirat-modificerede udgave: “0.13.3-Knap”.
Efter tryk på “Install” vælges den port, hvori USB-kablet er isat.
Prøv evt. dette både med og uden USB-kabel isat, på den måde kan du sikkert se, hvad den pågældende port får af nummer på din computer.
I nedenstående tilfælde er det COM10, der dukker op, når USB-kabel til ESP-modulet tilsluttes.
Klik derefter på “Install WLED”:
Og på “Install”:
WLED-software overføres nu til ESP-modulet:
Og resultatet skulle gerne være dette:
Når WLED er installeret og LED-strip tilsluttet korrekt, vil LED’erne lyse orange.
“WLED Web Installer” tilbyder at hjælpe med opsætning af WLED/ESP. Dette er den klart hurtigste måde at komme i gang på, men alt kan også tilrettes via WLED’s konfigurations-menuer på et senere tidspunkt.
Hvis du ønsker WLED tilsluttet til et eksisterende trådløst netværk, f.eks. netværket i spejderhytten, kan dette gøres nu:
(Alternativt kan man styre WLED ved at tilslutte sig et lille wi-fi, som WLED etablerer netop til styring af WLED.)
Hvis WLED tilsluttes til eksisterende wi-fi, kan du efterfølgende vælge “Visit device” og dermed begynde at styre LED’erne:
Mulig fejlbesked:
Hvis denne fejl dukker op, er det den lille sorte knap på siden af ESP-modulet, der menes. Den er mærket “RESET”.
Såfremt dette ikke hjælper, kan du benytte nedenstående metode 2.
Metode 2: Installation vha. “ESPhome-Flasher”
Denne giver mulighed for installation af officielle versioner af WLED-software samt andre typer software, enten fundet på Internettet eller selvudviklet.
Til den computer, hvortil ESP-modulet er tilsluttet med USB-kabel, henter du den seneste version her:
https://github.com/esphome/esphome-flasher/releases
Til en almindelig Windows PC vil det f.eks. være denne fil, der skal hentes:
ESPHome-Flasher-1.4.0-Windows-x64.exe
ESPHome-Flasher er et program, der kan tage en binær fil med det færdige program og overføre det til et tilsluttet ESP-modul via USB-kabel.
Kør ESPHome-Flasher og se, om du kan finde den COM-port, hvortil ESP-modulet er tilsluttet med USB-kabel.
Mulig fejl: “Windows protected your PC”
Fejltekst kan være: “Windows protected your PC”
En evt. løsning kan du finde her:
https://support.microsoft.com/en-us/windows/turn-off-defender-antivirus-protection-in-windows-security-99e6004f-c54c-8509-773c-a4d776b77960
Mulig fejl: Kør ESPHome-Flasher som administrator (Windows)
I nogle tilfælde kan det hjælpe at køre ESPHome-Flasher som Administrator
Højre-klik på ESPHome-Flasher og vælg “Kør som Administrator”)
Mulig fejl: ESP-modulet registreres ikke via USB-kabel
Hvis det ikke registreres, at ESP-modulet tilsluttes med USB-kabel, kan noget af dette måske hjælpe:
- Prøv nogle gange at udtage og isætte USB-kablet i PC’en
- Prøv en anden USB-port på PC’en
- Installer denne driver “CH340 Drivers for Windows, Mac and Linux”: https://sparks.gogo.co.nz/ch340.html
Hent det færdigt-kompilerede WLED-program til ESP8266.
Enten den SciencePirat-modificerede udgave med support for Knap:
Eller seneste version af standard-software:
https://github.com/Aircoookie/WLED/releases
F.eks denne: WLED_0.13.3_ESP8266.bin
I ESPHome-Flasher vælges WLED-filen som firmware, og der trykkes på “Flash ESP”.
Og efter 10-20 sekunder er softwaren overført til ESP-modulet:
Sluk og tænd nu ESP-modulet.
F.eks. ved at tage USB-kablet ud af PC’en og isætte det en powerbank. Fra nu af klarer ESP-modulet sig selv og har ikke behov for forbindelse til en computer.
Grundlæggende konfiguration af Mikro-controller
ESP-modulet laver et lille trådløst net, som du f.eks. kan forbinde din telefon til. Og herfra kan du styre WLED-softwaren og dermed lyset.
- Tilslut din smartphone (eller computer) til WLED-wi-fi – SSID: WLED-AP & password: wled1234
- Afhængig af, om det er Android, iPhone eller versionen af din mobil-software, kommer der måske en WLED-web-side frem. Måske virker denne, måske ikke. Muligvis kan du i en menu øverst til venstre få åbnet samme side i en selvstændig browser. Og ellers kan dette gøres manuelt:
- Start en browser og gå til: 4.3.2.1
Allerførst:
Omdøb din WLED. (Dette er særlig vigtigt, hvis du sidder sammen med andre, der også har et ESP-modul, da I ellers ikke ved, hvem der styrer hvilket modul)
- Gøres her: Config -> WiFi Setup ->
Configure Access Point
AP SSID (leave empty for no AP):
Her skriver du det navn, din LED-strip skal have.
Sørg for, at ikke alle ESP-moduler kører på samme wi-fi kanal, så kører de bedre:
- Access Point WiFi channel: Vælg et tilfældigt ulige tal.
Sørg for, at du også kan forbinde til dit ESP-modul fremover ved sørge for, at det altid har wi-fi åbent:
AP Opens: Always
(Herefter kan du altid tilslutte dig direkte til WLED/ESP-modulet via dens eget net, der hedder “WLED-AP” (eller hvad du har skiftet navnet til), starte en browser og gå til IP-adresse “4.3.2.1”.)
- Øverst eller nederst på siden trykkes på Save & Connect.
- Vent 5-10 sekunder på, at siden opdateres.
På et senere tidspunkt:
Hvis du ønsker at styre ESP-modulet via dit eget/husets wi-fi:
- Gøres her: Config -> WiFi Setup ->
Connect to existing network
Network name (SSID, empty to not connect)
Her skriver du navn på dit eksisterende wi-fi
Network password
Her skriver du password til dit eksisterende wi-fi
- Øverst eller nederst på siden trykkes på Save & Connect
- Vent 5-10 sekunder på at siden opdateres.
Find IP-adressen som din WLED har fået på dit wi-fi
- Ses her: Config -> WiFi Setup ->
Client IP: 192.168.0.153 (Eksempel! – Noter den IP-adresse, der står hos dig)
- Skift evt. wi-fi til din egen mobils hotspot eller dit hus-wi-fi.
- Start en browser og gå til: 192.168.0.153 (Eksempel ! – Brug den IP-adresse, dit modul har fået).
OBS: ESP-modulet har kun 2.4GHz-antenne og kan derfor ikke tilslutte sig et wi-fi, der kun kører 5GHz.
Default password for det trådløse net, der oprindeligt hed “WLED-AP” er: wled1234
Dette password kan ændres eller helt fjernes i dette felt:
Vælg: Config -> WiFi Setup -> AP password (leave empty for open)
Brug af WLED-Appen
Ud over at kunne styre WLED med en browser fra PC eller smartphone, er det muligt at gøre dette med en app, der er lavet til både Android og iPhone. At bruge app’en gør det hurtigere at forbinde til WLED og er dermed smartere på længere sigt.
Hent en WLED-Appen til din smartphone i stedet for at styre lyset med en browser:
WLED app udgivet af Aircoookie:
Brug af WLED
Så er det tid til at lege med lyset 🙂
WLED har mange funktioner! Nogle af dem finder du ud af ved blot at “lege” med systemet og prøve dig frem. Ellers har WLED-projektet samlet en masse gode vejledninger, videoer og links, der forklarer, hvordan de forskellige funktioner virker og konfigureres.
Så et godt sted at kigge er her: https://kno.wled.ge/
Avancerede WLED-funktioner
Lidt ideer, der kan eksperimenteres med:
- WLED kan styres med HomeAutomation, Phillips HUE, MQTT, Alexa, DMX, osv.
- Hvis du har flere WLED’s, kan de synkroniseres over wi-fi, så de alle følges ad.
- WLED kan hente tiden på internettet (NTP) og dermed sættes til at tænde/slukke/ændre farve osv på forskellige tidspunkter.
- WLED kan vha. position holde styr på tider for solopgang og solnedgang og dermed tænde/slukke lyset i forhold til det.
Et eksempel med Knap, Presets og Makroer:
Den monterede knap kan som default bruges til at slukke og tænde lyset, men kan bringes til at have andre funktioner.
Herunder er, hvad der skal til for at få WLED til at lyse svagt hvid, når den tændes, skifte til rød når knappen aktiveres kortvarigt, og videre til forskellige farver, og videre til kraftigt hvid. Og forfra igen.
Ved langt tryk på knappen hhv. slukker og tænder lyset.
Ved dobbelt tryk aktiveres en timer, og lyset bliver svagere og svagere for til sidst at slukke efter 5 minutter.
1) Opret de 5 “Presets”, der skal kunne skiftes imellem:
Vælg den første Color, Effekt, Brightness, Speed, Intensity
Gem den derefter som en “Preset”:
Presets -> + Create preset -> Save to ID _1_ (Giv den evt. et navn)
Vælg den anden Color, Effekt, Brightness, Speed, Intensity
Gem den derefter som en “Preset”:
Presets -> + Create preset -> Save to ID _2_ (Giv den evt. et navn)
Vælg den tredie Color, Effekt, Brightness, Speed, Intensity
Gem den derefter som en “Preset”:
Presets -> + Create preset -> Save to ID _3_ (Giv den evt. et navn)
Vælg den fjerde Color, Effekt, Brightness, Speed, Intensity
Gem den derefter som en “Preset”:
Presets -> + Create preset -> Save to ID _4_ (Giv den evt. et navn)
Vælg den femte Color, Effekt, Brightness, Speed, Intensity
Gem den derefter som en “Preset”:
Presets -> + Create preset -> Save to ID _5_ (Giv den evt. et navn)
2) De funktioner knappen skal have, skal “programmeres” som “Presets”:
Presets -> + Create preset ->
Preset 17 oprettes og er den funktion, der vil blive kørt, når der trykkes en enkelt kort gang på knappen.
Fjern hakket ud for “use current state”, og der kommer et nyt felt frem.
I feltet “API command” indsætter du denne tekst:
win&P1=1&P2=5&PL=~
Dette medfører, at knappen vil skifte til næste preset. Første preset=1 og sidste i rækken =5.
Dette kan du ændre efter behov.
Preset 18 oprettes og er den funktion, der vil blive kørt, når der trykkes længe på knappen.
Fjern hakket ud for “use current state”, og der kommer et nyt felt frem.
I feltet “API command” indsætter du denne tekst:
T=2
Dette medfører, at knappen vil skifte lyset mellem slukket og tændt.
Preset 19 oprettes og er den funktion, der vil blive kørt, når der trykkes dobbelt på knappen.
Fjern hakket ud for “use current state”, og der kommer et nyt felt frem.
I feltet “API command” indsætter du denne tekst:
ND
Dette medfører, at lyset langsomt vil slukke i løbet af den tid, der er angivet
3) Config -> LED Preferences -> Defaults – Apply preset _17_ at boot
Tryk “save” øverst/nederst på siden.
Dette gør, at WLED starter med det lys/mønster/program, der er gemt i “Preset 17”.
4) Config -> LED Preferences -> Timed light – Default Duration: _10_ min
Tryk “save” øverst/nederst på siden.
Dette sætter “fade-tiden” til 10 minutter.
5) Config -> Time & Macros -> Button actions – Button 0: _17_ _18_ _19_
Tryk “save” øverst/nederst på siden.
Dette angiver, hvilken funktion/preset der skal udføres, når knappen aktiveres på de forskellige måder.
Når ovenstående er udført, kan knappen tænde/slukke/fade lyset, samt skifte mellem de gemte mønstre/farver.
Dette projekt kan f.eks bruges til at lave LED-strips (de kan købes vandtætte), som tages med på tur og hænges i bivuakken/shelteren eller sættes op som nattesynsvenligt lys på natløbsbasen midt i skoven. Eller som lyn-effekt i en kælder på et halloweenløb eller noget tredje – kun fantasien sætter grænser.
Baggrundsinfo vedr. LEDs mv.
Dette er relevant, hvis du f.eks. selv vil indkøbe stumper, lave en længere LED-strip, lave LED til udendørs brug og lignende.
Simpel LED-strip:
- Enkelt farve
- Flere farver med individuel ledning til hver enkelt LED-række: RGB.
PWM-styret (dimmable):
- Enkelt farve
- Flere farver med individuel ledning til hver enkelt LED-række: RGB.
Individuel styrede RGB-LED’er:
- WS2812B (NeoPixel) – 5V – RGB
- WS2815 – 12V RGB – 2 Data
- SK6812 – 5V – RGBW
- APA102 (SuperLED) – 5V – 2 Data – Clock
- og mange flere…
Forskellige LED’er i hver chip eller hen ad strippen.
White, Warm White, Cold White, Natural White
RGB, RGBW, RGBWW
5V, 12V, 24V
RGB SMD LED Chip størrelser
5050 5,0 x 5,0 mm
3838 3,8 x 3,8 mm
2835 2,8 x 3,5 mm
og sikkert flere…
F.eks WS2812B fås, ud over monteret på en strip, også i “løs vægt” samt i andre faconer.
Tæthed af LED’er måles i antal pr. meter. Vi har mødt disse varianter, hvor bredden på strip varierer:
30leds/m—-10mm.
60leds/m—-10mm.
74leds/m—-12mm.
96leds/m—-12mm.
100leds/m—-10mm.
144leds/m—-12mm.
LED-strip kan klippes ved de markerede steder. Læg mærke til pilene, der markerer data/signal-retningen !
LED-strips kan kun bøjes på den ene led, normalt, men så er der zigzag-modellen:
Desuden er der såkaldte neon LED-strips indstøbt i silikoneliste, så lys f.eks. kommer ud af siden. Disse kan dermed bøjes meget frit og f.eks. danne bogstaver eller logoer.
Disse fås i forskellige udgaver af hensyn til behov for støv- og vandtæthed.
IP30 Non-Waterproof IP65 Waterproof in Silicon Coating IP67 Waterproof in Silicone Tube
IP står for “Ingress Protection”, som betyder, hvor godt et produkt er beskyttet mod indtrængning fra fremmedlegemer og fugt.
First Digit: Solids Protection
Second Digit: Liquids Protection
Alu-skinner fungerer som køling
Alu-skinner i forskellige farver og i faconer til hjørner, flader, buer, osv. Vær opmærksom på, at skinnen skal være bred nok til LED-strip. Dybde af skinne har betydning for hvor jævn, en LED-strip ser ud.
Skærm (diffuser) på skinner: Klar eller mat, flad eller buet
Et par gode links om programmerbare LED-strips:
https://github.com/thehookup/Holiday_LEDs_2.0/blob/master/Quick%20Reference%20Sheet.pdf
https://www.stripsledlight.com/what-different-of-apa102sk9822hd107sws2812b-sk6812ws2811ws2815ws2813/
Links til yderligere info og vejledninger
Hvis du vil købe flere sæt elektronik, skal du lede efter dette:
- Micro-controller: Google “ESP8266 D1 mini” (Pris i DK: 50-70 kr. / Pris i Kina: 15-20 kr.)
- 1 meter WS2812B LED-strip: Google “ws2812b 30led/m” (Pris i DK: 50-60 kr. / Pris i Kina: 15-30 kr.)
- Ledning med 3-polet stik: Google “Male 3 pin JST SM Connector” (Pris i DK: 8-15 kr. / Pris i Kina: 2-3 kr.)
- Tryk-knap: Google “6x6x6mm Micro Switch PCB Momentary” (Pris i DK: 4-15 kr. / Pris i Kina: 0,25 kr.)
DrZzs has made some excellent video guides:
[Introduction, hardware and installation]
https://www.youtube.com/watch?v=tXvtxwK3jRk
[Settings, tips and tricks]
https://www.youtube.com/watch?v=6eCE2BpLaUQ
https://www.youtube.com/watch?v=9d29SBWA4Qs
https://www.youtube.com/watch?v=tXvtxwK3jRk
https://www.youtube.com/watch?v=tg4SSwr8NM0
DMX med xLights:
https://www.youtube.com/watch?v=p7wV6A26Gak