2020

Post thumbnail

Toen ik Aart vertelde over die ereader waar ik eerder over schreef bleek hij nog een ED060SC7 schermpje te hebben liggen, met daarbij een “inkterface” printje. Het inkterface printje bevat o.a. de voeding voor het e-ink schermpje, en de juiste connector om het op het schermpje aan te sluiten.

Inkterface

De voeding voor dit soort e-paper schermpjes is ietwat ingewikkeld, omdat ze +15 V, -15 V, +22 V en -20 V nodig hebben, naast de 3,3 V voeding voor de logica en een “contrast” spanning die van scherm tot scherm varieert maar vaak ergens tussen de -1 V en -2 V ligt.

Met de voeding in handen, en de juiste connector, moet er een microcontroller aan te hangen zijn. En met de heldere informatie en software van essentialscrap/eink moet er toch beeld op te krijgen zijn? Zeker als ik er b.v. een STM32 tegenaan gooi.

Dat viel ietwat tegen. Ik ben zo eigenwijs geweest het werkend te willen krijgen zonder de uGFX library (die essentialscrap gebruikt), en ook nog op andere hardware dan waar het voor bedoeld is. Grote kans dat ik daar ergens een vauwdtje heb gemaakt.

Ik wilde een snelle proof-of-concept, dus zodoende ben ik na wat zoeken uitgeweken naar de software van Zephray (github), omdat dit zonder uGFX kan werken en toch tekst en afbeeldingen kan tonen. Ik heb de agendafunctie etc. overgeslagen en alleen het deel van Zephray’s project gebruikt dat het scherm aanstuurt. Hiermee had ik al snel beeld. Na ervoor te zorgen dat het in- en uitschakelen van de voeding goed werkte (voedingen moeten op volgorde worden ingeschakeld) zelfs een stuk beter beeld. Maar wel in spiegelbeeld…

Eerste min-of-meer succes om beeld op het schermpje te krijgen
Beter beeld na op correcte volgorde inschakelen van de voedingen

Zephray’s software is echter bedoeld voor een ED060SC4 scherm. De ED060SC7 is anders dan de -sc4, en daardoor staat de tekst in spiegelbeeld. Na de X en Y as om te wisselen (in epd.c, rondom regel 602) staat de tekst wel goed:

Beeld!

Doordat de STM32F103C8T6 die ik gebruik te weinig RAM heeft om het hele scherm te bufferen stuur ik slechts een deel van het scherm aan. (De software van Zephray is bedoeld voor een STM32F207VET6, die is wat vetter qua ram). Maar de niet-aangestuurde rechter 2/3 is net zo wit als de achtergrond van de wel aangestuurde linker 1/3, dus dat valt niet zo op…

Essentialscrap heeft een slimme manier slechts een deel van het scherm te bufferen. Zephray heeft een slimme manier om grijstinten te tonen, waarvoor het nodig is om het hele scherm te bufferen. Voor deze snelle proof of concept heb ik niet geprobeerd beide slimmigheden te combineren, maar gewoon slechts een deel van het scherm gebufferd en slechts dat deel aangestuurd.

Nu weet ik dus dat dit scherm niet defect is, en dat ik de aansturing ervan voor elkaar kan krijgen. Dat bied weer mogelijkheden voor verder geknutsel met e-ink, bijvoorbeeld ook met het ED060XH3 of ED060XG1 scherm uit de ereader(s) waar dit mee begon.

Lichtwekker is een lineaire klok, op basis van een WS2811 ledstrip en een koudwit / warmwit witte ledstrip die rug aan rug in een plexiglas buis zitten.

Op wektijd worden de kleurenled’s gebruikt om een simpel zonsopkomst-effect na te doen (1 voor 1 gaan de rode LED’ s van onder af naar boven toe aan, daarna wordt er groen bijgemengd zodat een soort geel ontstaat, ook weer 1 voor 1 van onderaf), waarna de warmwitte kant van de witte ledstrip wordt aangezet.

De tijd wordt weergegeven op de 60 LED’ s van de WS2811 ledstrip, er gaan toevalligerwijs ook 60 minuten in een uur en 60 seconden in een minuut, dus dat komt heel mooi uit: van onderaf schuift een rode led steeds 1 plekje op om de minuten en seconden weer te geven. Met blauwe LED’ s is een 5 / 15 minuten schaal aangebracht. De 24 uur in een dag worden van bovenaf weergegeven met groene LED’s.

11:14:03

Dit zorgt er voor dat de klok ook in het donker en zonder bril goed af te lezen is:

11:14:05

De LEDstrips zijn rug-aan-rug tegen elkaar geplakt (met papier ter isolatie ertussen), en ingebouwd in een plexiglas buis. De buis staat op een voetje waarin de electronica is weggewerkt en waarop 2 schakelaar zitten voor de bediening. Bovenaan de plexiglas buis zit een 3e schakelaar.

Naast het weergeven van de tijd en de functie als wekker, kan deze klok gebruikt worden als warmwitte / koudwitte lamp, de fastled showreel en fire2012 animaties tonen, en kun je er 1D pong op spelen.

De tijd wordt opgeslagen/bijgehouden in een DS3231 Real Time Clock IC, vandaar dat ik daar eerder mee zat te spelen. De chipjes op de goedkope modules wijken soms erg af, zo bleek, daarom heb ik een losse DS3231MZ+ gekocht.

Ik heb dit projectje in elkaar gezet op gaatjesprint. Er is geen schema, maar de software staat op github. De pin-out valt daar wel uit te destilleren, de hardware bestaat verder uit een 12V voeding voor de 12V warmwit / koudwit ledstrip, enkele fetjes om deze ledstrip te schakelen, een stepdown naar 5V voor de WS2811 ledstrip, de RTC, en de arduino die alles aandrijft.

Meer foto’ s van de constructie staan in een van de show-your-projects topics op circuitsonline.net.

Als je het nabouwt, of b.v. een variant maakt met een RGBW ledstrip, vind ik het leuk dat te horen 🙂 (Let er dan gelijk op dat de print niet aan de USB connector hangt)

Tenzij ze uit zijn. Dat zie je zelfs mooie kleurpatronen in de reflectie op de led-chips, als er in de juiste hoek licht op valt.

macrofoto van 1 W RGB LED.

De rode chip is daadwerkelijk de rode led / rode leds zijn echt rood. De middelste chip is een groene LED en de overgebleven chip een blauwe.

Bij b.v. mijn jongleerkubbussen en andere RGB-led projecten merk ik dat het fotograferen van blauwe led’s lastig is: mijn camera maakt daar een soort paarsroze van, en zelfs met nabewerken krijg ik dat niet gecorrigeerd naar hetzelfde blauw als ik in het echt zie.