HowTo: Elektronica - Een zeven-segmentcijferig "pxlDigit" bouwen met WS2812 LED's

Voor een ander project had ik dringend een relatief groot getal nodig om een tijdsperiode aan te geven. Dit heeft uiteindelijk geresulteerd in dit kleine “deelproject”. Omdat je met het hier beschreven 3D-geprinte frame en een paar WS2812-LED's eenvoudig een cijfer van zeven segmenten (of meerdere) kunt bouwen en deze kunt gebruiken om displays te maken om cijfers weer te geven.

Na verloop van tijd merkte ik dat dit soort cijfers geschikt zijn voor allerlei projecten. Ik heb ze bijvoorbeeld al gebruikt om een klok te bouwen.

Misschien heb je er een nieuwe bestemming voor. Ik ben benieuwd wat jij ervan vindt. Laat dan een reactie achter. 🙂

Hoe je zo'n aantal bouwt, wordt beschreven in het volgende artikel.


Veiligheidsinstructies

Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/

Affiliate links / reclame links

De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂 


Eisen

Handige artikelen:
Voordat u met dit artikel begint, moet u de basisprincipes van solderen hebben behandeld. Informatie hierover vind je in het volgende artikel.

Benodigd materiaal:

In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.

Vereist gereedschap:

In de volgende lijst vind je alle tools die je nodig hebt om dit artikel te implementeren.


Verzamel de onderdelen die je nodig hebt

Om een cijfer te bouwen heb je de volgende onderdelen nodig:

  • 3D-geprinte lijst
  • 7x 2x LED's van een 60LED/m WS2812 strip
  • ca. 15 cm 3-polige kabel

Een andere kijk op de benodigde onderdelen

De STL-bestanden voor het printen op uw 3D-printer vindt u in de repository onder de volgende link.


Bereid LED-elementen voor

Om ervoor te zorgen dat u de LED-elementen later gemakkelijk in het frame kunt lijmen, moet u ze eerst voorbereiden.

Vertin eerst de contacten op de ledstrip.

Knip nu zes stukken van ongeveer 3 cm lang uit de drieaderige kabel.

Vervolgens kunt u de afgeknipte stukken kabel en de rest van de kabel aan de uiteinden ongeveer vijf mm strippen.

... en vertinnen met wat soldeer.

Zo voorbereid, u moet de lijnen eenvoudig verbinden met de voorbereide LED-strips...

...kan solderen.

Zorg ervoor dat je de lijnen aan het uiteinde van de ledstrip soldeert waar de pijl naar de led wijst.

Dit is de data-invoer van de eerste led op de ledstrip. Op deze manier gesoldeerd, kunt u later fouten voorkomen bij het definitief solderen van de LED-strips.


Installeer LED-elementen in de behuizing

Nadat je de ledstrips hebt voorbereid, is het nu tijd om ze in het 3D-geprinte frame te lijmen. In die tijd (helaas zijn de hier getoonde foto's enige tijd geleden gemaakt) heb ik niet elke stap vastgelegd. Maar er zijn gedetailleerde opnames van elke verbinding, die het hopelijk toch mogelijk maken om de stappen te volgen. 🙂

Als “ruwe handleiding” kunt u dit schakelschema als overzicht gebruiken.

De afzonderlijke LED-segmenten worden in onderstaande volgorde aangesloten.

  • onderstaand
  • rechts onder
  • rechtsboven
  • boven
  • linksboven
  • centrum
  • linksonder

De blauw gemarkeerde aansluitingen zijn uitsluitend voor de volledigheid weergegeven. Uiteraard bestaan deze al. Anders komt “Rood” overeen met de 5V-voeding en “Zwart” met aarde.

Voordat u de afzonderlijke LED-strips aan elkaar soldeert, dient u de afzonderlijke LED-strips zoals afgebeeld in het frame te lijmen.

Een andere kijk op de gelijmde maar nog niet gesoldeerde ledstrips.

Als je alle ledstrips hebt gesoldeerd, zou je nummer er ongeveer zo uit moeten zien.

De volgende paragrafen bevatten gedetailleerde afbeeldingen van de afzonderlijke aansluitingen.

Zicht op de kruising waar de segmenten rechtsonder, midden en rechtsboven samenkomen.

Je kunt daar zien dat het segment rechtsonder is verbonden met het segment rechtsboven.

Uiteraard dient bij alle aansluitingen “5V” aangesloten te worden op “5V”, “GND” en “DO” van de ene ledstrip op “DI” van de andere ledstrip.

Zicht op de kruising waar de segmenten linksonder, midden en linksboven samenkomen.

Je kunt daar zien dat het segment linksonder is verbonden met het segment linksboven.

Hoekaanzicht rechtsboven. Hier is het segment rechtsboven verbonden met het bovenste segment.

Hoekaanzicht rechtsonder. Hier is het segment rechtsonder verbonden met het onderste segment.

Hoekaanzicht linksonder. Hier zijn geen segmenten aangesloten.

Wel zie je hoe de toevoerleiding (waarlangs energie en data later naar de LED-strips worden “gestuurd”) naar beneden uit het frame wordt geleid.

Hoekaanzicht rechtsboven. De segmenten linksboven en het bovenste segment zijn hier met elkaar verbonden.

Weergave middensegment.

Hier is te zien dat het segment linksboven is verbonden met het middensegment en het middensegment op zijn beurt is verbonden met het segment linksonder.


Installeer vooruit naar het volgende cijfer

Als u meerdere cijfers wilt opbouwen, kunt u ze ook met elkaar verbinden. Dit betekent dat de data-uitvoer van het eerste cijfer wordt doorgegeven aan de data-invoer van het tweede cijfer, etc. De data-uitvoer moet je natuurlijk wel uit het zojuist geconstrueerde cijfer leiden.

Soldeer hiervoor een enkele lijn aan de “D0”-uitgang van de LED-strip in het segment linksonder.

U kunt deze lijn dan door het gat voor de toevoerleiding naar buiten leiden.


Verspreider invoegen

U dient nu een diffusor in het segment te plaatsen, zodat het licht van de LED's later iets beter in een afzonderlijk segment wordt verspreid en de verlichting gelijkmatiger is. Een klein strookje papier is relatief goed geschikt. U kunt deze strook zelf knippen. Als je een papierplotter hebt, kun je ze ook laten snijden. Het sjabloon hiervoor is gekoppeld in het gebied van de materiaallijst.

Voordat u de papieren strook kunt inbrengen, moet u...

...licht buigen.

Bovenaanzicht van de geplaatste diffusor.

De zeven papieren stroken moeten dan in de afzonderlijke segmenten passen, zoals afgebeeld.

Een andere weergave van de ingevoegde diffusorpapierstroken.

Zorg ervoor dat de diffusors niet uit het 3D-geprinte frame steken.


Lijm op het voorpaneel van papier

Er zijn verschillende manieren om een voorpaneel te bevestigen. De installatie van een 3D-geprint voorpaneel wordt beschreven in de volgende paragraaf. In dit gedeelte wordt beschreven hoe u een papieren paneel, dat u het beste kunt uitsnijden met een papierplotter, als voorpaneel kunt lijmen. Om dit te doen, moet u de openingen op zelfklevend “etiketpapier” uittekenen. Dit betekent dat je ze gemakkelijk kunt verwijderen en op het 3D-geprinte frame kunt plakken.

Nadat je het voorpaneel geplot hebt kun je het voorzichtig losmaken van het rugpapier...

...en plak het op het 3D-geprinte frame.

Zet dan het hele nummer op de voorkant en gebruik een zwaar voorwerp om het voorpaneel langer aan te drukken.

Het gelijmde frontpaneel zou er dan ongeveer zo uit moeten zien. 🙂


Bevestig een 3D-geprint voorpaneel

Het 3D-geprinte voorpaneel kun je het beste printen uit transparant of wit filament. (Natuurlijk moet er licht doorheen kunnen schijnen. 🙂 ) Op de getoonde foto's heb ik transparant filament gebruikt om schermen te maken voor de pxlBlck_digitClock maken. Deze worden vervolgens met wat hete lijm aan het frame van het cijfer bevestigd.

Deze afbeeldingen zijn een uittreksel van de structuurafbeeldingen van de pxlBlck_digitClock.

Hier zie je de vier 3D-geprinte frontpanelen.

Om deze te verbinden met het frame van het betreffende cijfer is voldoende...

...een klein druppeltje hete lijm op een...

...en de andere kant.

Dan kun je het frontpaneel snel op het frame van het betreffende nummer plaatsen.

De voorpanelen centreren zich op het frame van de cijfers en zouden er dankzij de hete lijm niet meer uit moeten kunnen vallen.

Een ander opzicht.

Weergave van de cijfers inclusief 3D-geprinte frontpanelen in werking.


Code voor het besturen met behulp van een Arduino

Een voorbeeld van hoe je dit type zeven segment display kunt aansturen met bijvoorbeeld een Arduino, Ik zal de komende dagen posten en dan ook hier linken. 🙂 vindt u in het volgende artikel

Dit omvat een eerste use case over hoe u “pxlDigit's” kunt gebruiken. Hopelijk helpt de gekoppelde Arduino-code bij het eerste programmeerwerk. Over eenvoudige bediening schrijf ik binnenkort een apart artikel. 🙂


Veel plezier met het project

Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂

PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂

Koop Me a Coffee op ko-fi.com       

27 comments

      1. Hallo!
        Zou het kunnen dat de bestanden voor de dubbele punt ontbreken in de repo? Het kan natuurlijk zijn dat ik het gewoon niet heb gevonden, aangezien ik niet erg ervaren ben in 3D-printen.

        1. Hé Stefan,
          Ja je hebt gelijk. Ik zal de STL-bestanden ervoor toevoegen. Als ze er morgen nog niet zijn, herinner me er dan nog eens aan. 🙂
          Hartelijke groeten
          Fabian

          1. Hartelijk dank voor de snelle afhandeling! Nu moet ik gewoon zien wat voor soort pijpen ik gebruik en wat voor soort codefragment ik gebruik om ze te besturen.

          2. Hé Stefan,
            Graag. 🙂 Ik nam aluminium staven van 8 mm. Instructies hiervoor zullen binnenkort beschikbaar zijn. Ik ben er bijna mee bezig. 🙂
            Een klein codefragment voor controle zou deze week ook online moeten gaan. 🙂

            Veel plezier met knutselen.
            Hartelijke groeten
            Fabian

  1. Ik wacht ook reikhalzend uit naar de instructies voor de aluminium staven, codefragment! Ik vermoed ook dat je je bedrading rond sommige hebt veranderd om de draden aan de zijkanten te laten eindigen in plaats van naar beneden te gaan. Geweldig project!

    1. Hé Matthijs,
      Bedankt voor de vriendelijke woorden. 🙂
      Ik heb een paar minuten geleden een ander project gepost dat deze cijfers gebruikt. Er is ook een Arduino Sketch gekoppeld waar een deel van de cijferfunctionaliteit is geïmplementeerd. U vindt het artikel hier: https://nerdiy.de/en/howto-arduino-timer-time_timy-zur-visualisierung-von-zeitdauern-bauen/

      Ook heb ik deze cijfers geïmplementeerd in mijn pxlBlck-project. Het grootste deel van de implementatie begint hier: https://github.com/Nerdiyde/pxlBlck/blob/61e7425560fc868f5b20d4f1727bdc72e65b99fc/plugin/ESPEasy/_P205_pxlBlck.ino#L4271
      Ik hoop dat dit genoeg is voor een eerste start. Ik werk ook aan de bouwinstructies voor de "aluminium staaf" -versie. Maar dit heeft uiteraard nog wat tijd nodig. 🙂
      hartelijke groeten
      Fab

    1. hoi david,
      Bedankt voor het laten weten. Ik heb de typefout in de materiaallijst gecorrigeerd. Eigenlijk is het een 60LEDs/m. De links zouden u naar een winkel moeten brengen waar u het juiste soort ledstrip moet selecteren. 🙂
      hartelijke groeten
      Fab

  2. Ik ben een semi-simultaan lanceercontrolesysteem met 16 raketten aan het bouwen voor de Cub Scouts. Ik wil de opwinding "verhogen" met een aftel- en berichtenklok in "NASA-Apollo-stijl". Moet zes van de 8″-12″ 7-segmentdisplays kopen. Moet een laag stroomverbruik hebben (werkt op batterijen in het midden van het raketveld). Maar moet "leesbaar bij daglicht" zijn (gezien vanaf 25'-100' over het veld in zonnige dagen van midden juli. Bedankt voor alle suggesties.

    1. Hé Robert,
      vanuit mijn oogpunt zou het mogelijk moeten zijn om dit te bouwen. Batterijgebruik is natuurlijk mogelijk met een geschikte batterij. Het aftellen kan via wifi worden gestart voor het geval u een wifi-compatibele microcontroller wilt gebruiken.
      Beste reggae's
      Fab

  3. Tot ziens!
    Hoe heb je de kabels uit de klokkast geleid en waar heb je de microcontroller geplaatst?
    Hoe heb je de punten met de andere cijfers verbonden?
    Met vriendelijke groeten

    1. Hallo Floo33r,
      Helaas heb ik nog geen gedetailleerde tutorial gemaakt voor het in elkaar zetten van de klok. Maar je kunt een paar indrukken krijgen van de volgende berichten op mijn Instagram-kanaal:
      Microcontroller (geïnstalleerd op een aangepaste PCB achter een LED-segment):
      https://www.instagram.com/p/B_-ATqcq92P/
      https://www.instagram.com/p/B-aHFEmq0J_/
      Bekijk meer:
      https://www.instagram.com/p/B-4zcVJq0tg/
      https://www.instagram.com/p/B_9wSexq7Q1/
      https://www.instagram.com/p/B_SVyD_KovI/
      https://www.instagram.com/p/B-65v19jFEE/
      https://www.instagram.com/p/B-49RvVDpaY/
      https://www.instagram.com/p/B-fHD4PIx08/

      Hartelijke groeten
      Fabian

  4. Hallo,

    Ik kwam het project een paar dagen geleden tegen en zou het graag willen herbouwen zodat er een invoer wordt gemaakt via een 4×4-toetsenbord. Nano, Keypad en WS2812 zijn er al.

    wat zou ik dan moeten inbouwen, zodat het ingevoerde getal ook op het 7 segment wordt weergegeven?
    Voor ons draait het allemaal om de rondetijd in de sport.

    Heel erg bedankt

  5. Hallo!

    Heel gaaf project. Die wil ik graag weer opbouwen. Kun je de code en het schema voor de klok posten? Hartelijk dank

    LG

Kommentar hinterlassen

Het e-mailadres wordt niet gepubliceerd. Erforderliche Felder sind mit * markiert

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