Mundarija:

Arduino bilan 4 raqamli va 7 segmentli displey yordamida: 7 qadam
Arduino bilan 4 raqamli va 7 segmentli displey yordamida: 7 qadam

Video: Arduino bilan 4 raqamli va 7 segmentli displey yordamida: 7 qadam

Video: Arduino bilan 4 raqamli va 7 segmentli displey yordamida: 7 qadam
Video: How to use TM1637 4 digits seven segment display with Arduino 2024, Iyul
Anonim
4 raqamli va 7 segmentli displey yordamida Arduino bilan
4 raqamli va 7 segmentli displey yordamida Arduino bilan

Bu qo'llanmada men sizga arduino yordamida 4 ta raqamli 7 segmentli displeydan qanday foydalanishni ko'rsataman. Shuni ta'kidlashni istardimki, bu arduino uno, leonardo, 13 raqamli pinli taxtalardagi deyarli barcha raqamli pinlarni oladi. Ko'pgina displeylarda to'g'ridan -to'g'ri arduino yoki rezistor orqali ulanadigan 12 ta ajratuvchi pin bor. Shuni ham ta'kidlashni istardimki, bu displeylar Ground, 5V yoki 3.3V ga ulanishga hojat yo'q. Xo'sh, boshlaylik …

1 -qadam: materiallar

Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar

Bunday displeydan foydalanish deyarli hech qanday materialni talab qilmaydi.

- 4 x 330Ω rezistorlar

- 12 x Erkak -erkak o'tish simlari

- 1 x Arduino

- har qanday o'lchamdagi 1 ta non paneli (ularga elektr relslari kerak emas)

Ushbu dizayn prototipini yaratish uchun hech qanday vosita kerak emas. Biroq, undan doimiy foydalanish uchun lehimlantiruvchi temir va pcb taxtasi kerak bo'ladi.

2 -qadam: Breadboard tartibi

Breadboard tartibi
Breadboard tartibi

Sizga kontekst berish uchun men har bir pinni ishlatilishini tushuntiraman. Displeydagi 12 pimdan 8 tasi 8 segment uchun ishlatiladi. Har qanday raqamni yaratish uchun 7 ta segment ishlatiladi, bittasi kasrli nuqtani boshqaradi. 12 pinning qolgan 4 tasi displeydagi 4 ta raqamning har birini boshqaradi. Rezistorga ega bo'lgan har qanday pin 4 raqamli pimlardan biridir, aks holda ular segment pimlari.

Ekran va arduino o'rtasidagi aloqani ko'rsatish uchun men muzlatishdan yaratgan yuqoridagi dizayn. Rezistorlar qaerda joylashganligiga e'tibor bering, chunki agar siz rezistorni ekrandagi noto'g'ri pinga ulasangiz, bu raqam ishlamaydi yoki segment ishlamaydi, abadiy …

*** MUHIM QAYD ***

O'chirish moslamasini o'rnatayotganda sariq va binafsha simlarni almashtiring (men sxemani buzib tashladim).

3 -qadam: Kutubxonani o'rnatish

Quyida havola qilingan kutubxona displeyni osongina boshqarish uchun arduino veb -saytidan olingan. Havola github -ga o'tadi. Agar siz hech qachon github -da bo'lmagan bo'lsangiz, keyingi paragrafni o'qigan bo'lsangiz, diqqat bilan tinglang. Veb -saytga kirganingizda, derazaning o'ng tomoniga qarang va "Zipni yuklab olish" ni ko'rmaguningizcha pastga qarang. Bu tugmani bosing va yuklamalaringizda paydo bo'lishini ko'ring.

Endi siz oldindan o'rnatilgan kutubxonani kutubxonalar papkasiga yuklashingiz kerak. Agar hozir buni qanday qilish kerak bo'lsa, keyingi bosqichga o'ting, aks holda o'qishni davom ettiring. Avval Finder -ga kiring va "hujjatlar" papkasini toping va oching. Keyin "arduino" papkasini toping va oching. Keyin kutubxonalar papkasini toping va oching. Nihoyat, o'rnatilgan kutubxonani yaqinda ochilgan kutubxonalar jildiga sudrab olib tashlang.

MUHIM. Agar siz kutubxonani kutubxonalar papkasiga joylashtirayotganingizda arduino ilovangiz ochilgan va ishlayotgan bo'lsa, arduino kutubxonani tanimaydi. Siz shunchaki dasturdan chiqib, uni qayta ochishingiz kerak.

github.com/DeanIsMe/SevSeg

4 -qadam: Kod

Kodeks
Kodeks

Biror narsani ko'rsatish uchun kod quyida keltirilgan.

#"SevSeg.h" ni qo'shing

SevSeg sevseg; // Etti segmentli boshqaruvchi ob'ektining bo'shligini sozlashni boshlang () {bayt numDigits = 4; bayt raqamli pinlar = {2, 3, 4, 5}; bayt segmentlari = {6, 7, 8, 9, 10, 11, 12, 13}; bool qarshiliklariOnSegments = 0; // yuqoridagi o'zgaruvchi raqamli pinlarga 4 rezistor qo'yilganligini ko'rsatadi. // segment pinlarida 8 ta rezistordan foydalanmoqchi bo'lsangiz, o'zgaruvchini 1 ga o'rnating. sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments); sevseg.setBrightness (90); } void loop () {sevseg.setNumber (3141, 3); sevseg.refreshDisplay (); // Takroriy yugurish kerak

5 -qadam: Natija

Agar siz displeyni to'g'ri ulagan bo'lsangiz, kodni to'g'ri yuklagan bo'lsangiz va kodni to'g'ri nusxa ko'chirgan bo'lsangiz, displeyda pi ko'rsatilishi kerak (atigi 3.141).

Agar shunday bo'lmasa, nima sodir bo'layotgani uchun oltinchi qadamni o'qing.

Agar siz buni to'g'ri tushungan bo'lsangiz, men ettinchi bosqichda o'qishni taklif qilaman.

6 -qadam: Muammolarni bartaraf etish

Bu erda men sizning displeyingiz bilan chalkashib ketishi mumkin bo'lgan ikkita mumkin bo'lgan narsani sanab o'tdim. Afsuski, ikkalasidan faqat bittasini tuzatish mumkin.

- Sizning displeyingiz 8888 raqamini ko'rsatadi

Xavotir olmang, bu muammoni hal qilish mumkin, faqat quyidagi bosqichlarni bajaring

1. "sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins)" kodini toping;

2. "UMUMIY KATOD" ni "UMUMI ANODE" ga o'zgartiring.

3. Kodni qayta yuklang

- Sizning displeyingizda 3. 41 yoki.141 yoki 3.1 1 yoki 3.14 ko'rsatiladi

Afsuski, bu muammoni hal qilish mumkin yoki bo'lmasligi mumkin: (… (bu mening yig'layotgan yuzim)

1. Ulanishingizni tekshiring va hamma narsa rozetkaga ulanganligiga ishonch hosil qiling

2. Sxemani yana tekshiring, chunki siz uni noto'g'ri ulagansiz

3. "3.141, 3" ko'rsatilishi kerak bo'lgan bo'sh chiziqli chiziqni toping va 3.141 -ni 8888 -ga o'zgartiring va 8 -dan bittasi yo'qligini tekshiring.

4. Agar shunday bo'lsa, simlardan birining qarshiligi bo'lmasligi mumkin edi, chunki u bitta raqam yonib ketgan degan ma'noni anglatardi. Buni ekranning orqa tomoniga qarab tekshirish mumkin. Agar siz pimlardan birining yonida qora rangni ko'rsangiz, siz raqamli joylardan birini bosib o'tdingiz. Afsuski, bu tuzatilmaydi va siz boshqa displey sotib olmoqchisiz.

5. Agar siz hech qaerda qora belgini ko'rmasangiz, simlarni ulab qo'yolmaysiz, shuning uchun sxemani tekshiring va to'g'ri ulang va kodni 8888 dan 3.141 ga o'zgartiring.

7 -qadam: oldinga siljish

Bir nechta LEDni boshqarish uchun arduino-dagi bir nechta pimlarni ishlatishning bir usuli-bu ko'p pinli bo'lishni talab qiladigan uch holatli 8-pinli o'tish registri. Shunday qilib, 8 segmentli pinni arduino -ga to'g'ridan -to'g'ri ulash o'rniga, ularni smenali registrga ulashingiz va buni qanday qilishni bilib olishingiz mumkin.

Bu men o'ylab topgan g'oya, lekin men buni qanday qilishni bilmayman, yoki arduino va displey kutubxonasi bilan ham mumkinmi, lekin hayron qoladiganlar uchun ovqat.

Ko'rgazmangizdan zavqlaning va umid qilamanki, sizga bu ko'rsatma yoqdi, chunki men qoralamalarimdagi ko'p narsalarni birinchi bo'lib tugatdim.

Tavsiya: