Indholdsfortegnelse:

Adresserbare displays med 7 segmenter: 10 trin (med billeder)
Adresserbare displays med 7 segmenter: 10 trin (med billeder)

Video: Adresserbare displays med 7 segmenter: 10 trin (med billeder)

Video: Adresserbare displays med 7 segmenter: 10 trin (med billeder)
Video: Programming - Computer Science for Business Leaders 2016 2024, Juli
Anonim
Adresserbare 7-segmentskærme
Adresserbare 7-segmentskærme
Adresserbare 7-segmentskærme
Adresserbare 7-segmentskærme

En gang imellem klikker en idé i min hjerne, og jeg tænker: "hvordan er dette ikke blevet gjort før?" og størstedelen af tiden har det faktisk været det. I tilfælde af "Adresserbart 7 -segment display" - jeg tror virkelig ikke, det er gjort, i hvert fald ikke sådan.

For det meste ender 7-segment skærme med at blive langt mere komplicerede, end du tror, de ville være. I det væsentlige tænder du bare en flok lysdioder for at vise tal eller bogstaver. Det betyder, at du skal have kontrol over hvert segment af hvert ciffer, du har, så hvis du har 4 cifre, er det 4 * 7 = 28 output! For ikke at tale om ledninger og modstande. Så når du først begynder at køre en flok af dem, ser tingene ikke så enkle ud mere. Jeg besluttede mig for at oprette en enkel måde at have så mange eller så små 7-segment skærme, som du vil, og de er supermodulære. Uanset om du vil have 20 eller 2, behøver du kun en datalinje fra Arduino for at styre dem. Følg med for at se, hvordan jeg gjorde dette, eller for at lave dit eget, eller for bare at vide, hvordan de fungerer!

Hvis du ikke har lyst til at lave din egen, eller hvis du bare har lyst til at støtte de open source -projekter, jeg opretter, kører jeg i øjeblikket en crowdfunding -kampagne for disse displays på mit websted!

Trin 1: Se videoen

Image
Image

Hvis du lærer bedre ved at se videoer, forklarer jeg, hvordan jeg byggede dem, og hvordan de fungerer her.

Glem ikke at abonnere!

www.youtube.com/seanhodgins

Trin 2: Få delene og værktøjerne

Start med overflademonterede komponenter!
Start med overflademonterede komponenter!

Der er ikke mange dele, hvilket er det, der gør dette godt, men du bliver nødt til at være okay med overflademontering.

Dele pr. Skærm:

  • 1 x brugerdefineret printkort - Få filerne fra GitHub, eller bestil via PCBWay
  • 3 x WS2811 - Adafruit
  • 1 x 7 segmentvisning - Skal være fælles anode! Sparkfun har dem
  • 3 x 33OHM modstand 0805 - Digikey
  • 3 x 1uF kondensator 0805 - Digikey
  • 1 x 3 -pins retvinklet overskrift - hun - Digikey
  • 1 x 3 -pins retvinklet overskrift - han - Digikey

Værktøjer:

  • Loddekolbe
  • Reflow Ovn eller varmluft (valgfri, men lettere)
  • Loddemasse eller lodde

Hvis du vil springe bygningen over og bare købe et par, skal du gå her

shop.idlehandsdev.com/products/addressable-7-segment-display

Trin 3: Start med overflademonterede komponenter

Påfør bagepastaen på bagsiden. Disse er alle virkelig tilgivende komponenter, så det ville være et godt projekt at starte på, hvis du aldrig har refloveret overflademonterede komponenter. Efter påføring af loddepasta placeres hætterne, modstandene og til sidst WS2811. Følg markeringerne på tavlen.

Trin 4: Reflow

Image
Image
Tilføj Pin Headers
Tilføj Pin Headers

Få den varme luft eller genoplad ovnen ud, varm dem op, indtil alt loddemasse sætter sig. Hvis du ikke har varm luft eller en reflovnovn, kan du bruge et loddejern og lodde. Det er mere kedeligt, men helt gennemførligt. Jeg har en video om dette, hvis du vil kende nogle teknikker. Se det her:

Trin 5: Tilføj pinhovederne

Rækkefølgen af trin, som denne instruerbare er i, er vigtig. Pinhovederne skal loddes næste gang, fordi deres puder snart vil blive skjult under 7-segmentets displaykomponent. Tavlen viser dig, hvilken retning han- og kvindestifterne går. Prøv at gøre dem lige!

Trin 6: Lod den 7-segmentede skærm

Lod den 7-segmentede skærm
Lod den 7-segmentede skærm

Endelig er vi nødt til at lodde på 7-segmentet displaykomponent. Sørg for, at den er i den rigtige retning ved at følge retningen på silketryk.

Når du er færdig med lodning, skal du rense brættet med din yndlingsrens, og du er færdig!

Trin 7: Sådan fungerer hardwaren

Sådan fungerer hardwaren
Sådan fungerer hardwaren

WS2811 IC kan køre 3 lysdioder med variabel strøm. Normalt er disse en rød, grøn og blå lysdiode for at kunne lave tusindvis af forskellige farver. I tilfælde af 7-segment displayet bruger vi 3 WS2811'er til at styre lysstyrken i 8 forskellige segmenter af 7-segment displayet. To af WS2811'erne er forbundet til 3 segmenter, og det sidste er forbundet til 2 segmenter, med et tilbage. Den resterende er faktisk forbundet med en upopuleret LED, som jeg tænkte kunne muligvis være nyttig til noget.

Den måde, hvorpå en WS2811 kan adresseres, er, at den er i stand til at videregive data fra en WS2811 til en anden. Så når du sender en række bits (data), vil det tage sine egne oplysninger om, hvilke lysdioder der skal tændes, og videregive nogle oplysninger til de følgende WS2811'er, indtil de alle har modtaget oplysningerne. Det betyder, at denne kommunikationsmetode kun kræver en enkelt datalinje. Når dataene er modtaget for det enkelte ciffer, skubber de data til de næste tre. Der er en meget forenklet skematisk i billedet ovenfor. Den gratis grønne ledning er det, der går videre til det næste display.

Trin 8: Sådan fungerer demo -programmet

Sådan fungerer demo -programmet
Sådan fungerer demo -programmet

Jeg sammensatte hurtigt et Arduino-program for at demonstrere, hvordan man viser ting på det adresserbare 7-segment display. Det bruger Adafruit NeoPixel -biblioteket til at styre antallet af visninger. Det gør i bund og grund hvert ciffer til 3 Neopixels. Du kan sende et enkelt ciffer til et enkelt display og styre dets lysstyrke ved blot at skrive:

writeDigit (DisplayNumber, Number, Brightness);

Displaynummer er nummeret fra højre til venstre for det display, du vil skrive til begyndende med 0. Nummeret er det faktiske nummer, du vil vise på displayet fra 0-9, og lysstyrken er en værdi fra 0-255 for, hvordan lyst, du vil have det.

Hver gang du vil opdatere de displays, du skal sende:

segmenter.vis ();

Da der ikke foregår multiplexing her, gør det det virkelig let at gøre ting som at pulsere tallene, dæmpe dem, lave fede animationer.

Der er ikke et selvstændigt bibliotek, men jeg arbejder muligvis snart på et. Hvis du vil bidrage til projektet og skrive et bibliotek, er du velkommen til at kontakte mig, så sender jeg dig nogle displays.

Trin 9: Daisy kæde dem sammen

Anden pris i PCB -konkurrencen

Anbefalede: