Lichtkrant
Hello world!
Ron heeft het op 1 mei 2019 voor elkaar gekregen om met een Arduino Uno tekst op de lichtkrant weer te geven. Deze lichtkrant werkt op basis van shiftregisters en moet actief gemultiplext worden. Op de printplaat zat een microcontroller die ik er af heb gewipt. Aan de verbindingen die naar de shiftregisters gaan heb ik draadjes gesoldeerd en verbonden met de Arduino. Aan de draadjes zitten labels die aangeven waar ze voor zijn. Waarschijnlijk heeft Ron de Hello World Arduino sketch nog.
Het plan + ideeën
Het oorspronkelijke plan was om de lichtkrant bij het SpaceMap project te gebruiken. Een aantal ideeën voor de lichtkrant:
- De lichtkrant aansturen met een ESP8266/ESP32
- Gebruiken als klok in de labruimte
- …
In november 2020 heeft Ron besloten om de lichtkrant met een ESP8266 aan te sturen en te gaan gebruik als klok voor in de labruimte.
74HC595N
Hello world op ESP8266
In juni 2021 is het gelukt om het hello world programma te laten draaien op een ESP8266. Tijdens het testen waren er problemen met de level shifter.
Klok
De lichtkrant maakt verbinding via WiFi, haalt de huidige tijd op en geeft de tijd weer. Hij wordt gevoed door een stekkervoeding 5V 1A.
Tijd verzetten
Sinds 30-03-2022 is het niet meer mogelijk om de tijd te verzetten. De tijdzone waarin wij ons bevinden is nu hardgecodeerd. De klok zou nu automatisch van zomer- naar wintertijd moeten springen.
Software
- De software is in Arduino geschreven
- De lichtkrant wordt gemultiplext met een interrupt-timer
- Verversingsfrequentie: 142.85Hz
- WiFi instellingen zijn hard gecodeerd
Uploaden
Voor het uploaden van een programma moet de “brightness” schakelaar op LO staan.
Uploaden via OTA is ook mogelijk.
Todo
- Een wifi-configuratieportal toevoegen om hardgecodeerde wachtwoorden weg te halen
- Verbinden met de deurbel via MQTT
- Verbinden met de spacemap?
Een MQTT topic aanmaken waar de spacemap naar kan publishen (lichtkrant/spacemap_msg)- Subscriben naar een MQTT topic van de spacemap (spacemap/state_change_msg)
- Payload in json:
- space_name [string]
- new_status [string]
- timestamp [?]