Inhoudsopgave:

Edge-Lit zeven-segment klokweergave - Ajarnpa
Edge-Lit zeven-segment klokweergave - Ajarnpa

Video: Edge-Lit zeven-segment klokweergave - Ajarnpa

Video: Edge-Lit zeven-segment klokweergave - Ajarnpa
Video: Edge-Lit Seven Segment Clocks 2024, December
Anonim
Image
Image
Toleranties
Toleranties

Zeven segmentdisplays bestaan al meer dan een eeuw (https://en.wikipedia.org/wiki/Seven-segment_display) en vormen de bekende vorm van de cijfers in digitale horloges, instrumentenpanelen en vele andere numerieke displays. Ze zijn in veel gevallen vervangen door schermen, maar vanuit het oogpunt van efficiëntie is het moeilijk om te argumenteren met de beknoptheid van het coderen van de status van een numeriek display in slechts 7 bits informatie (elk segment aan of uit)

De meeste schermen met zeven segmenten zijn monochroom, dus deze versie met randverlichting voegt visueel belang toe door gebruik te maken van de volledige kleurmogelijkheden van goedkope RGB LED-strips om elk cijfer en zelfs elk segment (of zelfs half segment) van het scherm in een andere kleur te verlichten. Door de heldere acrylsegmenten in een groter acrylframe in te bedden, kunt u volledig door het hele scherm kijken, wat een ander uniek aspect van dit project is.

-Vrijwaring---

Deze build combineert kleine tientallen kleine lasergesneden acrylstukken die in elkaar passen met zeer nauwe toleranties. Het maakt gebruik van dunne (4 mm brede) LED-strips die moeten worden gesoldeerd, gebogen en vervolgens tussen die acrylstukken worden geschoven. Bij het monteren van de onderdelen moet je bereid zijn om stukken op hun plaats te forceren, ook al voelt het alsof je het broze acryl benadrukt. Je moet ook bereid zijn om genoemde stukken en LED-strips te verwijderen en opnieuw te plaatsen wanneer blijkt dat ze * niet * daadwerkelijk op hun plaats kunnen worden gedwongen. Op een bepaald moment tijdens de montage is de kans groot dat u alles moet verwijderen en uw LED-strip opnieuw moet solderen wanneer u zich realiseert dat het forceren van alles op zijn plaats een van de draden van uw LED-strip heeft gebroken of een kortsluiting heeft veroorzaakt.

Dat gezegd hebbende, dit is een lonend project als je geduldig bent en bereid bent om de uitlijning te herwerken totdat alles op zijn plaats valt.

Dit artikel beschrijft de opbouw van het 6-cijferige display. Het is een beetje eenvoudiger om het 4-cijferige display te bouwen, en de stappen zijn in principe voor beide hetzelfde, dus het is waarschijnlijk het beste om te beginnen met het 4-segmentdisplay, tenzij u er veel vertrouwen in heeft.

Benodigdheden

Verbruiksartikelen--

De benodigde hoeveelheden zijn afhankelijk van of u het 4-cijferige of 6-cijferige display bouwt.

  • 1/8 "dik plaathout voor lasersnijden"
  • 1/16 "helder acryl voor lasersnijden"
  • 1/4 "helder acryl voor lasersnijden"
  • Mager (4 mm breed) SK6812 3535 RGB ledstrip met 60 leds/m (zoals deze)
  • Zelfklevende vinylfolie ***DAT IS NIET GELEIDEND*** (ik heb deze Cricut zelfklevende folie gebruikt)
  • 26 AWG solide aansluitdraad met witte isolatie
  • 30 AWG gevlochten draad met witte isolatie
  • Een kleine hoeveelheid plakband
  • 5 of 7 x 12 mm M2 schroeven en M2 moeren
  • MicroController die de ledstrip kan besturen
  • Voeding voor MicroController en LED strip.
  • Houtlijm
  • JB Weld (of vergelijkbare) lijm die acryl op hout kan bevestigen
  • 3-4 x M3-schroeven en M3-moeren (optioneel maar handig)

Gereedschap--

  • Soldeerbout/soldeer
  • Draadknipper/stripper
  • Lasersnijder (of een online service zoals Ponoko)

Stap 1: Ontwerpbestanden en lasersnijden

Er zijn zes vectorbestanden voor lasersnijden, drie per stuk voor de 4-cijferige of 6-cijferige build. De lasergesneden vormen zijn zo groot dat ze precies passen op de LED's en condensatoren in een strip van 60 LED/meter 3535, dus verklein ze niet voordat ze met de laser zijn gesneden.

  • Snijd SevenSegmentBase4Digits.svg of SevenSegmentBase6Digits.svg uit 1/8 "hout
  • Snijd EdgeLitSevenSegment4Digits.svg of EdgeLitSevenSegments6Digits.svg van 1/4 "helder acrylblad.
  • Snijd EgeLitSevenSegmentCover4Digits.svg of EdgeLitSevenSegmentCover6Digits.svg van 1/16 "helder acrylblad.

Stap 2: Toleranties

De toleranties voor dit project zijn erg krap en de segmenten hebben inkepingen die precies uit elkaar liggen en * net * groot genoeg om de LED's en condensatoren op de acrylstrip te houden (zie afbeelding).

Omdat LED-strips per fabrikant verschillen, is het raadzaam om de afstand en grootte van de LED's en condensatoren op uw LED-strip te controleren om te controleren of ze zijn uitgelijnd met de inkepingen die worden weergegeven in het SVG-bestand. U kunt het ontwerp testen voordat u gaat lasersnijden door een schaalafbeelding van de segmenten af te drukken en te kijken of de inkepingen zijn uitgelijnd met uw LED-strip. Als de jouwe niet precies past, zal de build niet werken. Als je goed bent met CAD, zou je de afstand van de inkepingen in het SVG-bestand echter moeten kunnen aanpassen aan je strip.

Stap 3: Knip en bouw de behuizing

Knip en bouw de behuizing
Knip en bouw de behuizing
Knip en bouw de behuizing
Knip en bouw de behuizing
Knip en bouw de behuizing
Knip en bouw de behuizing
Knip en bouw de behuizing
Knip en bouw de behuizing

Snijd de behuizingsstukken uit 1/8 hout naar keuze. Ik ben vergeten deze stap te fotograferen, maar neem eerst de buitenste en binnenste dekseldelen (omtrekken weergegeven in afbeeldingen) en plak ze aan elkaar met houtlijm zodat de gaten allemaal op één lijn liggen. Het grotere stuk is het buitenste deel van het deksel en het kleinere stuk zal in de behuizing zitten.

Merk op dat de plaatsing van de gaten niet volledig symmetrisch is en dat de oriëntatie van de dekselstukken er dus toe doet. Zorg ervoor dat * ALLE * de gaten op één lijn liggen wanneer u de stukken uitlijnt. Klem de stukken aan elkaar of gebruik M3-schroeven en moeren door de gaten om ze aan elkaar te bevestigen terwijl ze drogen.

Monteer de behuizing van de behuizing door de stukken neer te leggen zoals weergegeven in de afbeelding, lijm op de randen aan te brengen en de bijpassende sleuven en lipjes in elkaar te schuiven. Klem of plak de stukken aan elkaar terwijl de houtlijm droogt.

Stap 4: Lasergesneden de acryl

Lasergesneden de acryl
Lasergesneden de acryl
Lasergesneden de acryl
Lasergesneden de acryl
Lasergesneden de acryl
Lasergesneden de acryl

Snijd de afdekstukken van 1/16 helder acrylblad (weergegeven als vectoromtrek in de afbeeldingen).

Snijd het hoofdklokhuis en de segmenten van 1/4 heldere acrylplaat. De stukjes bevatten zeer kleine details, dus zorg ervoor dat de snede schoon genoeg is zodat de kleine bobbels niet afbreken wanneer je de stukjes uit elkaar haalt. Bewaar de stukjes acryl die in de laatste afbeelding van deze stap worden getoond

Ga je gang en schil eventueel beschermend papier van * alle * acrylstukken. Het zal even duren en hopelijk heb je nog wat vingernagels over als je klaar bent.

Stap 5: Bedek de randen van alle kleine acrylsegmenten

Bedek de randen van alle kleine acrylsegmenten
Bedek de randen van alle kleine acrylsegmenten
Bedek de randen van alle kleine acrylsegmenten
Bedek de randen van alle kleine acrylsegmenten
Bedek de randen van alle kleine acrylsegmenten
Bedek de randen van alle kleine acrylsegmenten

De acrylsegmenten en stippen zijn erg klein en laten veel licht naar buiten als we de randen niet maskeren. Hiervoor gebruiken we de *NON CONDUCTIVE* plakfolie.

Ik heb een vinylsnijder gebruikt om de folie in lange stroken van 1/4 "te snijden. Als je geen vinylsnijder hebt, kun je een exact mes of een schaar gebruiken om stroken van 1/4 "inch te knippen (zie eerste afbeelding).

Gebruik de foliestroken om elke rand *behalve die met de inkepingen* van de kleine segmenten en stippen te bedekken, zoals te zien is in de tweede afbeelding. Het is het gemakkelijkst om de randen van het acryl te bedekken met een lang stuk vinylfolie en het glad te strijken met stevige druk voordat u het overtollige afsnijdt.

Neem daarnaast 4 of 6 van de acrylvierkanten (afhankelijk van of je een 4- of 6-cijferig scherm hebt) en bedek *één* rand van elk vierkant met een vinylfoliestrook zoals te zien is in de derde afbeelding.

Stap 6: Bevestig de hoes en het hoofdframe van acryl

Bevestig de hoes en het hoofdframe van acryl
Bevestig de hoes en het hoofdframe van acryl
Bevestig de hoes en het hoofdframe van acryl
Bevestig de hoes en het hoofdframe van acryl

Neem een van de 1/16 "acryl afdekstukken en het grote 1/4" stuk (getoond bedekt met beschermend papier in de eerste afbeelding) en lijn ze uit zodat de kleine gaatjes op elkaar liggen. Steek een M2-schroef in elk gat zodat de schroef door het afdekstuk gaat en het 1/4 "acrylframe verlaat. Schroef de twee acryldelen aan elkaar zoals hieronder weergegeven. Let op de richting van de twee punten ten opzichte van de gleuf eronder. Zorg ervoor dat u het frame op de bovenkant van het deksel plaatst, zodat de twee stippen zich links van de sleuf bevinden. We kijken naar de achterkant van het scherm.

Stap 7: Soldeer de LED-strips

Soldeer de LED Strips
Soldeer de LED Strips
Soldeer de LED Strips
Soldeer de LED Strips
Soldeer de LED Strips
Soldeer de LED Strips

Knip uit de LED-strip twee of drie kleinere strips (voor respectievelijk de 4- of 6-cijferige displays) van elk 28 pixels (eerste afbeelding) om de cijfers te verlichten, en een of twee segmenten van elk 2 pixels om de stippen te verlichten. Zorg ervoor dat u de soldeerpads aan de kant van de gegevensinvoer van de strip houdt. Knip het uitvoeruiteinde van de strip vrij dicht bij de laatste condensator af - het is niet nodig om de pads daar te houden - omdat er * net * genoeg ruimte is om de strip te laten passen. Probeer te vermijden om eventuele naden (die meestal om de 30 pixels voorkomen) in de strip op te nemen, aangezien de exacte afstand van de LED's belangrijk is.

Knip voor elke strip van 28 pixels twee stukken 26 AWG massieve aansluitdraad en één stuk 30 AWG gevlochten draad af, allemaal met witte isolatie. Gebruik lengtes van ongeveer 8 inch. We gebruiken de gevlochten draad voor signaal en de aansluitdraad om stroom te leveren.

Breng aan de invoerzijde van de strip ALLEEN soldeer aan op het signaalpad, strip en vertin vervolgens de punt van de 30 AWG gevlochten draad en soldeer deze aan de pad, zorg ervoor dat er geen losse strengen zijn die kortsluiten naar de 5V of GND-lijnen (tweede afbeelding).

Breng nu soldeer aan op de 5V- en GND-pads die u zojuist op de *ACHTER*-kant van de LED-strip hebt verwijderd, strip en vertin de uiteinden van de 26 AWG-draden en soldeer ze vervolgens aan de powerpads. Buig de draden voorzichtig omhoog tot een hoek van 90 graden net voorbij de soldeerverbinding. De draden moeten eruit zien als die in de derde afbeelding.

Aangezien beide stroomdraden wit zijn, markeert u de uiteinden met een scherpe punt zodat u ze later uit elkaar kunt houden, zoals weergegeven in de laatste afbeelding.

Het is een goed idee om de verbindingen nu te testen voordat u de draad in het displayframe plaatst. Zorg ervoor dat alle LED's branden en dat er geen kortsluiting is. De volgende stap is het monteren van de acrylstukken en LED-strips voor de cijfers in het display. We herhalen hetzelfde proces voor elk paar cijfers.

Stap 8: Sluit de LED-strip en segmenten voor de cijfers in het acrylframe in

Sluit de LED-strip en segmenten voor de cijfers in het acrylframe in
Sluit de LED-strip en segmenten voor de cijfers in het acrylframe in
Sluit de LED-strip en segmenten voor de cijfers in het acrylframe in
Sluit de LED-strip en segmenten voor de cijfers in het acrylframe in
Sluit de LED-strip en segmenten voor de cijfers in het acrylframe in
Sluit de LED-strip en segmenten voor de cijfers in het acrylframe in
Sluit de LED-strip en segmenten voor de cijfers in het acrylframe in
Sluit de LED-strip en segmenten voor de cijfers in het acrylframe in

Nu beginnen we met het toevoegen van de LED-strip en acryl segmentstukken in het frame. We beginnen vanuit het midden van de strook en werken naar buiten toe waarbij elke helft van de strook het pad volgt dat in de eerste afbeelding wordt getoond.

Neem de 28-pixel LED-strip en steek deze in het frame zoals afgebeeld, zodat de stroomdraden in de gleuf passen die tussen de cijfers hangt, en er zijn 14 LED's beschikbaar voor elk cijfer. Het invoeruiteinde van de LED-strip, die de signaaldraad bevat, moet in de meest rechtse (van onze huidige weergave) van de twee cijfers gaan. We zullen deze LED-strip rond de omtrek van elk display met zeven segmenten bevestigen. Trek het papier weg van het midden van de strook terwijl u bezig bent, maar plak slechts een klein deel van de strook per keer, omdat u waarschijnlijk af en toe delen ervan moet verwijderen en opnieuw plaatsen om er zeker van te zijn dat de segmentstukken goed passen.

Stel één cijfer tegelijk samen, te beginnen met het meest rechtse van de twee cijfers (die met de signaalingangsdraad). Elk van de zeven kleine segmenten in het cijfer komt overeen met twee LED's op de strip. Wissel afwisselend twee pixels van de LED-strip naar beneden en voeg vervolgens een segment toe. Plaats alle kleine segmenten met de geëtste kant naar boven. Randverlichtingseffecten zien er veel beter uit als er een ets op de achterkant van het verlichte acryl zit. Als je niet zeker weet welke kant is geëtst, krab dan aan beide kanten met een vingernagel en je zou de groeven aan de geëtste kant moeten kunnen voelen.

Plaats de segmenten gaandeweg in het frame. Het is belangrijk dat alles goed past, dus elke keer dat u een deel van de acrylstrip plakt, drukt u het segment op zijn plaats bovenop de strip en zorgt u ervoor dat de segmenten goed in de omtrek van het cijfer passen. Een klein pincet is handig als u de LED-strip moet optillen en opnieuw moet plaatsen.

Nadat de eerste drie segmenten op hun plaats zitten, plaatst u een acrylvierkant in het midden van de onderste "lus" van het cijfer. Gebruik het acrylvierkant met vinylfolie dat één rand bedekt. De folie moet zich op de rand van het vierkant bevinden dat zich het dichtst bij het midden van het cijfer bevindt. Het is het gemakkelijkst om het vierkant te plaatsen door het in de bovenste "lus" te plaatsen en het naar beneden te schuiven totdat het tussen de segmenten rust.

Ga door met het bevestigen van de rest van de LED-strip rond de omtrek van het cijfer zoals weergegeven, maar wacht met het plaatsen van de acrylsegmentstukken. Als je helemaal aan het einde bent, plak je de laatste twee pixels van de LED-strip over de vinylfolie die de bovenrand van het vierkant bedekt. De allerlaatste set soldeerpads op dit gedeelte van de strip zal de soldeerpads op een vorig deel van de strip overlappen (zie onderstaande afbeelding). Voordat je het vastplakt, is het belangrijk om een *heel dun* stukje isolatie tussen de twee delen van de strip te plaatsen. Ik sneed een klein stukje plakband en plakte het aan de onderkant van de pads aan het einde van de strip.

Voeg de laatste stukjes acrylaat toe. Wanneer u het einde van de strip bereikt, wees dan heel voorzichtig wanneer u ze plaatst, zodat u de signaaldraad die aan het uiteinde van de strip is bevestigd niet losmaakt. (Ik deed dit en moest alle stukjes en LED-strip verwijderen en opnieuw beginnen. Het is niet het einde van de wereld, maar het is vervelend) Zorg ervoor dat de signaaldraad uit het cijfer steekt, zoals weergegeven in de laatste afbeelding.

Schuif het laatste vierkant op zijn plaats in het bovenste gedeelte van het cijfer. Op dit vierkant zit geen vinylfolie. De pasvorm zal behoorlijk strak zijn. De eenvoudigste manier om het vierkant te plaatsen, is door eerst het onderste gedeelte van het vierkant op zijn plaats te duwen en lichte tot matige druk uit te oefenen (u zou niet moeten zweten) naar beneden terwijl u in de bovenkant van het vierkant steekt. De verticale kanalen tussen de cijfers voor de draden maken het onderste deel van het cijfer iets flexibeler dan de bovenkant. Je zult je oordeel moeten gebruiken over hoe hard je het stuk op zijn plaats kunt duwen als het er niet gemakkelijk in gaat.

Stap 9: Leid de signaaldraad

Leid de signaaldraad
Leid de signaaldraad
Leid de signaaldraad
Leid de signaaldraad
Leid de signaaldraad
Leid de signaaldraad

Zodra alle acrylstukken op hun plaats zitten, gaan we de 30 AWG-signaaldraad voorzichtig door het kleine kanaal tussen de stukken leiden, zoals hieronder weergegeven, en vervolgens in het kanaal met de stroomdraden leiden. Ik gebruikte een pincet om het voorzichtig in het kanaal te duwen en plakte de draden vast met schilderstape zodat ze er niet uit zouden springen tijdens het monteren van de andere cijfers.

Stap 10: Herhaal dit voor alle cijfers en test

Herhaal dit voor alle cijfers en test
Herhaal dit voor alle cijfers en test

Nog moe? We moeten de stukjes in het linker cijfer nog in elkaar zetten. Het proces is hetzelfde als degene die we zojuist hebben voltooid, maar het is iets eenvoudiger omdat (1) er geen signaaldraad aan deze kant is en (2) als je het uiteinde van de LED-strip dicht bij de condensator hebt afgesneden, geen van de soldeerpads in dit cijfer zullen elkaar overlappen (als ze dat om de een of andere reden doen, plaats dan een heel dun isolatiemateriaal ertussen). Zorg ervoor dat wanneer je de stukjes voor het linker cijfer plaatst, je de LED-strip in het spiegelbeeld patroon van het rechter cijfer laat lopen, zoals weergegeven in de padafbeelding met de blauwe pijlen in stap 8.

Zodra beide cijfers volledig op hun plaats zitten, sluit u het voedingssignaal en de aardedraden aan op de microcontroller van uw keuze en voert u een testprogramma uit om te controleren of de LED-strip correct werkt. Alles werkte de eerste keer ongeveer 50% van de tijd voor mij. De meest voorkomende problemen waren het gevolg van het losraken van een draad of het in contact komen met een ander soldeerpunt.

Als alles er goed uitziet, is de volgende stap om de LED-strip en acrylsegmenten in de andere cijfers in het display te plaatsen, exact hetzelfde proces opnieuw te volgen. Test elke reeks cijfers zodra ze klaar zijn.

Stap 11: Sluit de LED-strip en acryl voor de stippen in

Sluit de LED-strip en acryl voor de stippen in
Sluit de LED-strip en acryl voor de stippen in
Sluit de LED-strip en acryl voor de stippen in
Sluit de LED-strip en acryl voor de stippen in
Sluit de LED-strip en acryl voor de stippen in
Sluit de LED-strip en acryl voor de stippen in
Sluit de LED-strip en acryl voor de stippen in
Sluit de LED-strip en acryl voor de stippen in

Vervolgens gebruiken we korte segmenten van de LED-strip met slechts twee pixels om de stippen in het scherm te verlichten. Er zullen een of twee paar stippen zijn, afhankelijk van of u het 4- of 6-cijferige display bouwt. De punten zijn aanzienlijk eenvoudiger te installeren dan de cijfers.

Knip drie lengtes van 26 AWG-aansluitdraad af en soldeer ze aan het invoeruiteinde van de LED-strip met 2 pixels. Zorg ervoor dat u de uiteinden van elke draad markeert, zodat u weet welke 5V, signaal en GND is. Ik heb rode, blauwe en zwarte stiften gebruikt om een deel van de isolatie op elke draad te kleuren. Trek de zelfklevende achterkant van de LED-strip en steek de LED-strip in de achterwand van de sleuf, waarbij de draden langs het verticale kanaal naar beneden hangen en aan de onderkant van het frame naar buiten komen.

Zoek de kleine acryl stippen die in het frame passen. Bedek hun omtrek met vinylfolie, net zoals je deed voor de segmenten. Plaats ze in hun individuele ruimtes met de geëtste kant naar boven en de LED en condensator van de LED-strip genesteld in hun respectieve inkepingen.

Wanneer alle punten en cijfers compleet zijn, zou uw display eruit moeten zien als de laatste afbeelding.

Stap 12: Bedek en beveilig het beeldscherm

Zodra alle cijfers en punten zijn gemonteerd en alle LED-strips zijn getest, plaatsen we de andere dunne acrylafdekking erover. Draai de moeren los van de M2-schroeven, laat de schroeven op hun plaats zitten en verwijder voorzichtig alle tape die de draden op hun plaats houdt. Laat de bovenste doorzichtige acrylkap voorzichtig over het frame zakken, steek de schroeven door de gaten in de kap en zorg ervoor dat alle draden binnen hun respectieve kanalen blijven. Als alles op de juiste plaats zit, schroeft u de moeren stevig vast.

Stap 13: Bevestig de behuizing

Bevestig de behuizing
Bevestig de behuizing
Bevestig de behuizing
Bevestig de behuizing

Nu gaan we het display aan het deksel van de behuizing bevestigen. Leg het deksel naast het display zodat de draden op één lijn liggen met de gaten in het deksel. Het deksel is NIET symmetrisch, omdat de draden van de stippen niet halverwege de cijfers zijn, dus er is maar één richting waarin de uitlijning perfect is.

Leid de uiteinden van elke set draden door de overeenkomstige gaten in het deksel vanaf de bovenkant en werk dan voorzichtig het display naar het deksel toe, zodat de lipjes in het acryl in de rechthoekige sleuven in het deksel passen. U zult dit waarschijnlijk in kleine stappen hebben bereikt. Steek de uiteinden van elke draad door de gaten en schuif het deksel voorzichtig langs de draden, terwijl u afwisselend de speling in elke groep draden opneemt. Pas op dat u niet te hard aan een draad trekt. Uit ervaring gesproken, het is een grote teleurstelling om op dit moment een draad los te koppelen. Werk de lipjes voorzichtig in de sleuven. De pasvorm is niet super knus, dus je zult de lipjes in de sleuven erin willen lijmen (met JB Weld of een vergelijkbare lijm die op zowel acryl als hout werkt) zodra alle elektronica is aangesloten en getest.

Ik heb een paar elastiekjes rond het scherm en het deksel van de behuizing laten lopen om ze goed bij elkaar te houden terwijl ik aan de bedrading werkte. In de bovenstaande afbeelding heb ik alle 5 stroomdraden in één groep en alle 5 aarddraden in een andere groep aan elkaar gesoldeerd, en elke groep samengevoegd tot een enkele ingangsdraad, en vervolgens alle soldeerverbindingen bedekt met veel krimpkous.

Stap 14: Bevestig een microcontroller (of twee)

Bevestig een microcontroller (of twee)
Bevestig een microcontroller (of twee)

Er zijn veel verschillende manieren om een controller op het display aan te sluiten. Je kunt de draden rechtstreeks op je controller solderen, maar ik geef er de voorkeur aan om connectoren aan de draden te bevestigen, zodat je de flexibiliteit hebt om microcontrollers uit te wisselen. Ik combineerde alle stroomdraden en alle aardingsdraden samen, en ik soldeerde elk van de 5 signaaldraden aan een enkele 5 header pin-connector.

Ik heb verschillende controllers uitgeprobeerd met het edge-lit zevensegmentendisplay. Ik hou van prototyping-code voor LED-strips in CircuitPython omdat het snel en gemakkelijk is om iets aan de gang te krijgen. Er zijn veel pixels om te besturen, dus ik heb gekozen voor de Adafruit Itsy Bitsy M4 Express, die is gebaseerd op een ATSAMD51-bord en snel en krachtig genoeg is om de 88 RGB-LED's in de 6-cijferige klok te bedienen, maar toch klein genoeg om te passen gemakkelijk in de behuizing. De Itsy-Bitsy M4 Express werkte goed, maar ik wilde ook IoT-connectiviteit, dus ik probeerde de code voor het display op een ESP32-bord uit te voeren. Ik had problemen met het regelen van de kleuren in de strip terwijl ik verbonden was met internet - vergelijkbaar met dit probleem: https://github.com/adafruit/Adafruit_NeoPixel/issues/139. De beste oplossing was om de LED-strips vanaf het Itsy Bitsy-bord te bedienen en een ESP8266 (de Lolin D1 Mini Pro) te gebruiken om periodiek de juiste tijd van internet te halen en deze via seriële communicatie naar de Itsy Bitsy te sturen.

Het schema toont de bedrading voor het 6-cijferige display. Om het aan te passen voor het 4-cijferige display, laat u eenvoudigweg "Dot Strip 2" en "Num Strip 3" weg. Aangezien de communicatie tussen de Lolin D1 Mini en de Itsy Bitsy eenrichtingsverkeer is, is het alleen nodig om de Lolin TX aan te sluiten op Itsy Bitsy RX. Ik heb een micro-USB-breakout-bord gebruikt om 5V-voeding te krijgen via een micro-USB-kabel.

Stap 15: Het display coderen

Het display coderen
Het display coderen
Het display coderen
Het display coderen

Het display is gecodeerd als een klok, maar er is veel extra potentiële extra functionaliteit. Het kan een afteltimer zijn, een temperatuurweergave, een weergave van het aantal volgers op sociale media, of eigenlijk een weergave van elke metriek die in cijfers kan worden weergegeven.

Arduino-code

Ik heb de Lolin D1 Mini Pro geprogrammeerd met de Arduino IDE. De code, in het bijgevoegde ".ino"-bestand, maakt verbinding met internet en gebruikt de "NTPClient"-bibliotheek (beschikbaar via de Arduino-bibliotheekmanager) om de juiste tijd te verkrijgen. Het NTPClient-object leest elke 10 minuten de tijd van de NTP-server. Het formatteert en verzendt elke 10 seconden een tijdreeks over de seriële poort.

CircuitPython-code

De Circuit Python-code, in het bijgevoegde ".py"-bestand, die op de Itsy Bitsy draait, peilt de seriële poort om de tijdreeksen te lezen die door de ESP8266 zijn verzonden. Het stelt een nieuwe basistijd in met elke nieuwe tijdreeks die het ontvangt, en volgt vervolgens de huidige tijd met behulp van de monotone() functie uit de tijdbibliotheek.

De code gebruikt de adafruit_fancyled-bibliotheek om kleuren in HSV-indeling te kiezen en gammacorrectie toe te passen voordat ze worden weergegeven. De kleur van de cijfers evolueert gedurende een cyclus van 60 seconden die aan het begin van elke minuut opnieuw begint. De indices van de segmenten die nodig zijn om een bepaald getal op de LED's weer te geven, worden opgeslagen als bits in de array digitSegments en uitgepakt in de functie drawStripDigit.

Stap 16: Oef

Als je zo ver bent gekomen, goed voor je! Ik hoop dat je geniet van dit project. Het was veel werk, maar best leuk om te maken.

Aanbevolen: