Indholdsfortegnelse:

Brug af en display med 4 cifre og 7 segmenter, med Arduino: 7 trin
Brug af en display med 4 cifre og 7 segmenter, med Arduino: 7 trin

Video: Brug af en display med 4 cifre og 7 segmenter, med Arduino: 7 trin

Video: Brug af en display med 4 cifre og 7 segmenter, med Arduino: 7 trin
Video: How to use TM1637 4 digits seven segment display with Arduino 2024, Juli
Anonim
Brug af en 4 -cifret og 7 segmenters display, med Arduino
Brug af en 4 -cifret og 7 segmenters display, med Arduino

I denne vejledning viser jeg dig, hvordan du bruger et 7 -segment display med 4 cifre ved hjælp af arduino. Nogle grundlæggende ting, jeg gerne vil påpege, er, at dette fylder næsten alle de digitale stifter på arduino uno, leonardo, brædderne med 13 digitale stifter. De fleste skærme har 12 breakout pins, der enten tilsluttes direkte til arduinoen eller gennem en modstand. Jeg vil også gerne påpege, at disse skærme ikke har behov for tilslutning af jord, 5V eller 3.3V. Så lad os komme i gang …

Trin 1: Materialer

Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer

Brug af en sådan skærm kræver næsten ingen materialer.

- 4 x 330Ω modstande

- 12 x han- til hanstrømper

- 1 x Arduino

- 1 x brødbræt af enhver størrelse (de behøver ikke strømskinnerne)

Der kræves ingen værktøjer for at lave en prototype af dette design. Imidlertid ville et loddejern og et printkort være nødvendigt for en mere permanent brug.

Trin 2: Layout på brødbræt

Brødbræt Layout
Brødbræt Layout

Bare for at give dig en kontekst, vil jeg forklare brugen af hver pin. 8 ud af de 12 ben på displayet bruges til de 8 segmenter. Der bruges 7 segmenter til at danne et hvilket som helst ciffer, mens man kontrollerer decimaltegnet. De andre 4 ud af de 12 ben styrer hver af de 4 cifre på displayet. Enhver stift, der har en modstand på, er en af de 4 -cifrede stifter, ellers er de segmentstifterne.

Ovenstående design skabte jeg fra fritzing for at vise forbindelsen mellem displayet og arduinoen. Bemærk placeringen af, hvor modstandene er, fordi hvis du slutter modstanden til den forkerte stift på displayet, fungerer enten dette ciffer ikke, eller det segment vil ikke fungere, FOREVER …

***VIGTIG NOTE***

Ved opsætning af kredsløbskontakten de gule og de lilla ledninger (jeg ødelagde mit kredsløbsdiagram).

Trin 3: Installation af biblioteket

Biblioteket, der er linket herunder, er fra arduino -webstedet for let at styre et display. Linket går til github. Hvis du aldrig har været på github, skal du lytte godt efter, hvis du har læst det næste afsnit. Når du kommer ind på webstedet, skal du se på højre side af vinduet og se ned, indtil du ser "Download Zip". Klik på den knap, og se den vises i dine downloads.

Nu skal du indlæse det tidligere installerede bibliotek i din biblioteksmappe. Hvis du nu hvordan du gør dette, skal du springe til næste trin, ellers fortsæt med at læse. Gå først ind i finder, og find mappen "dokumenter", og åbn den. Find derefter mappen "arduino", og åbn den. Find derefter biblioteksmappen, og åbn den. Træk og slip det installerede bibliotek til sidst i den netop åbnede biblioteksmappe.

VIGTIG. Hvis din arduino -applikation blev åbnet og kørte, mens du placerede biblioteket i biblioteksmappen, genkender arduino ikke biblioteket. Du skal bare afslutte applikationen og åbne den igen.

github.com/DeanIsMe/SevSeg

Trin 4: Koden

Koden
Koden

Koden til faktisk at vise noget er angivet nedenfor.

#include "SevSeg.h"

SevSeg sevseg; // Start et hulrum med syv segment controller -hulrum () {byte numDigits = 4; byte digitPins = {2, 3, 4, 5}; bytesegmentPins = {6, 7, 8, 9, 10, 11, 12, 13}; bool resistorsOnSegments = 0; // variabel ovenfor angiver, at der var placeret 4 modstande på cifretappene. // sæt variabel til 1, hvis du vil bruge 8 modstande på segmentstifterne. sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments); sevseg.setBrightness (90); } void loop () {sevseg.setNumber (3141, 3); sevseg.refreshDisplay (); // Skal køre gentagne gange

Trin 5: Resultatet

Hvis du tilsluttede skærmen korrekt, uploadede koden korrekt og kopierede den kodede helt rigtigt, så skulle din skærm vise pi (kun 3.141).

Hvis ikke, så læs trin seks for det, der sker forkert.

Hvis du fik det rigtigt, foreslår jeg at læse videre i trin syv.

Trin 6: Fejlfinding

Her har jeg angivet to mulige ting, der kunne være sket med din skærm, der kunne have rodet det op. Desværre kan kun en af de to rettes.

- Dit display viser 8888

Bare rolig, dette er problemet, der kan rettes, bare følg disse trin

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

2. Skift "FÆLLES KATODE" til "FÆLLES ANODE"

3. Upload koden igen

- Dit display viser 3. 41 eller.141 eller 3.1 1 eller 3.14 uden det andet 1

Desværre kan dette problem enten løses eller ej:. (… (det er mit grædende ansigt)

1. Kontroller dine forbindelser, og sørg for, at alt ER tilsluttet og ikke hænger ud

2. Kontroller skematikken igen, fordi du sandsynligvis har tilsluttet den forkert

3. Find linjen i tomrumsløkken, hvor der står at vise (3.141, 3), og ændr 3.141 til 8888, og se om en af de 8 mangler

4. I så fald havde en af ledningerne muligvis ikke haft en modstand, da den skulle have haft en betydning, at et af cifrene var brændt ud. Du kan kontrollere dette ved at se på bagsiden af displayet. Hvis du ser noget sort i nærheden af en af stifterne, overdrev du et af cifret steder. Desværre kan dette IKKE rettes, og du vil købe en anden skærm.

5. Hvis du ikke kan se et sort mærke nogen steder end du skiftede ledninger, der ikke kan blive overmandet, så tjek skematisk og tilslut derefter korrekt, og skift koden tilbage fra 8888 til 3.141.

Trin 7: Gå videre

En metode til at bruge et par ben på arduinoen til at styre flere lysdioder, der ellers ville kræve en masse pin, er et tri-state 8-pin skiftregister. Så i stedet for direkte at forbinde de 8 segmentstifter til arduino kan du tilslutte dem til skifteregisteret og finde ud af, hvordan du gør det.

Det er bare en idé, jeg kom på, men jeg ved ikke, hvordan jeg skal gøre, eller om det overhovedet er muligt med arduinoen og displayets bibliotek, men hey, stof til eftertanke for de nysgerrige.

God fornøjelse med dit display, og jeg håber, at du kunne lide dette instruerbare, fordi det er det første, jeg faktisk har afsluttet ud af de mange, jeg har i mine udkast.

Anbefalede: