19.04.2026

4 razryadli TM1637 displey moduli [14+]

4 razryadli TM1637 displey moduli.

O’rganilgan 7 segmentli modullardan foydalanganda ko’rdikki, razryadlar soni ortgan sayin, uni boshqarishda foydalanish talab etiladigan mikrokontroller raqamli pinlari soni ham ortib boraveradi. 1 ta razryadli 5161as moduli uchun jami 8 ta UNO pinidan foydalanilgan bo’lsa, yana bitta shunday modul qo’shilsa, UNO dan jami 16 ta raqamli pin kerak bo’ladi (bunday vaziyatlarda 6 ta analog pinlardan ham chiqish rejimidagi raqamli pin sifatida foydalanish mumkin). Vaholanki, UNO dagi raqamli pinlar soni 14 ta xolos. Bunday hollarda amalda, “surilish registri” (“сдвиговый регистр”) vazifasini bajaruvchi elektron komponent – mikrosxemadan foydalanilishi mumkin. Bu esa, sxemaning sezilarli darajada murakkablashishiga olib keladi. Shuning uchun ham, 7 ta segmentli indikatorlarning ko’plab variantlari o’z ichiga “surilish registri”ni olgan holda ishlab chiqariladi. Birinchidan, har bir segment bilan ishlash bilan bog’liq mayda operatsiyalarni moduldagi “surilish registri” o’z zimmasiga oladi. Ikkinchidan, mikrokontrollerdan modulni boshqarish uchun ko’p pin talab etilmaydi.

Shning uchun, quyida indikatorlarning murakkabroq, shu bilan birga qurilma tomonidan qayta ishlangan ma’lumotlarni foydalanuvchi uchun tushunarli bo’lgan, visual kuzatish imkonini beradigan, ya’ni, axborotni matnli ma’lumotlar yoki grafik tasvirlar ko’rinishida ifodalovchi ayrim turlari va ularning Arduino platalariga ulanishi, ularga ma’lumotlarni chiqarishning o’ziga xosliklari haqidagi ma’lumotlar bilan tanishamiz.

Indikatorlarning bunday turlarini displey deb ham yuritiladi. Displeylar tayyor modul ko’rinishida ishlab chiqariladi (kelgusida ko’p hollarda displey modulini qulaylik uchun displey deb yuritamiz). Shunday displeylardan biri TM1637 mikrosxemasi (“surilish registri” va drayver) asosidagi, ko’pincha o’zi ham shu nom (TM1637) bilan yuritiladigan displey hisoblanadi. Ushbu modulni Arduinoga ulashda hattoki har bir segment uchun alohida pin ham talab etilmaydi, balki atigi 2 ta raqamli pin talab etiladi xolos (modulda jami 4 ta pin mavjud). Sotuvda uning 4 ta va 6 ta razryadli variantlari uchraydi.

Arduinoda qo’llaniladigan har bir displey turi u bilan ishlashni qulaylashtirib beruvchi maxsus bibliotekalar bilan birga qo’llaniladi (ayrim displeylarni alohida bibliotekasiz ham qo’llash mumkin, biroq bu arduinochi uchun ko’plab noqulayliklarni yuzaga keltirishi va mashina tili (binar formatli kod tili) yoki c++ dasturlash tili bo’yicha chuqurroq bilimlarni talab qilishi mumkin. Bibliotekalar haqida batafsil ma’lumotga ega bo’lish uchun alohida qo’llanmadan foydalanish mumkin: havola).

Ushbu indikator uchun turli bibliotekalar yaratilgan. Biz qulaylik uchun dastlab Arduino ichki bibliotekalari tarkibidagi oddiy “TM1637.h” bibliotekasidan foydalanamiz (amaliy mashg’ulotlar davomida ko’p funksiyali va bir qator kamchiliklar bartaraf etilgan maxsus GyverTM1637.h tashqi bibliotekasidan ham foydalanamiz).

Arduino namunaviy sketchlari qatorida TM1637 indikatori uchun mo’ljallangan bir qator tayyor sketchlar mavjud. Biroq ularda boshlovchi arduinochilar uchun mos kelmaydigan algoritmlar va funksiyalar qo’llanilganligi sababli, ulardan foydalanmaymiz. Buning o’rniga, displeyga raqamlarni chiqaruvchi buyruqlar bilan ishlashning soddaroq variantini ko’rib chiqamiz. Lekin ushbu sketch har qanday murakkablikdagi boshqa sketchlarni yaratishda ham qo’llanma bo’lib xizmat qilishi mumkin.

Kerakli materiallar:
1) Arduino UNO platasi + USB-kabel + maket platasi + o’tkazgichlar
2) Male-female turli o’tkazgichlar (plata va indikatorni bog’lash uchun)
3) TM1637 indikatori

Elektron komponentlarning bog’lanish sxemasi (male-female o’tkazgichlari qo’llanilsa, maket platasi qo’llanilishi shart emas):

Quyidagi misolda oddiy sketch yordamida displeyda “12:30” yozuvini (1-variant) yoki “27°C” yozuvini (2-variant) hosil qilamiz. 1-variantda “loop()” funksiyasining 1-5-qatorlarini faollashtiramiz va 6-7-qatorlarni izohga aylantiramiz, 2-variantda 3-5-qatorlarni izohga aylantiramiz va 1-2, 6-7-qatorlarni faollashtiramiz.

TM1637 indikatori uchun oddiy misol

#include “TM1637.h” //Indikator bibliotekasini ulaymiz
#define CLK 2  //indikatorning CLK pinini UNO ning 2-piniga ulaymiz
#define DIO 3  //indikatorning DIO pinini UNO ning 3-piniga ulaymiz
TM1637  tm1637(CLK,DIO); //TM1637 turli va CLK, DIO argumentli tm1637 obyektini yaratamiz
void setup(){
tm1637.init(); //indikatorni initsializatsiya qilamiz
tm1637.set(2); //indikatorning yorug’lik darajasini o’rnatamiz: 0…7

}
void loop() {
tm1637.display(0, 1); //indikatorning 0-indeksli 1-xonasida 1 raqamini hosil qilamiz
tm1637.display(1, 2); //indikatorning 1-indeksli 2-xonasida 2 raqamini hosil qilamiz
tm1637.display(2, 3); //indikatorning 2-indeksli 3-xonasida 3 raqamini hosil qilamiz
tm1637.display(3, 0); //indikatorning 3-indeksli 4-xonasida 0 raqamini hosil qilamiz
tm1637.point(POINT_ON); //indikatorning 2-va 3-xonalari orasidagi “:” belgisini hosil qilamiz
// tm1637.display(2, “c”); //indikatorning 3-xonasida ° (gradus) maxsus belgisini chiqaramiz
// tm1637.display(3, “9”); //indikatorning 4-xonasida C maxsus belgisini chiqaramiz
}

Natija:

1-variant (faqat raqamlar va “:” belgisi ko’rsatilgan):

2-variant (raqam va temperaturani ifodalovchi maxsus belgilar ko’rsatilgan):

1) TM1637.h bibliotekasi yordamida TM1637 displeyiga turli maxsus belgilarni chiqaring

2) GyverTM1637.h bibliotekasi yordamida displeyiga turli maxsus belgilarni chiqaring

3) Oddiy arifmetik amallarni bajaring va natijalarini TM1637 displeyiga chiqaring

4) Barcha topshiriqlarni Wemos D1 Mini platasi yordamida bajaring

5) Yuqoridagi sketchdan foydalanib ushbu dars mavzusiga doir shaxsiy o’quv loyihasi taklifini bering va uni amalda bajaring, uning videosini tayyorlang (muvaffaqiyatli unikal loyihalar videosiga havolalar o’quvchining nomidan saytning shu joyiga joylashtirib boriladi).

Добавить комментарий