Мазмуну:

Pushbutton LED Matrix: 4 кадам
Pushbutton LED Matrix: 4 кадам

Video: Pushbutton LED Matrix: 4 кадам

Video: Pushbutton LED Matrix: 4 кадам
Video: Project Kit Pr21.2 Control LED through Infrared Remot. Управляем яркостью LED 4 февраля 2023 г. 2024, Ноябрь
Anonim
Баскычтар LED матрицасы
Баскычтар LED матрицасы

Бул долбоорду "LED жарк эткен" долбооруңузга караганда бир аз жакшыраак башка Arduino киришүү долбоору катары караса болот. Бул долбоордо LED матрицасы, баскычтар, сменалык регистрлер (Arduino тактаңыздагы казыктарды сактап кала алат) жана мультиплексинг деп аталган негизги түшүнүк камтылган. Мен үйрөткүчтү агартуучу деп табасыз жана аны жакшыртууга өзүңүздү чакырасыз деп үмүттөнөм!

Жабдуулар

(1x) Arduino Uno

(5x) тийүү баскычтары

(2x) 0.1 uF Capacitors

(2x) 1 uF Capacitors

(8x) 1k резисторлор

(5x) 10k резисторлор

(2x) 74HC595 нөөмөт регистрлери

Jumper Wires

Black Wire

Red Wire

1 -кадам: 1 -кадам: LED матрицасын түзүү

1 -кадам: LED матрицасын түзүү
1 -кадам: LED матрицасын түзүү
1 -кадам: LED матрицасын түзүү
1 -кадам: LED матрицасын түзүү
1 -кадам: LED матрицасын түзүү
1 -кадам: LED матрицасын түзүү

Мен бул долбоордо 8x8 LED матрицасын жасоого үйрөткүчтү бул жерден тапса болот. LED матрицасы үчүн жалпы конфигурациялар бар:

а) Жалпы катар аноду

б) Жалпы катардын катоду

Мен матрицанын Common Row катод тартибин колдонгондуктан, мен аны негизинен ушул жерде талкуулайм жана ошол эле логиканы Common Row Anode тартибине жайылта аласың. Common Row Cathode тартибинде, светодиоддордун катоддору (же LEDдин кыска буту болгон терс терминалдар) катарлар менен бириктирилет, ал эми аноддор (же LEDдин узун буту болгон оң терминалдар) мамычалар менен бириктирилет. Белгилүү бир светодиодду чечүү үчүн, LED катодунун катодунун катодун төмөн тартып, LEDдын анодунун бийиктигиндеги аноддук мамычаны тартыңыз.

Эскертүү: Жогорудагы шилтемеде көрсөтүлгөн LED матрицасын жасоодо, аноддук мамычаларды 1к Ом резисторлору менен туташтырганыңызга ишениңиз.

2 -кадам: 2 -кадам: Баскычтарды жана Shift реестрлерин туташтыруу

2 -кадам: Баскычтарды жана Shift реестрлерин кошуу
2 -кадам: Баскычтарды жана Shift реестрлерин кошуу
2 -кадам: Баскычтарды жана Shift реестрлерин кошуу
2 -кадам: Баскычтарды жана Shift реестрлерин кошуу
2 -кадам: Баскычтарды жана Shift реестрлерин кошуу
2 -кадам: Баскычтарды жана Shift реестрлерин кошуу
2 -кадам: Баскычтарды жана Shift реестрлерин кошуу
2 -кадам: Баскычтарды жана Shift реестрлерин кошуу

Баскычтардын жана сменалык регистрлердин зымдары жогоруда көрсөтүлгөн. Мен белгилеп кетким келет, схемада сменалык регистрлерде микросхемалардын жерге (IC 8 -пин) жана Vcc же электр менен камсыздоого (ICдин пин -16) пиндери көрсөтүлбөйт; жерге төөнөгүч Arduino тактасынын GND пинине жана Vcc Arduino тактасынын 5V пинине туташкан. Ар бир сменалык регистрдин Vcc пини жерге туташкан 0.1uF конденсаторуна да туташкан.

Эскертүү: Ар бир нөөмөт реестринин жыйынтыктары QHдан QHга чейин тизмеленет (QH*этибарга албаңыз). Алар эң аз битке (LSB) (QA үчүн) эң маанилүү битке (MSB) (QH үчүн), башкача айтканда, QA 0 -катарды же мамычаны көзөмөлдөйт ж.

3 -кадам: 3 -кадам: Кодду жүктөө

LED матрицасын башкаруу коду бул окуу куралына тиркелген. Мен коддун мүмкүн болушунча комментарий берүүгө аракет кылдым, андыктан программанын кандай иштээри абдан түшүнүктүү болмок. Программанын негизги негизи - бул кайсы светодиоддор күйүп же өчүшү керектигин көзөмөлдөгөн матрица. Каалабаган диоддорду кокусунан күйгүзбөстөн, ар кандай светодиоддорду туура көрсөтүү үчүн мультиплексинг деген түшүнүктү колдонуу керек. Мультиплексирлөө - бул негизинен жеке LED диапазонун жарык кылуу, ал эми башка катардагы башка бардык светодиоддор, анан калган катарлар үчүн да ушундай кылышат. Айла -амал, эгерде LEDлер катарлар аркылуу өтө тез айланып кетсе, анда сиздин көзүңүз жеке катарлардын бирден жарык болуп жатканын айта алат. Эгерде сиз LED диоддору менен көзүңүздү алдоонун башка жолдорун издегиңиз келсе, анда көздүн туруктуулугу (Google же Instructablesден оңой изделүүчү) түшүнүгүнө кайрылгыңыз келиши мүмкүн.

Аноддук мамычалар менен катоддордун саптарын жаңыртуу жолу колдонуучу тарабынан аныкталган "UpdateShiftRegisters" функциясы аркылуу болот. Бул функция адегенде чыкылдатуучу пинди айландырат, ал жаңы байт (8 бит) чыгууга жөнөтүлө тургандыгын көзөмөлдөйт, андыктан микросхемага жаңы биттер жазылып жатканда чыгууга эч кандай өзгөрүү мүмкүн эмес. Андан кийин, "ShiftOut" деп аталган камтылган Arduino функциясын колдонуп, атайын маалыматтарды которуштуруу реестрине жөнөтүү менен, программа кайсы катод (катод) төмөн болорун жана кайсы (анод) мамычалар жогору болорун жазат. Акырында, бекиткич пин жогору тартылып, өндүрүштү жаңыртуу үчүн (LED).

4 -кадам: Кошумча маалымат/ресурстар

Бул жерде бул долбоорго байланыштуу кошумча маалымат бере турган вебсайттарга же китептерге шилтемелер бар:

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 менен баштоо, Массимо Банзинин 2 -басылышы

Сунушталууда: