Мазмуну:

LED матрицасын Arduino Uno менен башкаруу (Arduino Powered Robot Face): 4 кадам (сүрөттөр менен)
LED матрицасын Arduino Uno менен башкаруу (Arduino Powered Robot Face): 4 кадам (сүрөттөр менен)

Video: LED матрицасын Arduino Uno менен башкаруу (Arduino Powered Robot Face): 4 кадам (сүрөттөр менен)

Video: LED матрицасын Arduino Uno менен башкаруу (Arduino Powered Robot Face): 4 кадам (сүрөттөр менен)
Video: Управляющая лампа переменного тока с реле 5 В с помощью Arduino 2024, Ноябрь
Anonim
Image
Image
Компоненттер
Компоненттер

Бул көрсөтмө Arduino Uno менен 8x8 LED матрицаларын кантип башкарууну көрсөтөт. Бул колдонмо өз долбоорлоруңуз үчүн жөнөкөй (жана салыштырмалуу арзан дисплей) түзүү үчүн колдонулушу мүмкүн. Ошентип, сиз тамгаларды, сандарды же ыңгайлаштырылган анимацияларды көрсөтө аласыз.

Биздин робот долбоорлорубуздун биринде колдонулган 5 матрицалык массив ("Robô da Alegria") бул технологияны иллюстрациялоо үчүн мисал катары колдонулат. Бул долбоор тууралуу көбүрөөк маалыматты төмөнкү шилтемелерден таба аласыз:

www.instructables.com/id/Joy-Robot-Rob%C3%B4-Da-Alegria-Open-Source-3D-Printed-A/

hackaday.io/project/12873-rob-da-alegria-joy-robot

github.com/ferauche/RoboAlegria

www.facebook.com/robodaalegria/Бул окуу куралында көрсөтүлгөн коддун биринчи версиясы үчүн жооп берген, жогоруда аталган долбоорго катышкан башка команданын мүчөлөрүнө өзгөчө рахмат: • Тиаго Фарауче • Диего Августус • Йхан Кристиан

1 -кадам: Компоненттер

Компоненттер
Компоненттер
Компоненттер
Компоненттер
Компоненттер
Компоненттер

Бул долбоордо төмөнкү компоненттер колдонулган:

  • Arduino Uno (сатып алуу)
  • MAX7219 драйвери бар 8x8 LED матрицасы (x5) (сатып алуу)
  • Аялдан аялга секирүүчү зымдар (ар бири 5 кабелден 4 секирүүчү)
  • Эркек-атадан секирүүчү зымдар (5 кабелден 1 секирүүчү)
  • 2мм акрил барак (компоненттерди бекитүү үчүн милдеттүү эмес)
  • M2 x 10 мм болт (x20) (компоненттерди бекитүү үчүн милдеттүү эмес)
  • M2 x 1, 5 мм гайкалар (x20) (компоненттерди бекитүү үчүн милдеттүү эмес)
  • Компьютер (Arduino кодун түзүү жана жүктөө үчүн)
  • Чыгармачылык

Байкасаңыз, сизге секирүүчүлөрдүн эки түрү керек: матрицалардын ортосундагы байланыш үчүн аялдан-аялга жана Arduino менен фирс матрицасын туташтыруу үчүн эркектен-аялга.

Компоненттердин саны сиз ойлогон структурага жараша өзгөрүшү мүмкүн.

2 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Бардык компоненттерди схемага ылайык туташтырыңыз. Биринчи матрицаны Arduino менен, ал эми ар бир матрицаны массивдеги экинчисине туташтыруу үчүн сизге кээ бир секирүүчү зымдар керек болот.

Arduino Pinout:

  • Arduino санарип пин 13 = биринчи дисплейдин DIN
  • Arduino санарип пин 12 = муштум дисплейинин CLK
  • Arduino санарип пин 11 = биринчи дисплейдин CS
  • Arduino 5V пин = Биринчи дисплейдин Vcc
  • Arduino GND пин = Биринчи дисплейдин Gnd пини

Сиз ошондой эле ар бир дисплейди белгилүү бир позицияга жайгаштыргыңыз келиши мүмкүн. Бул үчүн сиз акрилдик баракты, кээ бир болтторду жана гайкаларды (ар бир дисплей үчүн төрт) колдонуп, ар бир компонентти позицияга койсоңуз болот. Районду чогултуу үчүн эч кандай курал талап кылынбайт, бирок дисплейлерди тиркөө үчүн сизге отвертка же курч курал керек болот. кээ бир болт жана гайкалар менен бетине. Биздин мисалда, беш дисплей жүздүн үлгүсүнө (эки көз жана ооз) жайгаштырылган. USB кабелин Arduino Uno тактасына туташтырып, кийинки кадамга өтүңүз.

3 -кадам: Коддоо

Coding
Coding

Акыркы Arduino IDE версиясы орнотулганда, LedControl.h китепканасын кошуңуз, ал LEDларды көзөмөлдөө үчүн колдонулат. Ардуиного кодду жүктөп, түзүңүз жана жүктөңүз, ал 4 бөлүккө бөлүнөт: 1. Көздүн жана ооздун аныктамасы: ар бир көз конфигурацияланган жана 8 байттык массив. Ооздор 24 байттык массив катары аныкталат; 2. Орнотуу: дисплейлерди конфигурациялоо жана байланышты баштоо; 3. Негизги: сериялык байланыш буйруктарын күтүп, кайсы бет көрсөтүлөрүн тандаңыз; 4. Көмөкчү функциялар: көздүн жана ооздун дисплейлерин коюу функциялары. setRow функциясы LED дисплейинин ар бир сабын орнотуу үчүн колдонулган. Ал setColumn ордуна колдонулган, анткени ал сегиз эсе ылдамыраак иштейт! Ошентип, ар бир дисплейдин чиймелери сааттын жебесине каршы 90 градуска бурулган деп жарыяланышы керек.

setIntensity LED жарыгын чектөө үчүн колдонулган. Ал модулдардын кубаттуулугун USB порту кабыл ала турган деңгээлге чейин азайтуу үчүн 1 (0дон 15ке чейинки масштабда) катары коюлган.

4 -кадам: Колдонуу

Колдонуу
Колдонуу
Колдонуу
Колдонуу
Колдонуу
Колдонуу
Колдонуу
Колдонуу

Жүктөлгөндөн кийин Arduino компьютериңиздин USB портуна туташып турсун жана Сериялык Мониторду ачыңыз. Код сериялык порт алган билдирүүгө жараша LED бетинде смайликтердин топтомун көрсөтүү үчүн программаланган.:

Көздөр үчүн

  • : (нормалдуу көздөр)
  • ; (көз ирмем)
  • 8 (коркунучтуу көздөр)

Ооз учун:

  • ) (бактылуу)
  • | (нейтралдуу)
  • ((кайгылуу)
  • D же d (абдан бактылуу)
  • О же о (таң калды)
  • P же p (тили чыгып)

Сериялык мониторго жуп тамгаларды териңиз (бири көз үчүн, экинчиси ооз үчүн), enter баскычын басыңыз жана дисплейлер сиздин буйругуңузга ылайык жаңыртылат.

Сиз муктаждыктарыңызга жараша чиймелерди өзгөртө аласыз (мисалы, жаңы жүздөрдү кошуңуз) же башкаруу ыкмасын (bluetooth же wi-fi интерфейсин кошо) өзгөртө аласыз.

Көңүл ачуу!

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