Mundarija:

Uber I2C LCD boshqaruv moduli: 6 qadam
Uber I2C LCD boshqaruv moduli: 6 qadam

Video: Uber I2C LCD boshqaruv moduli: 6 qadam

Video: Uber I2C LCD boshqaruv moduli: 6 qadam
Video: BTT SKR2 — Обновлены основы SKR 2 (Rev B) 2024, Noyabr
Anonim
Uber I2C LCD boshqaruv moduli
Uber I2C LCD boshqaruv moduli
Uber I2C LCD boshqaruv moduli
Uber I2C LCD boshqaruv moduli
Uber I2C LCD boshqaruv moduli
Uber I2C LCD boshqaruv moduli

Muqaddima

Ushbu ko'rsatma HD44780 LCD displeyli boshqaruv modulini qanday yaratish haqida batafsil ma'lumot beradi (yuqoridagi 1 -rasm). Modul foydalanuvchiga LCD displeyining barcha aspektlarini I2C orqali dasturiy jihatdan boshqarishga imkon beradi; LCD va displey, kontrast va orqa yorug'lik intensivligi. Arduino Uno R3 prototipi uchun ishlatilgan bo'lsa -da, u I2C -ni qo'llab -quvvatlaydigan har qanday mikrokontroller bilan yaxshi ishlaydi.

Kirish

Yuqorida aytib o'tilganidek, ushbu maqola I2C LCD boshqaruv modulining yaratilishini hujjatlashtiradi, bu asosan amaliy ishchi PCB yaratish uchun qancha vaqt ketishini aniqlash uchun dizayn mashqlari sifatida mo'ljallangan.

Dizayn standart boshqaruv modulining o'rnini bosadi (yuqoridagi 3 -rasm) va men ilgari ishlab chiqargan ko'rsatmalar va kutubxonalarga asoslangan.

Dastlabki kontseptsiya prototipidan (yuqoridagi 2 -rasm) tugallangan, to'liq sinovdan o'tgan PCBgacha (yuqoridagi 1 -rasm) 5,5 kun davom etdi.

Menga qanday qismlar kerak? Quyida biriktirilgan materiallar ro'yxatini ko'ring

Menga qanday dastur kerak?

  • Arduino IDE 1.6.9,
  • Agar siz tenglikni o'zgartirishni xohlasangiz, Kicad v4.0.7. Aks holda "LCD_Controller.zip" ni JLCPCB ga yuboring.

Menga qanday vositalar kerak?

  • Mikroskop kamida x3 (SMT lehimlash uchun),
  • SMD lehimli temir (suyuq oqimli qalam va yadroli lehim bilan),
  • Kuchli cımbızlar (SMT lehim uchun),
  • Nozik qisqichlar (burunli va burunli),
  • Ovozli uzluksizlikni tekshirish bilan DMM.

Menga qanday ko'nikmalar kerak?

  • Katta sabr,
  • Ko'p qo'lda epchillik va qo'l/ko'zni mukammal muvofiqlashtirish,
  • Lehimlashning ajoyib mahorati.

Mavzular qamrab olingan

  • Kirish
  • O'chirish haqida umumiy ma'lumot
  • PCB ishlab chiqarish
  • Dasturiy ta'minot haqida umumiy ma'lumot
  • Dizaynni sinovdan o'tkazish
  • Xulosa
  • Ishlatilgan adabiyotlar

1 -qadam: O'chirish sxemasi

O'chirish haqida umumiy ma'lumot
O'chirish haqida umumiy ma'lumot

Barcha elektronikaning to'liq sxemasi yuqoridagi 1 -rasmda, quyida PDF formatida berilgan.

O'chirish moslamasi standart PCF8574A I2C LCD boshqaruv modulini quyidagi yaxshilanishlar bilan to'liq almashtirish uchun mo'ljallangan;

  • I2C foydalanuvchisi 3v3 yoki 5v mosligini tanlashi mumkin,
  • Raqamli kontrastni boshqarish yoki an'anaviy qozon sozlamalari,
  • Yumshoq xiralashishga erishish uchun Quartic yumshatish funktsiyasini boshqarish bilan o'zgaruvchan orqa yorug'lik intensivligini tanlash.

LCD displeyni boshqarish

Bu I2C -ni parallel aylantirish uchun PCF8574A (IC2) dan foydalanadigan standart I2C LCD boshqaruv modulining faksimile.

Buning uchun standart I2C manzili 0x3F.

3v3 yoki 5v I2C muvofiqligi

3v3 ishlashi uchun Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 va C2 mos keladi.

Agar 5v ishlash talab qilinsa, 3v3 komponentlariga mos kelmaydi, ularni 0 ohmli rezistorlar ROpt 3 va 4 ga almashtiring.

Raqamli kontrast

Raqamli kontrastni boshqarish U2 MCP4561-103E/MS va C4, R5 raqamli potansiometr yordamida amalga oshiriladi.

Agar an'anaviy mexanik potansiometr kerak bo'lsa, U2, C4 va R5 o'rniga tenglikni RV1 10K ga o'rnatish mumkin. Mos keluvchi potentsiometr uchun BoM ga qarang.

J6 o'tish moslamasi orqali I2C manzili 0x2E. Oddiy ishlash uchun bu ko'prik deb taxmin qilingan.

O'zgaruvchan orqa yorug'lik intensivligini tanlash

O'zgaruvchan orqa yorug'lik intensivligi UD pin 6 va ATTiny85 orqali LCD LED orqa nuri PWM modulyatsiyasi bilan boshqariladi. Standart I2C LCD boshqaruv moduli bilan to'liq moslikni saqlab qolish uchun R1, T1 R7 va T2 +besleme yo'lini modulyatsiya qilish uchun ishlatiladi.

Buning uchun standart I2C manzili 0x08. U1 dasturlashdan oldin kompilyatsiya vaqtida foydalanuvchi tomonidan tanlanadi.

2 -qadam: PCB ishlab chiqarish

PCB ishlab chiqarish
PCB ishlab chiqarish
PCB ishlab chiqarish
PCB ishlab chiqarish
PCB ishlab chiqarish
PCB ishlab chiqarish
PCB ishlab chiqarish
PCB ishlab chiqarish

Yuqorida aytib o'tganimizdek, bu yo'riqnoma, asosan, dizaynni bajarish uchun qancha vaqt ketishini aniqlashga qaratilgan (amaliy maqsadga ega bo'lgan) mashq edi.

Bunday holda, men shanba kuni tushdan keyin birinchi kontseptsiyani o'yladim va prototipni shanba kuni kechqurun 1 -rasmda tugatdim. Men aytganimdek, I2C LCD boshqaruv modulining I2C ustidan LCD -ni to'liq dasturiy boshqarishni taklif qiladigan, xuddi shunday izlari bo'lgan o'z variantini yaratish edi.

Sxematik diagramma va tenglikni sxemasi Kicad v4.0.7 2 va 3 -rasmlar bilan ishlab chiqilgan. Bu yakshanba kuni tushdan keyin yakunlandi va uning qismlari Farnelldan buyurtma qilindi va yakshanba kuni kechqurun PCB JLCPCB -ga yuklandi.

Komponentlar chorshanba kuni Farnelldan, keyin payshanba kuni JLCPCB PCB -laridan keldi (men tezlikni oshirish uchun DHL etkazib berish xizmatidan foydalandim) 4, 5, 6 va 7 -rasmlar.

Payshanba kuni kechqurun ikkita taxta (3v3 va 5v variantlari) qurildi va 4 dan 20 gacha LCD displeyda muvaffaqiyatli sinovdan o'tkazildi. Rasmlar 8, 9 va 10.

Dastlabki kontseptsiyadan oxirigacha ajoyib 5,5 kun.

Bu meni JLCPCB buyurtmani qanchalik tez qabul qilishi, ikki tomonlama PTH tenglikni ishlab chiqarishi va Buyuk Britaniyaga jo'natishi meni hayratga soladi. Ishlab chiqarish uchun 2 kun va etkazib berish uchun 2 kun. Bu Buyuk Britaniyada joylashgan tenglikni ishlab chiqaruvchilardan ko'ra tezroq va narxining ozgina qismi.

3 -qadam: Dasturiy ta'minotga umumiy nuqtai

Dasturiy ta'minot haqida umumiy ma'lumot
Dasturiy ta'minot haqida umumiy ma'lumot
Dasturiy ta'minot haqida umumiy ma'lumot
Dasturiy ta'minot haqida umumiy ma'lumot

I2C LCD boshqaruv modulini boshqarish uchun zarur bo'lgan dasturiy ta'minotning uchta asosiy komponenti mavjud;

1. LiquidCrystal_I2C_PCF8574 Arduino kutubxonasi

Bu erda mavjud

LCD displeyni boshqarish uchun Arduino eskizida ishlatiladi.

Eslatma: Bu umumiy I2C LCD modul boshqaruvchisi bilan bir xil darajada yaxshi ishlaydi. Faqat u boshqa kutubxonalarga qaraganda funksionallikni beradi.

2. MCP4561_DIGI_POT Arduino kutubxonasi

Eskizingizda LCD kontrastini dasturiy boshqarish uchun ishlatiladi

Bu erda mavjud

3. Yumshoq xiralashishga erishish uchun PWM va Quartic yumshatish funktsiyasidan foydalangan holda LCD orqa yorug'lik darajasini dasturiy nazorat qilish

Yuqorida aytib o'tganimizdek, taxtada displey orqa nuri asta -sekin so'nib borishini nazorat qilish uchun ishlatiladigan bitta ATTiny85 mavjud.

Ushbu dasturiy ta'minot tafsilotlari ilgari "ATTiny85 bilan PWM LEDining tekis oqishi" yo'riqnomasida keltirilgan.

Bu holda, PCB ning oxirgi o'lchamlarini umumiy LCD boshqaruv moduli bilan bir xil saqlash uchun ATICTY85 ning SOIC varianti tanlandi. 1 va 2 -rasmlarda ATTiny85 SOIC prototipida qanday dasturlashtirilgani va sinovdan o'tkazilgani ko'rsatilgan.

ATTiny85 -da dasturlashtirilgan kod bu erda "Tiny85_I2C_Slave_PWM_2.ino" edi.

O'zingizning ATTiny85 dasturchingizni qanday yaratish haqida batafsil ma'lumot olish uchun qarang: "ATTiny85, ATTiny84 va ATMega328P dasturlash: Arduino provayder sifatida".

4 -qadam: Dizaynni sinovdan o'tkazish

Dizaynni sinovdan o'tkazish
Dizaynni sinovdan o'tkazish
Dizaynni sinovdan o'tkazish
Dizaynni sinovdan o'tkazish

Dizaynni sinab ko'rish uchun men "LCDControllerTest.ino" nomli eskizni yaratdim, bu foydalanuvchiga LCD -ning har qanday parametrini to'g'ridan -to'g'ri ketma -ket terminal aloqasi orqali o'rnatishga imkon beradi.

Eskizni GitHub I2C-LCD-Controller-Module omboridan topishingiz mumkin

Yuqoridagi 1 -rasmda 5 v I2C mos keladigan 4 dan 20 gacha LCD displey va 2 -rasmli test kodi birinchi marta ishga tushirilganda ko'rsatuv displey ko'rsatilgan.

Orqa yorug'lik va kontrast uchun quyidagi standart qiymatlardan foydalaniladi;

  • #DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((imzosiz uzun) (10))
  • #DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

Men bu zaxirada yotgan 4 dan 20 gacha LCD displey bilan yaxshi ishlaganini topdim.

5 -qadam: Xulosa

Men elektronika/dasturiy ta'minot sohasida birinchi marta ish boshlaganimda, bir muncha vaqt oldin, agar siz xato qilgan bo'lsangiz, oxirgi sxemada juda ko'p muhandislik bilan prototip qilish uchun simli o'ram yoki veroboard konstruktsiyasidan foydalanishga katta e'tibor berilgandi., taxta qayta aylanishining narxi va davomiyligini hisobga olgan holda.

Xato, odatda, sizga jadval bo'yicha bir necha haftaga to'g'ri keladi va foyda marjasini (va, ehtimol, sizning ishingizni) yo'qotdi.

PCBlar "san'at asarlari" deb nomlangan, chunki ular haqiqiy san'at asarlari edi. "Tracer" yoki draughtspers tomonidan yopishqoq qora krep -lenta yordamida ikki marta to'liq hajmda yaratilgan va fotosurat trafaretlarga qarshilik ko'rsatishi uchun fab uy tomonidan suratga olingan.

O'chirish sxemalari ham izdoshlar tomonidan yaratilgan va sizning dizayningizdan qo'l bilan chizilgan. Nusxalar foto-statik tarzda bajarilgan va "ko'k bosma" deb nomlangan. Chunki ular doimo ko'k rangda edi.

Mikrokontrolderlar faqat bolaligida edi va odatda sizning kompaniyangiz unga hamrohlik qiladigan murakkab va qimmat rivojlanish muhitiga ega bo'la oladigan bo'lsa, odatda taqlid qilingan.

O'sha paytda ishlab chiqaruvchi sifatida, dasturiy ta'minotni ishlab chiqish asboblari zanjirining narxi juda katta edi, siz muqarrar ravishda olti burchakli qiymatlarni to'g'ridan -to'g'ri EPROM -ga kiritishga majbur bo'ldingiz (agar siz juda omadli bo'lsangiz, RAM/Flash), keyin nima bo'lishini aniqlash uchun natijali xulq -atvorni talqin qilishingiz kerak edi. agar sizning kodingiz kutilganidek ishlamayotgan bo'lsa (bit "qimirlash" yoki ketma -ket chop etish eng mashhur disk raskadrovka texnikasi. Ba'zi narsalar hech qachon o'zgarmaydi). Odatda siz o'zingizning barcha kutubxonalaringizni yozishingiz kerak edi, chunki ularning hech biri yo'q edi (albatta, Internet kabi boy manba yo'q edi).

Bu shuni anglatadiki, siz ko'p vaqtingizni biror narsaning qanday ishlashini tushunishga harakat qildingiz va ijodkorlik uchun kamroq vaqt sarfladingiz.

Sizning barcha diagrammalaringiz odatda A4 yoki A3 formatida qo'l bilan chizilgan va ularni yaxshilab o'ylab, chapdan o'ngga signal yo'lining mantiqiy oqimini berishi kerak edi. Tuzatishlar odatda yangi varaqdan boshlash kerakligini bildiradi.

Ko'pincha sizning yakuniy sxemangiz doimiylik uchun veroboard yordamida ishlab chiqilgan va unga "professional teginish" berish uchun oddiy ABS korpusiga o'rnatilgan.

To'liq farqli o'laroq, men butun loyihani 5,5 kun ichida yuqori sifatli bepul dasturiy ta'minot yordamida ishlab chiqdim, natijada professional standart PCB paydo bo'ldi. Agar xohish meni qabul qilganida edi, men uni o'zim tayyorlagan 3D bosilgan qutiga o'rnatishim mumkin edi.

Siz o'n yildan kamroq vaqt oldin orzu qilgan narsangiz.

Vaziyat qanday yaxshi tomonga o'zgardi.

6 -qadam: Ishlatilgan adabiyotlar

KiCAD sxematik suratga olish va tenglikni dizayni

KiCAD EDA

Arduino ORG dasturiy ta'minot ishlab chiqish vositasi

Arduino

LiquidCrystal_I2C_PCF8574 Arduino kutubxonasi

Bu yerda

MCP4561_DIGI_POT Arduino kutubxonasi

Bu yerda

ATTiny85 yordamida PWM LEDining silliq o'chishi

Bu yerda

ATTiny85, ATTiny84 va ATMega328P dasturlash: ISP sifatida Arduino

Tavsiya: