Агуулгын хүснэгт:

Arduino болон TM1638 LED дэлгэцийн модулиуд: 11 алхам
Arduino болон TM1638 LED дэлгэцийн модулиуд: 11 алхам

Видео: Arduino болон TM1638 LED дэлгэцийн модулиуд: 11 алхам

Видео: Arduino болон TM1638 LED дэлгэцийн модулиуд: 11 алхам
Видео: Как сделать ПЛК LDmicro Arduino с ЖК-дисплеем I2C 2024, Арваннэгдүгээр
Anonim
Arduino болон TM1638 LED дэлгэцийн модулиуд
Arduino болон TM1638 LED дэлгэцийн модулиуд

Хэрэв танд төсөлд хэрэглэгчийн оролт, гаралтыг нэмэх хурдан бөгөөд хялбар арга хэрэгтэй бол эдгээр дэлгэцийн модулиуд нь сонирхолтой, хөгжилтэй байдаг.

Эдгээр нь 7 сегментийн улаан LED цифр, найман улаан/ногоон LED, хэрэглэгчийн оролтын найман товчлуурыг агуулдаг. Төхөөрөмжүүдийг мөн дараалан гинжлэх боломжтой бөгөөд нэг дор тав хүртэл оруулах боломжтой бөгөөд модуль бүрт богино кабель, түүнчлэн зураг дээр үзүүлсэн шиг богино холбогч ба боолт багтсан болно.

1-р алхам:

Зураг
Зураг

Зайлагч нь ПХБ -ийг гадаргуугаас дээш өргөхөд хангалттай урт боловч шаардлагатай бол самбарыг хаана ч хамаагүй холбоход илүү урт хавтан хэрэгтэй болно. Хэрэв та модулийг хавтангийн гадаргуутай ойрхон холбохыг хүсвэл IDC залгуурыг салгаж болно. Энэ нь цоорхойтой залгууртай тул салгах энгийн ажил байх болно.

Алхам 2:

Зураг
Зураг

Самбарыг TM1638 IC удирддаг.

Энэ бол "Titan Micro Electronics" -ийн LED ба интерфэйсийн драйвер IC юм. Та мөн эдгээр IC -ийг PMD Way -ээс худалдаж авах боломжтой. Та мөн дэлгэрэнгүй мэдээллийг мэдээллийн хуудсыг татаж авах боломжтой.

Алхам 3: Эхлэх - Тоног төхөөрөмж

Эхлэх - Тоног төхөөрөмж
Эхлэх - Тоног төхөөрөмж

Тоног төхөөрөмж-Arduino-тэй нийцтэй самбар (эсвэл бусад MCU) -тай холбогдох нь маш энгийн. Тэмдэглэгээний хэсгүүдийг ПХБ -ийн ар талд харуулсан бөгөөд туузан кабель дээрх бэхэлгээтэй таарч байна. Хэрэв та кабелийн төгсгөлийг харвал.

Баруун дээд нүх нь нэг зүү, зүүн дээд хоёр зүү, баруун доод зүү 9, зүүн доод зүү 10. Тиймээс холболтын цэгүүд нь:

  1. Vcc (5V)
  2. GND
  3. CLK
  4. DIO
  5. STB1
  6. STB2
  7. STB3
  8. STB4
  9. STB5
  10. Холбогдоогүй.

Arduino -ийн хувьд 1-4 хүртэлх зүү нь нэг модулийг ашиглахад шаардлагатай хамгийн бага хэмжээ юм. Нэмэлт модуль бүрт STB2, STB3, гэх мэт бусад дижитал зүү холбогдсон байх шаардлагатай. LED бүр асаалттай байх үед модуль бүрийг 127 мА зарцуулдаг тул Arduino самбартай бусад модулиудтай гадны хүчийг ашиглах нь ухаалаг хэрэг болно.

Алхам 4: Эхлэх - Програм хангамж

Програм хангамж - T1638 номын санг эндээс татаж суулгаарай. Номын сангийн gmail dot com хаягаар ирсэн rjbatista -д баярлалаа. Ноорог дээрх модулийг эхлүүлэх нь энгийн зүйл юм. Номын санг дараахь байдлаар оруулна уу.

#оруулах

Дараа нь модуль бүрийн хувьд дараахь аргуудын аль нэгийг ашиглана уу.

TM1638 модуль (x, y, z);

x нь модулийн кабелийн зүү 4 -т холбогдсон Arduino дижитал зүү, y нь модулийн кабелийн зүү 3 -т холбогдсон Arduino дижитал зүү, z нь стробын зүү юм. Хэрэв танд 8, 7, 6 -р зүүтэй холбогдсон өгөгдөл, цаг, строб бүхий нэг модуль байсан бол та дараахь зүйлийг ашиглах болно.

TM1638 модуль (8, 7, 6);

Хэрэв танд хоёр модуль байсан бол Arduino digital 6 -д нэг модулийн строб, дижитал 5 -д холбогдсон хоёр дахь модулийн стробыг ашиглавал та дараах зүйлийг ашиглах болно.

TM1638 модуль (8, 7, 6); TM1638 модуль (8, 7, 5);

гэх мэт олон модулийг авах боломжтой. Одоо дэлгэцийг хянах …

Алхам 5: Хоёр өнгийн LED

Хоёр өнгийн LED
Хоёр өнгийн LED

Улаан/ногоон LED -ийг удирдах нь хялбар байдаг. Лавлахын тулд тэдгээрийг зүүнээс баруун тийш тэгээс долоон хүртэл дугаарлана. Нэг LED -ийг асаах, унтраахын тулд дараахь зүйлийг ашиглана уу.

module.setLED (TM1638_COLOR_RED, x); // LED дугаар x -ийг redmodule.setLED (TM1638_COLOR_GREEN, x) болгож тохируулах; // LED дугаар x -ийг ногоон модульд тохируулна уу. setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // LED дугаар x -ийг улаан, ногоон болгож тохируулна уу

Дээрх аргыг ашиглах нь энгийн боловч зарим талаар үр ашиггүй байдаг. Илүү сайн арга бол бүх LED -ийг нэг мэдэгдэлд оруулах явдал юм. Үүнийг хийхийн тулд бид хоёр байтын өгөгдлийг арван зургаат хэлбэрээр дэлгэц рүү илгээдэг. MSB (хамгийн чухал байт) нь найман битээс бүрдэх бөгөөд тус бүр нь нэг ногоон LED -ийг асаалттай (1) эсвэл унтраасан (0) байна. LSB (хамгийн бага ач холбогдолтой байт) нь улаан LED -ийг илэрхийлдэг.

LED -ийг удирдах арван зургаатын утгыг тодорхойлох хялбар арга бол нэг эгнээ LED -тэй зураг бөгөөд эхний найман нь ногоон, хоёр дахь нь улаан байна. Цифр бүрийг асаахын тулд 1, унтраахын тулд 0 болгож тохируулна уу. Хоёр хоёртын тоог арван зургаатын тоогоор хөрвүүлж, энэ функцийг ашиглана уу.

module.setLEDs (0xgreenred);

Ногоон бол ногоон LED -ийн арван зургаатын тоо, улаан нь LED -ийн арван зургаатын тоо юм. Жишээлбэл, эхний гурван LED -ийг улаан, сүүлийн гурван LED -ийг асаахын тулд хоёртын дүрслэл дараах байдалтай байна.

00000111 11100000 нь арван зургаа дахь нь E007 юм.

Тиймээс бид дараахь зүйлийг ашиглах болно.

module.setLEDs (0xE007);

Дээр үзүүлсэн шиг зургийг гаргадаг.

Алхам 6: 7 сегмент бүхий дэлгэц

Тоон дэлгэцийг цэвэрлэхийн тулд (гэхдээ доорх LED биш) дараахийг ашиглана уу.

module.clearDisplay ();

эсвэл бүх хэсэг, бүх LED -ийг асаахын тулд дараахь зүйлийг ашиглана уу

module.setupDisplay (үнэн, 7); // энд 7 нь эрчим (0 ~ 7 хүртэл)

Аравтын тоог харуулахын тулд дараах функцийг ашиглана уу.

module.setDisplayToDecNumber (a, b, false);

Энд a нь бүхэл тоо, b нь аравтын бутархай цэгийн байрлал (0 -д байхгүй, 8 -р цифрэнд 1, 8, 2, 7 -р цифрэнд 4, 6 -д 8, 4 -р цифр гэх мэт), сүүлийн параметр (үнэн/ худал) тэргүүлэх тэгүүдийг асаах эсвэл унтраах. Дараах зураг нь энэ функцийг ашиглаж байгааг харуулж байна.

#оруулах // өгөгдлийн зүү 8, цагийн зүү 9, строб зүү 7 TM1638 модуль (8, 9, 7) дээр модулийг тодорхойлох; гарын үсэг зураагүй урт a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); саатал (1); } (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, үнэн); саатал (1); }}

… видеонд үзүүлсэн үр дүнгийн хамт.

Алхам 7:

Image
Image

Хамгийн сонирхолтой онцлогуудын нэг бол текстийг нэг буюу хэд хэдэн дэлгэц дээр гүйлгэх чадвар юм. Үүнийг хийхийн тулд жагсаалтын эскизийн хувьд тайлбар өгөх шаардлагагүй болно.

tm_1638_scrolling_modules_example.pde

TM1638 номын санд орсон бол амархан дагаж мөрдөх боломжтой. Текстээ char char мөрөнд оруулаад, ноорогны эхэнд модулийг модулийн тодорхойлолтын дагуу холбосон эсэхийг шалгаарай. Боломжтой тэмдэгтүүдийг харахын тулд функцын хуудсанд зочилно уу. Дэлгэц нь зөвхөн долоон сегментээс бүрдэх тул зарим дүрүүд төгс харагдахгүй байж магадгүй, гэхдээ контекстээр танд сайн санаа өгөх болно гэдгийг анхаарна уу. Энэ алхам дахь видеог үзнэ үү.

Алхам 8:

Эцэст нь, та орон бүрийн сегмент бүрийг тус тусад нь авч үзэх боломжтой. Энэ массивын агуулгыг анхаарч үзээрэй.

байтын утга = {1, 2, 4, 8, 16, 32, 64, 128};

элемент бүр 1 ~ 8 цифрийг илэрхийлнэ. Элемент бүрийн утга нь цифрийн аль хэсгийг асаахыг тодорхойлдог. A ~ f, dp сегментүүдийн хувьд утга нь 1, 2, 4, 6, 16, 32, 64, 128 байна. Тиймээс дээрх массивыг дараах функцэд ашигласны үр дүн:

module.setDisplay (утга);

дүрсний дагуу байх болно.

Алхам 9:

Зураг
Зураг

Мэдээжийн хэрэг та цифр бүрийн утгыг нэгтгэж, өөрийн тэмдэгт, тэмдэг гэх мэтийг үүсгэж болно. Жишээлбэл, дараахь утгыг ашиглана уу.

байтын утга = {99, 99, 99, 99, 99, 99, 99, 99};

Бид энэ алхам дээрх зургийн дагуу бүтээсэн.

Алхам 10: Товчнууд

Товчлуурын утгыг функцээс байтын утга болгон буцаана.

module.getButtons ();

Найман товчлуур байдаг тул тус бүр нь байт хэлбэрээр буцаагдах хоёртын тооны битийг илэрхийлдэг. Зүүн талд байгаа товчлуур нь аравтын бутархайг буцаана, баруун тийш 128 буцаана. Энэ нь нэгэн зэрэг дарахад буцааж өгөх боломжтой тул нэг ба найман товчлуурыг дарахад 129 буцаана. үнэ цэнэ:

#оруулах // өгөгдлийн зүү 8, цагны зүү 9, строб зүү 7 TM1638 модуль (8, 9, 7) дээрх модулийг тодорхойлох; байт товчлуурууд; void setup () {} void loop () {button = module.getButtons (); module.setDisplayToDecNumber (товчлуурууд, 0, худал); }

болон видеон дээрх үр дүн.

Эдгээр дэлгэцийн самбар нь ашигтай бөгөөд таны төслүүдээс байшин олох болно гэж найдаж байна. Энэхүү бичлэгийг pmdway.com танд хүргэсэн бөгөөд энэ нь үйлдвэрлэгч болон цахилгаан бараа сонирхогчдод зориулагдсан бүх зүйлийг санал болгож, дэлхий даяар үнэгүй хүргэж өгөх болно.

Зөвлөмж болгож буй: