Mündəricat:

Düyməli LED Matrix: 4 addım
Düyməli LED Matrix: 4 addım

Video: Düyməli LED Matrix: 4 addım

Video: Düyməli LED Matrix: 4 addım
Video: Redmi 9A - ОБЗОР И ТЕСТЫ 2024, Noyabr
Anonim
Düyməli LED Matrix
Düyməli LED Matrix

Bu layihə, tipik bir "yanıb -sönən bir LED" layihənizdən bir qədər daha inkişaf etmiş bir başqa Arduino layihəsi olaraq düşünülə bilər. Bu layihə bir LED matrisi, düymələri, keçid qeydləri (Arduino lövhənizdəki sancaqları saxlaya bilən) və multipleksinq adlı əsas konsepsiyanı özündə birləşdirir. Ümid edirəm ki, dərsləri maarifləndirici tapacaqsınız və özünüzü inkişaf etdirmək üçün özünüzə meydan oxuyacaqsınız!

Təchizat

(1x) Arduino Uno

(5x) toxunma düymələri

(2x) 0.1 uF kondansatörler

(2x) 1 uF kondansatör

(8x) 1k rezistorlar

(5x) 10k rezistorlar

(2x) 74HC595 növbə qeydləri

Jumper telləri

Qara tel

Qırmızı tel

Addım 1: Addım 1: LED matrisi hazırlayın

Addım 1: LED matrisi hazırlayın
Addım 1: LED matrisi hazırlayın
Addım 1: LED matrisi hazırlayın
Addım 1: LED matrisi hazırlayın
Addım 1: LED matrisi hazırlayın
Addım 1: LED matrisi hazırlayın

Bu layihədə 8x8 LED matrisi hazırlamaq üçün istifadə etdiyim təlimatı burada tapa bilərsiniz. Bir LED matrisi üçün ümumi konfiqurasiyalar var:

a) Ümumi sıra anodu

b) Ümumi Sıra Katodu

Matrisin Ümumi Satır Katod tənzimləməsini istifadə etdiyim üçün burada əsasən müzakirə edəcəyəm və eyni məntiqi Ümumi Satır Anod tənzimləməsinə də genişləndirə bilərsiniz. Ümumi Satır Katod tənzimləməsində, LED -lərin katotları (və ya LED -in daha qısa ayağı olan mənfi terminallar) anodlar (və ya LED -də daha uzun olan müsbət terminallar) sütunlarda bir -birinə bağlanır.. Müəyyən bir LED -ə müraciət etmək üçün, LED katodunun aşağı olduğu katot sırasını çəkin və LED anodunun yüksək olduğu anod sütununu çəkin.

Qeyd: Yuxarıdakı linkdə göstərilən LED matrisini hazırlayarkən, LED -lərə hər hansı bir gərginlik tətbiq etməzdən əvvəl anod sütunlarını 1k ohm rezistorlar ilə bağladığınızdan əmin olun.

Addım 2: Adım 2: Düymələrin və Shift Qeydlərinin Bağlanması

Addım 2: Düymələrin və Shift Qeydlərinin Bağlanması
Addım 2: Düymələrin və Shift Qeydlərinin Bağlanması
Addım 2: Düymələrin və Shift Qeydlərinin Bağlanması
Addım 2: Düymələrin və Shift Qeydlərinin Bağlanması
Addım 2: Düymələrin və Shift Qeydlərinin Bağlanması
Addım 2: Düymələrin və Shift Qeydlərinin Bağlanması
Addım 2: Düymələrin və Shift Qeydlərinin Bağlanması
Addım 2: Düymələrin və Shift Qeydlərinin Bağlanması

Düymələr və keçid qeydləri üçün naqillər yuxarıda göstərilmişdir. Qeyd etmək istərdim ki, dövrə diaqramındakı keçid registrlərində çiplər üçün torpaq (IC -nin 8 -ci pin) və Vcc və ya enerji təchizatı (IC -nin 16 -cı pin) pinləri göstərilmir; torpaq pimi Arduino lövhəsinin GND pininə, Vcc isə Arduino kartının 5V pininə bağlıdır. Hər bir keçid qeydinin Vcc pimi də yerə qoşulmuş 0.1uF kondansatörə bağlıdır.

Qeyd: Hər bir keçid reyestrinin nəticələri QA -dan QH -ə qədər siyahıya alınmışdır (QH*-i nəzərə almayın). Ən kiçik bit (LSB) (QA üçün) ilə ən əhəmiyyətli bit (MSB) (QH üçün) baxımından sadalanırlar, yəni QA 0 -cı sıranı və ya sütunu idarə edəcək və s.

Addım 3: Adım 3: Kodun Yüklənməsi

LED matrisini idarə etmək üçün kod bu təlimata əlavə edilmişdir. Kodun mümkün qədər çoxunu şərh etməyə çalışdım, buna görə proqramın necə işlədiyini çox aydın görmək olar. Proqramın əsas əsası, hansı LED -lərin açılmalı və ya söndürülməsini izləyən bir matrisin olmasıdır. İstənməyən diodları təsadüfən açmadan müxtəlif LED -lərin düzgün görünməsini təmin etmək üçün multipleksləmə adlı bir anlayışdan istifadə etmək lazımdır. Multiplexing, ayrı -ayrı LED -ləri, xüsusən də ayrı -ayrı satırlarda, digər satırdakı digər LED -ləri işıqlandırır, sonra qalan satırlarda da eyni şeyi edir. İşin hiyləsi odur ki, LED -lər sıralarda kifayət qədər tez keçərsə, gözləriniz ayrı -ayrı satırların bir -bir yandırıldığını söyləyə bilər. LED -lərlə gözlərinizi aldatmağın daha çox yolunu araşdırmaq istəyirsinizsə, görmə davamlılığı anlayışına baxmaq istəyə bilərsiniz (Google və ya Təlimatlarda asanlıqla axtarılır).

Anod sütunlarının və katod satırlarının yenilənmə üsulu, 'UpdateShiftRegisters' adlı istifadəçi tərəfindən təyin edilmiş bir funksiyadır. Bu funksiya əvvəlcə çıxışa yeni bir baytın (8 bit) göndərilməsini nəzarət edən mandal pimini çevirir, buna görə çipə yeni bitlər yazılarkən çıxışlarda heç bir dəyişiklik mümkün olmur. Daha sonra məlumatların ötürülmə qeydlərinə göndərilməsini xüsusi olaraq idarə edən 'ShiftOut' adlı daxili Arduino funksiyasından istifadə edərək, proqram hansı (katod) sətrin aşağı olacağını və hansı (anod) sütunların yüksək olması lazım olduğunu yazır. Nəhayət, çıxışı (LEDləri) yeniləmək üçün mandal pimi yuxarıya çəkilir.

Addım 4: Əlavə Məlumatlar/Resurslar

Bu layihə ilə bağlı əlavə məlumat verə biləcək veb saytlara və ya kitablara bəzi bağlantılar:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/en/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

Arduino ilə Başlarken, Massimo Banzi tərəfindən 2 -ci nəşr

Tövsiyə: