Turinys:

Naudojant 4 skaitmenų ir 7 segmentų ekraną su „Arduino“: 7 žingsniai
Naudojant 4 skaitmenų ir 7 segmentų ekraną su „Arduino“: 7 žingsniai

Video: Naudojant 4 skaitmenų ir 7 segmentų ekraną su „Arduino“: 7 žingsniai

Video: Naudojant 4 skaitmenų ir 7 segmentų ekraną su „Arduino“: 7 žingsniai
Video: Introduction to HT16K33 4 Digit LED Seven Segment Display with Arduino 2024, Lapkritis
Anonim
Naudojant 4 skaitmenų ir 7 segmentų ekraną su „Arduino“
Naudojant 4 skaitmenų ir 7 segmentų ekraną su „Arduino“

Šioje pamokoje aš jums parodysiu, kaip naudoti 7 segmentų ekraną su 4 skaitmenimis naudojant arduino. Kai kuriuos pagrindinius dalykus norėčiau atkreipti dėmesį į tai, kad tai užima beveik visus skaitmeninius kaiščius, esančius „arduino uno“, „Leonardo“plokštėse su 13 skaitmeninių kaiščių. Daugelyje ekranų yra 12 išjungimo kaiščių, kurie jungiasi arba tiesiogiai prie arduino, arba per rezistorių. Be to, norėčiau atkreipti dėmesį į tai, kad šiems ekranams nereikia prijungti „Ground“, „5V“ar „3.3V“. Taigi, pradėkime…

1 žingsnis: medžiagos

Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos

Norint naudoti tokio tipo ekraną, beveik nereikia jokių medžiagų.

- 4 x 330Ω rezistoriai

- 12 x jungiamųjų laidų nuo vyrų iki vyrų

- 1 x „Arduino“

- 1 x bet kokio dydžio duonos lenta (jiems nereikia maitinimo bėgių)

Norint sukurti šio dizaino prototipą, nereikia jokių įrankių. Tačiau ilgalaikiam naudojimui reikės lituoklio ir plokštės.

2 žingsnis: „Breadboard“išdėstymas

Duonos lentos išdėstymas
Duonos lentos išdėstymas

Tiesiog norėdamas suteikti jums tam tikrą kontekstą, paaiškinsiu kiekvieno kaiščio naudojimą. 8 iš 12 kaiščių ekrane naudojami 8 segmentams. Bet kuriam skaitmeniui formuoti naudojami 7 segmentai, o vienas valdo dešimtainį tašką. Kiti 4 iš 12 kaiščių valdo kiekvieną iš 4 skaitmenų ekrane. Bet koks kaištis, kuriame yra rezistorius, yra vienas iš 4 skaitmenų kaiščių, kitaip jie yra segmento kaiščiai.

Aukščiau pateiktą dizainą sukūriau iš fritavimo, norėdamas parodyti ryšį tarp ekrano ir arduino. Atkreipkite dėmesį į vietą, kurioje yra rezistoriai, nes jei prijungsite rezistorių prie netinkamo kaiščio ekrane, tas skaitmuo neveiks arba tas segmentas neveiks, amžinai …

*** SVARBI PASTABA ***

Nustatydami grandinę, perjunkite geltonus ir violetinius laidus (aš sujaukiau savo grandinės schemą).

3 veiksmas: bibliotekos diegimas

Žemiau esanti biblioteka yra iš arduino svetainės, kad būtų galima lengvai valdyti ekraną. Nuoroda eina į github. Jei niekada nebuvote „github“, atidžiai klausykite, jei perskaitėte kitą pastraipą. Kai pateksite į svetainę, žiūrėkite dešinėje lango pusėje ir žiūrėkite žemyn, kol pamatysite „Atsisiųsti ZIP“. Spustelėkite tą mygtuką ir žiūrėkite, kaip jis rodomas atsisiuntimuose.

Dabar jūs turite įkelti anksčiau įdiegtą biblioteką į savo bibliotekų aplanką. Jei dabar žinote, kaip tai padaryti, pereikite prie kito žingsnio, kitaip skaitykite toliau. Pirmiausia eikite į ieškiklį ir suraskite aplanką „dokumentai“ir atidarykite jį. Tada suraskite aplanką „arduino“ir atidarykite jį. Tada suraskite bibliotekos aplanką ir atidarykite jį. Galiausiai nuvilkite įdiegtą biblioteką į ką tik atidarytą bibliotekų aplanką.

SVARBU. Jei jūsų „arduino“programa buvo atidaryta ir paleista, kai jūs įdėjote biblioteką į bibliotekų aplanką, „arduino“bibliotekos neatpažins. Jums tereikia uždaryti programą ir vėl ją atidaryti.

github.com/DeanIsMe/SevSeg

4 žingsnis: Kodas

Kodas
Kodas

Toliau pateikiamas kodas, kuriuo iš tikrųjų rodomas kažkas.

#include "SevSeg.h"

SevSeg sevseg; // Inicijuoti septynių segmentų valdiklio objekto void setup () {baitas numDigits = 4; baitų skaitmenysPins = {2, 3, 4, 5}; baitų segmentasPins = {6, 7, 8, 9, 10, 11, 12, 13}; bool resistorsOnSegments = 0; // kintamasis aukščiau rodo, kad ant skaitmenų kaiščių buvo uždėti 4 rezistoriai. // nustatykite kintamąjį į 1, jei segmento kaiščiuose norite naudoti 8 rezistorius. sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments); sevseg.setBrightness (90); } void loop () {sevseg.setNumber (3141, 3); sevseg.refreshDisplay (); // Turi veikti pakartotinai

5 žingsnis: rezultatas

Jei teisingai prijungėte ekraną, teisingai įkėlėte kodą ir teisingai nukopijavote koduotą, tada jūsų ekrane turėtų būti rodomas pi (tik 3.141).

Jei ne, perskaitykite šeštą žingsnį, kad sužinotumėte, kas vyksta ne taip.

Jei teisingai supratote, siūlau perskaityti toliau septintame žingsnyje.

6 veiksmas: trikčių šalinimas

Čia aš išvardijau du galimus dalykus, kurie galėjo atsitikti jūsų ekranui ir kurie galėjo jį sujaukti. Deja, tik vienas iš dviejų yra pataisomas.

- Jūsų ekrane rodomas 8888

Nesijaudinkite, kad tai yra problema, kurią galima išspręsti, tiesiog atlikite šiuos veiksmus

1. Suraskite kodą "sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins);"

2. Pakeiskite „BENDRĄ KATODĄ“į „BENDRAS ANODAS“

3. Įkelkite kodą dar kartą

- Jūsų ekrane rodomas 3. 41 arba.141 arba 3.1 1 arba 3.14 be kito 1

Deja, šią problemą galima ištaisyti arba ne:. (… (Tai mano verkiantis veidas)

1. Patikrinkite savo ryšius ir įsitikinkite, kad viskas yra prijungta ir nekabo

2. Dar kartą patikrinkite schemą, nes greičiausiai ją prijungėte neteisingai

3. Raskite tuštumos ciklo eilutę, kurioje sakoma rodyti (3.141, 3), ir pakeiskite 3.141 į 8888 ir pažiūrėkite, ar trūksta vieno iš 8

4. Jei taip, vienas iš laidų galėjo neturėti rezistoriaus, kai turėjo reikšti, kad vienas iš skaitmenų sudegė. Tai galite patikrinti pažiūrėję į ekrano užpakalinę dalį. Jei šalia vieno iš kaiščių matote juodą spalvą, užvaldėte vieną iš skaitmenų vietų. Deja, tai NĖRA pataisoma ir norėtumėte nusipirkti kitą ekraną.

5. Jei niekur nematote juodos žymės, tada įjungėte laidus, kurių negalima įveikti, todėl patikrinkite schemą ir tinkamai įjunkite ir pakeiskite kodą iš 8888 į 3.141.

7 žingsnis: Eikite toliau

Vienas iš būdų, kaip naudojant kelis „arduino“kaiščius valdyti kelis šviesos diodus, kuriems kitu atveju prireiktų daug kaiščių, yra trijų būsenų 8 kontaktų poslinkio registras. Taigi, užuot tiesiogiai prijungę 8 segmento kaiščius prie arduino, galite juos prijungti prie pamainų registro ir išsiaiškinti, kaip tai padaryti.

Tai tik idėja, kurią sugalvojau, bet aš nežinau, kaip tai padaryti ar ar tai netgi įmanoma naudojant arduino ir ekrano biblioteką, bet, ei, įdomu.

Linksminkitės su savo ekranu ir tikiuosi, kad jums patiko šis pamokomas dalykas, nes tai pirmas, kurį iš tikrųjų baigiau iš daugelio, esančių juodraščiuose.

Rekomenduojamas: