Stacker – deel 20 – Belichtingskoker 1

Tijdens het positioneren rondom een model van een diffusor (een kokertje van een opgerold wit A-4-tje) en het daaromheen manoeuvreren van de lampen (wat niet echt gemakkelijk ging), kwam ik op het idee om een koker te maken waar LED-strips rondom en in een aantal ringen, van voor naar achter zitten, die individueel zijn aan te sturen: aan/uit, kleur, lichtintensiteit (lumen). Ik heb al eerder met LED-strips met de WS2812 LEDs gewerkt en daarvan had ik nog een klein stripje over om mee te experimenteren.
LED-strips heb je in allerlei soorten en maten. De WS2812 LEDs in de strip die ik had liggen zijn individueel aanstuurbare RGB-LEDs. Elk afzonderlijk zijn ze aan of uit te zetten, is de lichtintensiteit en de kleur van het licht te bepalen.

Lumen is de eenheid voor de lichtstroom, of lichtopbrengst, van een lamp. Hiermee wordt informatie gegeven over de helderheid van de lamp door te meten hoeveel licht de lichtbron eigenlijk uitstraalt. Hoe hoger het plafond, hoe meer lumen nodig is.

Lux is een eenheid voor de verlichtingssterkte. Hiermee wordt gemeten wat de hoeveelheid licht is wat een oppervlakte bereikt (bijvoorbeeld de vloer of uw bureau). Lux kan hierdoor uitgedrukt worden in een bepaalde hoeveelheid lumen per m2.

Het idee is om vier cirkels (evt. meer) met elk 13 LEDs; 52 in totaal dus in een koker te plaatsen. De kokerdiameter moet groot genoeg zijn om rondom het model te kunnen plaatsen. De LEDs moeten in groepen (bijvoorbeeld BOVEN, LINKSONDER, RECHTSACHTER, enz.) maar ook individueel in of uit te schakelen zijn,. Ook moet de lichtintensiteit per LED (en/of per groep) aan te passen zijn. Te besturen vanaf de computer met Python programma. Gezien het toenemend aantal draden in de Cage is draadloze aansturing te verkiezen.

Stukje van een LED-strip

Voor een testje eerst maar een paar ringen gemaakt met de 3D-printer waar twee kleine stukjes strip, met elk 6 LEDs passen: 12 LEDs dus nog maar.

Verbonden met een Arduino Nano die geladen is met een testprogramma van Adafruit geeft dat onderstaand effect. 🙂

Een testje: het lijkt wel een disco!
12 LEDs op ca. 20% brightness.
12 LEDs op ca. 40% brightness.
12 LEDs op ca. 60% brightness.
12 LEDs op ca. 80% brightness.
Eerste resultaat met het test belichtingskokertje – PMax – Stackertest_05

Hierboven het resultaat van de 12 LEDs (allemaal aan op 100%). Nogal blauw en de gele vlekken op het borststuk zien er wat grauw-grijs-okerig uit. Maar wel een redelijke hoeveelheid licht. Met 5 maal zoveel LEDs is al best wat mogelijk, denk ik.
Volgende test met een witte diffusor (papieren kokertje) tussen model en de LEDs; misschien doet dat de kleuren wel goed!

Test met belichtingskokertje én met papieren diffusor – PMax – Stackertest_06

Hierboven het verzachtende effect van een papieren diffusor tussen het model en de LEDs. Niet onaardig, al zeg ik het zelf. De kleuren zijn nog wel raar!

Versie twee van de belichtingskoker: drie ringen van elk 6 LEDs: 18 in totaal dus. Op volle kracht “wit” licht maken trekt bijna 1A (950mA) op 5V! Dat is niet gering. Daar zal ik met een grotere versie (lees meer LEDs) goed op moeten letten.
Dus 950mA voor 18 LEDs, ca. 53mA/LED. Voor 4 ringen van elk 12 LEDS wordt de som 4 x 12 is 48 LEDS, maal 53mA is ca. 2,544A. Een 5V voeding van minimaal zo’n 3A dus.

WS2812 strip – 3x 6 LEDs.

Heb voor de aardigheid maar een ESP32-C3 Super Mini ingezet. Data op pin 6 met een 330 Ohm weerstandje ertussen. Het geeft flink wat licht! Een kokertje van wit papier tussen de LEDS en het model.

Inmiddels een Python programma gemaakt waarin je in een raster de diverse LEDs die je aan wilt hebben aan kunt klikken.

Python besturingsprogramma vanaf de PC

Hierboven zie je dat er voorzien is in 4 ringen (van voor naar achter) met in elke ring 13 LEDs die rondom het model komen. T.z.t. zou het mooi zijn om een soort schematische weergave van de koker te hebben waarin je beter kunt zien wat het effect is wanneer je LED’s uit, dan wel aan zet.

Het zicht van de camera op de LED’s in een ring rondom het insect (de * in het midden).

Ik wil de koker ook op de microcontroller zelf bestuurbaar maken. De ESP32 had wat moeite met het uitlezen van de door het Python-programma gestuurde bytes (kan zijn dat ik niet snap hoe het moet :)), dus toch maar weer overgestapt op een Arduino; een Nano.
Aan de Nano een OLED-schermpje en een zogenaamde “rotary encoder” aangesloten om een menukeuze te kunnen maken. Te kiezen zijn de LED-rijen van voor naar achter: onder, linksonder, links, linksboven, enz.

Aansluitgegevens van de rotary encoder.

Voor de aansturing van de RGB-LED-strip maak ik gebruik van de Adafruit-Neopixel-library.
Zoals hierboven al aangegeven is het licht van de strip nogal blauwig.
De kleuren die de LEDs produceren worden gerealiseerd door een mix van rood, groen en blauw-licht. Het ‘witte’ licht ontstaat door alle kleuren van de RGB-LEDs even veel te tonen. Daarbij ontstaat en vrij koele wtte kleur (hoge Kelvinwaarde). Naast de hier gebruikte RGB-strips bestaan er ook nog RGBW en RGBWW strips. De W staat dan voor ‘wit’ en WW voor ‘warm wit’ licht. De benamingen worden m.i. niet altijd even consequent gebruikt. Soms staat WW voor de optie om warm en koel wit licht te mengen (3000K). En dan is er nog RGBNW, waar de N voor neutraal wit licht staat (ca. 4000K). Daglicht is ca. 6500K.
Ik zoek eigenlijk een strip waarmee je koel wit- en warm wit-licht kunt mixen en zodoende de kleurtemperatuur dus kunt aanpassen, zo rond die 6500K van het daglicht (en dan eigenlijk ook zonder RGB-optie).

Kleurtemperatuur in Kelvin.

Wanneer je een RGBW strip gebruikt, volgens de documentatie over de Adafruit-lib:
To set the 8th pixel (#7 counting from 0) to half-brightness white (with an RGBW strip), with no light from red/green/blue, use: strip.setPixelColor(7, 0, 0, 0, 127);
Maar mij nog even onduidelijk wat je moet doen met een RGBWW strip!

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie gegevens worden verwerkt.