Innholdsfortegnelse:

Bruke en 4 -sifret og 7 -segmenters skjerm, med Arduino: 7 trinn
Bruke en 4 -sifret og 7 -segmenters skjerm, med Arduino: 7 trinn

Video: Bruke en 4 -sifret og 7 -segmenters skjerm, med Arduino: 7 trinn

Video: Bruke en 4 -sifret og 7 -segmenters skjerm, med Arduino: 7 trinn
Video: Introduction to HT16K33 4 Digit LED Seven Segment Display with Arduino 2024, Desember
Anonim
Bruke en 4 -sifret og 7 -segmenters skjerm, med Arduino
Bruke en 4 -sifret og 7 -segmenters skjerm, med Arduino

I denne opplæringen vil jeg vise deg hvordan du bruker en 7 -segmenters skjerm med 4 sifre ved hjelp av arduino. Noen grunnleggende ting jeg vil påpeke er at dette tar opp nesten alle de digitale pinnene på arduino uno, leonardo, brettene med 13 digitale pinner. De fleste skjermer har 12 breakout pins som kobles enten direkte til arduinoen, eller gjennom en motstand. Jeg vil også påpeke at disse skjermene ikke trenger jord, 5V eller 3.3V for å være tilkoblet. Så la oss komme i gang …

Trinn 1: Materialer

Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer

Å bruke en slik skjerm krever nesten ingen materialer.

- 4 x 330Ω motstander

- 12 x mannlige til mannlige hoppetråder

- 1 x Arduino

- 1 x brødbrett av hvilken som helst størrelse (de trenger ikke strømskinnene)

Ingen verktøy kreves for å lage en prototype av dette designet. Imidlertid vil et loddejern og et kretskort være nødvendig for en mer permanent bruk.

Trinn 2: Oppsett av brødbrett

Brødbrettoppsett
Brødbrettoppsett

Bare for å gi deg litt kontekst, vil jeg forklare bruken av hver pin. 8 av de 12 pinnene på displayet brukes for de 8 segmentene. Det er 7 segmenter som brukes til å danne et hvilket som helst siffer mens ett kontrollerer desimaltegnet. De andre 4 av de 12 pinnene styrer hver av de 4 sifrene på displayet. Enhver pinne som har en motstand på den er en av de 4 -sifrede pinnene, ellers er de segmentpinnene.

Designet ovenfor skapte jeg fra fritzing for å vise forbindelsen mellom skjermen og arduinoen. Legg merke til plasseringen av hvor motstandene er, fordi hvis du kobler motstanden til feil pinne på displayet, vil enten det sifferet ikke fungere eller at segmentet ikke vil fungere, FOREVER …

***VIKTIG NOTAT***

Når du setter opp kretsbryteren, de gule og de lilla ledningene (jeg rotet kretsdiagrammet mitt).

Trinn 3: Installere biblioteket

Biblioteket lenket nedenfor er fra arduino -nettstedet for enkelt å kontrollere en skjerm. Koblingen går til github. Hvis du aldri har vært på github, lytt nøye etter hvis du har lest neste avsnitt. Når du kommer inn på nettstedet, se på høyre side av vinduet og se ned til du ser "Last ned zip". Klikk på den knappen og se den vises i nedlastingene dine.

Nå må du laste det tidligere installerte biblioteket inn i bibliotekmappen. Hvis du nå hvordan du gjør dette, hopper du til neste trinn, ellers fortsett å lese. Gå først inn i finder og finn "dokumenter" -mappen, og åpne den. Finn deretter "arduino" -mappen, og åpne den. Deretter finner du bibliotekmappen og åpner den. Til slutt drar og slipper du det installerte biblioteket til mappen som nettopp åpnet biblioteker.

VIKTIG. Hvis arduino -appen din ble åpnet og kjørte mens du la biblioteket inn i bibliotekmappen, gjenkjenner ikke arduino biblioteket. Du må bare avslutte programmet og åpne det igjen.

github.com/DeanIsMe/SevSeg

Trinn 4: Koden

Koden
Koden

Koden for å faktisk vise noe er oppført nedenfor.

#inkluder "SevSeg.h"

SevSeg sevseg; // Start et syv segment kontrollerobjekt -tomromskonfigurasjon () {byte numDigits = 4; byte digitPins = {2, 3, 4, 5}; bytesegmentPins = {6, 7, 8, 9, 10, 11, 12, 13}; bool resistorsOnSegments = 0; // variabel ovenfor indikerer at 4 motstander ble plassert på sifferpinnene. // sett variabel til 1 hvis du vil bruke 8 motstander på segmentpinnene. sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments); sevseg.setBrightness (90); } void loop () {sevseg.setNumber (3141, 3); sevseg.refreshDisplay (); // Må kjøres gjentatte ganger

Trinn 5: Resultatet

Hvis du koblet skjermen riktig, lastet opp koden riktig og kopierte den kodede akkurat, så skulle skjermen vise pi (bare 3.141).

Hvis ikke, les trinn seks for det som skjer galt.

Hvis du gjorde det riktig, foreslår jeg at du leser videre i trinn sju.

Trinn 6: Feilsøking

Her har jeg listet opp to mulige ting som kunne ha skjedd med skjermen din som kunne ha rotet det opp. Dessverre er det bare en av de to som kan repareres.

- Skjermen din viser 8888

Ikke bekymre deg, dette er problemet som kan løses, bare følg disse trinnene

1. Finn i koden "sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins);"

2. Endre "FELLES KATODE" til "FELLES ANODE"

3. Last opp koden igjen

- Skjermen viser 3. 41 eller.141 eller 3.1 1 eller 3.14 uten den andre 1

Dessverre kan dette problemet enten løses eller ikke:. (… (det er mitt gråtende ansikt)

1. Kontroller tilkoblingene og kontroller at alt ER plugget inn og ikke henger ut

2. Sjekk skjematikken igjen, fordi du mest sannsynlig har plugget den inn feil

3. Finn linjen i hulrommet der det står å vise (3.141, 3) og endre 3.141 til 8888 og se om en av de 8 mangler

4. I så fall kan det hende at en av ledningene ikke hadde hatt en motstand når den skulle ha hatt en betydning at en av sifrene hadde brent ut. Du kan kontrollere dette ved å se på baksiden av skjermen. Hvis du ser noe svart i nærheten av en av pinnene, overmannet du et av sifferstedene. Dessverre kan dette IKKE løses, og du vil kjøpe en annen skjerm.

5. Hvis du ikke ser et svart merke noen steder enn du byttet opp ledninger som ikke kan bli overmannet, så sjekk skjemaet og koble til riktig og endre koden fra 8888 til 3.141.

Trinn 7: Gå videre

En metode for å bruke noen få pinner på arduinoen for å kontrollere flere lysdioder som ellers ville kreve mye pinne, er et tri-state 8-pinners skiftregister. Så i stedet for å koble de 8 segmentpinnene direkte til arduino kan du koble dem til skiftregisteret og finne ut hvordan du gjør det.

Det er bare en idé jeg kom på, men jeg vet ikke hvordan jeg skal gjøre, eller om det er mulig med arduinoen og skjermens bibliotek, men hei, stoff til ettertanke for de nysgjerrige.

Ha det gøy med skjermen din, og jeg håper du likte dette instruerbart fordi det er det første jeg faktisk har fullført ut av de mange jeg har i utkastene mine.

Anbefalt: