Een dockingstation in mijn bureau
Een dockingstation dat in je bureaublad zit. Vanaf één plek laad je je telefoon op, zet je de computer aan of uit en bedien je de ledstrip. Die gaat vanzelf aan en uit met de computer.
Wat je nodig hebt
- Een 5V-drukknop met verlichting (angel eye)
- Een oled-schermpje
- Een ESP8266-bordje (Wemos D1 mini)
- Een USB-hub
- Een haakse USB-C-adapter en een USB-naar-USB-C-kabel
- Een draaiknop met drukfunctie (rotary encoder)
- Female dupont-kabeltjes
Software
Het dockingstation wordt aangestuurd door een kleine microcontroller met wifi. Een ander bordje kan ook, zoals een ESP32. Je zet de firmware erop met een micro-USB-kabel; daar is een opening voor aan de bovenkant van de behuizing.
Ik heb de firmware geschreven in PlatformIO, maar een andere ontwikkelomgeving die
Arduino-code ondersteunt werkt ook. Je vindt de code in main.cpp, in de
download onderaan deze post.
Bovenaan dat bestand staat welke pinnen waarvoor gebruikt worden. Wil je andere pinnen
gebruiken, dan pas je het daar aan. Let ook op NUM_LEDS: dat is het aantal
leds van je ledstrip. Ik gebruik een ledstrip met de WS2812B-chip; heb je een ander
type, pas dat dan ook bovenaan aan.
De firmware zet de ledstrip aan of uit op basis van twee dingen:
- het signaal van de computer (
PC_STATUS); - de draaiknop.
Staat de ledstrip aan, dan regel je de helderheid door de knop naar links of rechts te draaien.
Behuizing
Ik heb de behuizing in zwart PLA geprint, maar andere materialen kunnen ook. De STL-bestanden zitten in de download.
De hoofddelen zet je in elkaar met schroeven, in schroefdraadinzetstukken die ik met een soldeerbout in het plastic heb gesmolten. De kleinere delen lijm je vast. Zo hoeft niets op support geprint te worden. De elektronica zet je vast met bijvoorbeeld smeltlijm.
De USB-C-adapter zit in een eigen geprint huisje. Met een klein veertje (uit een pen, bijvoorbeeld) blijft hij op zijn plek en kan hij toch een beetje op en neer bewegen.
Elektronica
Zo sluit je alles aan op de microcontroller:
- D0 → de led-aansluiting op het moederbord (computerstatus). Mijn computer geeft daar 5V; die heb ik omgezet naar 3,3V.
- D3 → drukknop van de draaiknop (10k-weerstand naar de voeding)
- D5 → pin A van de draaiknop (10k-weerstand naar de voeding)
- D6 → pin B van de draaiknop (10k-weerstand naar de voeding)
- SDA → SDA van het oled-scherm
- SCL → SCL van het oled-scherm
De aan-knop. Dat hangt af van het type knop. Bij de mijne kon ik de plus en min van het ledje rechtstreeks op het moederbord aansluiten, en het NC-contact direct op de power-aansluiting van het moederbord.
De USB-hub. Ik heb de behuizing eraf gehaald en alleen het printplaatje met de USB-poorten gebruikt. Daaraan zit een USB-kabel die je direct op je computer aansluit.
De verbinding met de computer. In de behuizing heb ik twee female headers gelijmd, van 3 en 4 pinnen. Op de 4-pins header sluit je een kabel van het moederbord aan. De 3-pins header is voor de voeding en het datasignaal van de ledstrip.