Mundarija:

3 dolli HD44780 LCD 1 dollardan kam: 5 qadam
3 dolli HD44780 LCD 1 dollardan kam: 5 qadam

Video: 3 dolli HD44780 LCD 1 dollardan kam: 5 qadam

Video: 3 dolli HD44780 LCD 1 dollardan kam: 5 qadam
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Noyabr
Anonim
3-simli HD44780 LCD 1 dollardan kam
3-simli HD44780 LCD 1 dollardan kam

Bu yo'riqnomada biz HD44780 chipsetiga asoslangan LCD displeyni SPI avtobusiga ulashimiz va uni atigi 3 simli 1 dollardan past narxda haydashimiz mumkinligini bilib olamiz. Men bu qo'llanmada HD44780 harfli -raqamli displeyiga e'tibor qaratgan bo'lsam -da, xuddi shu tamoyil 8 bitli parallel ma'lumotlar uzatish moslamasini ishlatadigan boshqa LCD displeylar uchun ham deyarli bir xil bo'ladi va uni 16 bitli ma'lumotlar avtobuslari bo'lgan displeylarga moslashtirish juda oson.. HD44780 (va mos keladigan) asosidagi alfasayısal displeylar odatda 16x2 (16 belgidan iborat 2 satr) va 20x4 konfiguratsiyalarda mavjud, lekin ularni boshqa ko'plab shakllarda topish mumkin. Eng murakkab "displey" 40x4 displey bo'ladi, bunday displey alohida, chunki u ikkita HD44780 kontrollerga ega, bittasi yuqori ikki qatorda va pastki ikkita qatorda. Ba'zi grafik LCD displeylarda ikkita nazorat moslamasi mavjud. HD44780 LCD displeylari juda yaxshi, ular juda arzon, o'qilishi mumkin va ular bilan ishlash juda oson. Ammo ularning kamchiliklari ham bor, bu displeylar Arduino -ga ulanganida ko'p kirish -chiqish pinlarini oladi. Oddiy loyihalarda bu tashvish tug'dirmaydi, lekin loyihalar katta hajmda, juda ko'p IO bo'lganida yoki analog o'qish yoki PWM kabi narsalar uchun ma'lum pinlar kerak bo'lganda, bu LCD -larda kamida 6 pin bo'lishi kerak. muammo Lekin biz bu muammoni arzon va qiziqarli tarzda hal qila olamiz.

1 -qadam: Komponentlarni olish

Men TaydaElectronics -dan ushbu loyihada ishlatgan komponentlarimdan ko'pini ishlatardim. Siz bu qismlarni ebaydan ham olishingiz mumkin, lekin ulardan foydalanish qulay bo'lishi uchun men sizni Tayda bilan bog'layman. Xaritalar ro'yxati 2 - 74HC595 to'plami DIP161 - Umumiy erkak sarlavhasi - 2 ta pin. Bu talab qilinmaydi, men buni orqa nuri o'chirishda ishlatardim.3 - Seramika kondansatkichi - sig'imi 0,1 mF; kuchlanish 50V1 - Elektrolitik kondansatkich - sig'imi 10 mF; kuchlanish 35V1 - Seramika kondansatkichi - sig'imi 220pF; kuchlanish 50V1 - NPN -tranzistor - qism # PN2222A* 1 - 1k Ω Rezistor1 - Trimmer potentsiometr - maksimal qarshilik 5kΩ1 - 470 Ω Rezistor* NPN tranzistorli bo'lsa, orqa nuri dasturiy ta'minot yoqilmaguncha o'chadi. Agar siz orqa nuri sukut bo'yicha yoqilishini xohlasangiz, PNP tipidagi tranzistordan foydalaning. Taqdim etilgan kutubxona kodiga o'zgartirishlar kiritish kerak bo'ladi. Ushbu ro'yxatning umumiy qiymati 0,744 dollarni tashkil qiladi. Pin sarlavhasi ham talab qilinmaydi, shuning uchun siz o'sha erda 15 tsentni tejashingiz mumkin va jami $ 0,6 bo'ladi.

2 -qadam: Sizning uskunangizni biling #1

Uskuna bilan tanishing #1
Uskuna bilan tanishing #1

Bu HD44780 LCD displeyidagi standart pin, u ham ba'zi grafik LCD -larga juda o'xshaydi. HD44780 ikkita rejimda ishlashi mumkin: 1. 4-bitli rejim, bu erda LCDga yuborilgan har bir bayt 2 ta 4-bitli qismdan iborat. 2. 8-bitli rejim, biz bunga e'tibor qaratamiz. LCD displeyda jami 16 ta pim, 3 ta boshqaruv pimi va 8 ta ma'lumotlar pimi mavjud: RS - LCDga buyruq yoki ma'lumot yuborishni xohlashimizni boshqaradi. Bu erda "yuqori" ma'lumotni (belgini) va "past" buyruq baytini bildiradi. R/V - HD44780 tekshirgichi RAMdan o'qish imkonini beradi. Agar bu pin "baland" bo'lsa, biz uning ma'lumot pinlaridan ma'lumotlarni o'qishimiz mumkin. "Past" bo'lsa, biz ma'lumotlarni LCD -ga yozishimiz mumkin. LCD -dan o'qish varianti ba'zi hollarda foydali bo'lishi mumkin bo'lsa -da, biz bu qo'llanmada o'tmaymiz va har doim yozish rejimida bo'lishini ta'minlash uchun bu pinni erga qo'yamiz. Ma'lumotni operativ xotiraga yozish va oxir -oqibat uni ekranda ko'rsatish uchun bu pin "yuqori", "past" ga o'zgartiriladi. DB0-7 - Bu ma'lumotlar pinlari. 4 -bitli rejimda biz faqat 4 ta yuqori DB4 -DB7 bitni ishlatamiz, va 8 bitli rejimda ularning hammasi ishlatiladi., biz uni Arduino + 5v pinidan quvvat bilan bemalol to'ydira olamiz. Vo - bu displey uchun kontrast darajasini sozlash imkonini beruvchi pin, unga potentsiometr kerak, odatda 5K Ohmli qozon ishlatiladi. LED + - Bu orqa yorug'lik uchun quvvat manbai. Ba'zi LCD displeylar orqa nuri bilan ta'minlanmagan va faqat 14 ta pinli. Ko'pgina hollarda, bu pin +5V ulanishni ham talab qiladi. LED - bu orqa nuri uchun zamin. ** Orqa yorug'lik qarshiligini tekshirish uchun displey ma'lumotlarini tekshirish yoki uning tenglikni tekshirilishi muhim, aksariyat LCD displeylar ularni o'rnatadi. -bu holda, LED+ ga kuch sarflash va LEDga topraklash kifoya. Ammo, agar sizning LCD displeyingizda orqa yorug'lik uchun o'rnatilgan qarshilik bo'lmasa, uni qo'shishingiz juda muhim, aks holda orqa yorug'lik juda ko'p quvvat sarflaydi va u oxir-oqibat yonib ketadi. Ko'pgina hollarda, LCD displeyni Arduino-ga ulash usuli-uni 4-bitli rejimda ishlatish va R/V pinini erga ulash. Shunday qilib, biz RS, E va DB4-DB7 pinlaridan foydalanamiz. 4-bitli rejimda ishlashning yana bir kichik kamchiligi bor, chunki ma'lumotlarni ekranga yozish uchun 8-bitli konfiguratsiyadan ikki barobar ko'p vaqt ketadi. LCD displeyda 37 mikrosaniyali "aniqlanish" vaqti bor, demak, LCDga keyingi buyruq yoki ma'lumot baytini yuborishdan oldin 37 mikrosaniyani kutish kerak. 4 bitli rejimda biz har bir bayt uchun ikki marta ma'lumotlarni yuborishimiz kerak bo'lgani uchun, bitta baytni yozishga ketadigan umumiy vaqt 74 mikrosaniyagacha etadi. Bu hali etarlicha tez, lekin men o'z dizaynimni iloji boricha yaxshi natijalarga olib kelishini xohlardim. Qo'llaniladigan pinlar soni bilan bog'liq muammoning echimi ketma -ket parallel konvertorda …

3 -qadam: 2 -sonli uskunangizni biling

Uskuna haqida bilish #2
Uskuna haqida bilish #2

Biz nima qilamiz - Arduino -dan ketma -ket aloqa turini oladigan va ma'lumotlarni LCD displeyimizga uzatilishi mumkin bo'lgan parallel chiqishga aylantiradigan adapter yaratish. 74HC595 chipi keladi. Bu juda arzon va ishlaydigan smenali registr. Umuman olganda, u 8 soatlik ichki tamponni "oxirgi" 8 bit bilan to'ldirish uchun foydalanadigan soat va ma'lumot signallarini oladi. "Latch" (ST_CP) pinini "yuqori" holatga keltirgandan so'ng, bu bitlarni 8 ta chiqishiga o'tkazadi. 595 -ning juda yaxshi xususiyati bor, u ketma -ket ma'lumot chiqarish piniga ega (Q7 '), bu pin 2 yoki undan ko'p 595 -sonli zanjirlar uchun ishlatilishi mumkin, ular 16 yoki undan ko'p bitli ketma -ket parallel adapterlarni yaratish uchun ishlatilishi mumkin. Ushbu loyiha uchun bizga 2 ta chip kerak bo'ladi. Sxemani bitta 595 bilan 4-bitli rejimda ishlash uchun o'zgartirish mumkin, lekin bu qo'llanmada yoritilmaydi.

4 -qadam: Hammasini uzatish

Hammasini elektr tarmog'iga ulash
Hammasini elektr tarmog'iga ulash

Endi biz qanday uskuna ishlashini bilsak, hammasini ulashimiz mumkin. Sxemada biz 16 -bitli parallel chiqishni hosil qilish uchun bir -biriga bog'langan 2 595 chipli papatyani ko'ramiz. Pastki chip aslida asosiy, yuqori qismi esa romashka bilan bog'langan. Bu erda biz ko'rib turibmizki, pastki 595 8-bitli konfiguratsiyadagi LCD ma'lumot pinlarini boshqaradi, yuqori chip RS signalini va orqa nuri transistorni yoqish yoki o'chirish orqali boshqaradi. LCD -orqa nuri haqidagi *eslatmani eslang 1 -sonli apparatingizni biling, agar sizning LCD -da orqa nuri qarshiligi bo'lmasa, uni o'zingizning davrangizga qo'shishni unutmang. Mening vaziyatimda, men allaqachon o'rnatilgan rezistorli LCD-lar bilan kelganman, shuning uchun men bu qadamni o'tkazib yubordim. Kontrast 5K Ohmli qozon orqali qo'llaniladi, bitta pin GNDga, ikkinchisi VCCga, o'chirgich esa LCD displeydagi Vo piniga o'tadi. LCD va 595 VCC liniyalarida ishlatiladigan kondansatörler kondensatorlarni ajratadi, ular shovqinlardan xalos bo'lish uchun. Agar siz non taxtasida ishlayotgan bo'lsangiz, ular shart emas, lekin siz "laboratoriya sharoitlari" dan tashqarida foydalanish uchun ushbu sxemaning o'z versiyasini yaratganingizda ishlatishingiz kerak. R5 va C9 juda aniq tartibda RC kechikishini yaratadi, bu esa 595 -chi chiqish ma'lumotlarining LCD -dagi Enable pin -ni "yuqori" holatiga kelguniga qadar barqarorlashishiga va ma'lumotlarni o'qishiga ishonch hosil qiladi. Pastki 595 ning Q7 'qismi 595 ning ketma -ket ma'lumot kiritishiga kiradi, bu 595 -sonli romashka zanjirini va 16 -bitli interfeysni hosil qiladi. Arduino -ga ulanish oson. Biz 3 simli konfiguratsiyadan, Arduino SPI pinlaridan foydalanamiz. Bu juda tez ma'lumotlarni uzatish imkonini beradi, LCD -ga 2 bayt yuborish odatda taxminan 8 mikrosaniyani oladi. Bu juda tez va bu ma'lumotni qayta ishlash uchun LCD vaqtidan ancha tezroq, shuning uchun har bir yozish o'rtasida 30 mikrosaniya kechikish kerak. SPI -dan foydalanishning juda katta afzalligi shundaki, D11 va D13 pinlari boshqa SPI qurilmalari bilan bo'lishadi. Bu shuni anglatadiki, agar sizda SPI ishlatadigan boshqa komponent bo'lsa, masalan, akselerometr, bu yechim yoqish signali uchun faqat bitta qo'shimcha pindan foydalanadi. Keyingi sahifada biz natijani ko'ramiz. Men yukxalta ustida ryukzak tikdim va u hozirgacha men uchun juda yaxshi ishlamoqda.

5 -qadam: Natija + kutubxona

Natija + kutubxona
Natija + kutubxona
Natija + kutubxona
Natija + kutubxona
Natija + kutubxona
Natija + kutubxona
Natija + kutubxona
Natija + kutubxona

"Rasm ming so'zga arziydi", men bu bayonotga qo'shilaman, shuning uchun bu loyihaning yakuniy natijasi tasvirlari. Bu tugallangan mahsulotning rasmlari, Fritzing PCB ko'rinishi - bu men sumkani qurishda ishlatilgan perfboard sxemasi. Agar siz o'zingizni qurmoqchi bo'lsangiz, bu sizga foydali bo'lishi mumkin. Menga bu juda yoqdi, shuning uchun men DipTrace yordamida tenglikni ishlab chiqdim va 10 ta tenglikni to'plamiga buyurtma berdim. Menga o'zimga 2 yoki 3 dona kerak bo'ladi, lekin qolganini men olganimda ramziy narxga beraman. Shuning uchun, agar kimdir qiziqsa, menga xabar bering. * Tartibga solish: PCBlar shu erda va ular ishlaydi. Mana bu loyihaning to'liq rasmlar galereyasi, shu jumladan haqiqiy PCB. https://imgur.com/a/mUkpw#0 Albatta, men eng muhim narsani, bu sxemadan foydalanadigan kutubxonani unutmadim. Bu Arduino IDE -ga kiritilgan LiquidCrystal kutubxonasi bilan mos keladi, shuning uchun siz eskizning yuqori qismidagi deklaratsiyalarni osongina o'zgartirishingiz mumkin va eskizingizda boshqa hech narsani o'zgartirishingiz shart emas. Bundan tashqari, kutubxonadagi har bir funktsiya qanday ishlashini ko'rsatadigan namunaviy eskiz mavjud, shuning uchun uni tekshirib ko'ring.

Tavsiya: