Mündəricat:
- Addım 1: Dövrə Baxış
- Addım 2: PCB istehsalı
- Addım 3: Proqram təminatına ümumi baxış
- Addım 4: Dizaynı sınayın
- Addım 5: Nəticə
- Addım 6: İstifadə olunan istinadlar
Video: Uber I2C LCD Nəzarətçi Modulu: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Giriş
Bu HD44780 LCD əsaslı nəzarətçi modulunun necə yaradılacağını izah edir (yuxarıdakı şəkil 1). Modul istifadəçiyə LCD -nin bütün aspektlərini I2C üzərindən proqramlı olaraq idarə etməyə imkan verir; LCD və ekran, kontrast və arxa işıq intensivliyi. Arduino Uno R3 prototip etmək üçün istifadə edilsə də, I2C dəstəkləyən hər hansı bir mikro nəzarətçi ilə eyni dərəcədə yaxşı işləyəcək.
Giriş
Yuxarıda qeyd edildiyi kimi, bu məqalə I2C LCD Nəzarət Modulunun yaradılmasını sənədləşdirir, bu, ilk növbədə praktiki işləyən bir PCB yaratmaq üçün nə qədər vaxt lazım olacağını təyin etmək üçün dizayn məşqi olaraq hazırlanmışdır.
Dizayn, standart ümumi nəzarətçi modulunu (yuxarıdakı şəkil 3) əvəz edir və əvvəllər hazırladığım Təlimatlara və kitabxanalara əsaslanır.
İlkin konsept prototipindən (yuxarıdakı şəkil 2) tamamlanmış, tam sınaqdan keçirilmiş PCB -yə (yuxarıdakı şəkil 1) qədər cəmi 5.5 gün çəkdi.
Hansı hissələrə ehtiyacım var? Aşağıda əlavə edilmiş materiallara baxın
Hansı proqrama ehtiyacım var?
- Arduino IDE 1.6.9,
- PCB -ni dəyişdirmək istəyirsinizsə Kicad v4.0.7. Əks halda JLCPCB -ə 'LCD_Controller.zip' göndərin.
Hansı vasitələrə ehtiyacım var?
- Mikroskop ən azı x3 (SMT lehimləmə üçün),
- SMD lehimləmə dəmiri (maye axını qələmi və özlü lehimlə),
- Güclü cımbızlar (SMT lehimləmə üçün),
- İncə kəlbətinlər (burunlu və burunlu),
- Səsli davamlılıq yoxlamalı DMM.
Hansı bacarıqlara ehtiyacım var?
- Çox səbr,
- Çox əl bacarıqları və əla əl/göz koordinasiyası,
- Əla lehimləmə bacarıqları.
Mövzular əhatə olunur
- Giriş
- Dövrə Baxış
- PCB istehsalı
- Proqrama Baxış
- Dizaynın sınanması
- Nəticə
- İstifadə olunan istinadlar
Addım 1: Dövrə Baxış
Bütün elektronikanın tam bir dövrə diaqramı yuxarıdakı şəkil 1 -də, eyni PDF ilə birlikdə verilmişdir.
Dövrə, aşağıdakı təkmilləşdirmələri olan standart PCF8574A I2C LCD Nəzarətçi Modulunun tam əvəz edilməsi üçün hazırlanmışdır;
- I2C istifadəçi tərəfindən seçilə bilən 3v3 və ya 5v uyğunluğu,
- Rəqəmsal kontrast nəzarəti və ya şərti qazan ayarı,
- Rəngsiz solmaya nail olmaq üçün Quartic yumşaltma funksiyası ilə dəyişkən arxa işıq intensivliyi seçimi.
LCD displeyə nəzarət
Bu, I2C -ni paralel çevirmək üçün PCF8574A (IC2) istifadə edən standart I2C LCD Nəzarət Modulunun faksimileidir.
Bunun üçün standart I2C ünvanı 0x3F -dir.
3v3 və ya 5v I2C uyğunluğu
3v3 əməliyyat üçün Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 və C2 uyğun gəlir.
5v əməliyyat tələb olunarsa, heç bir 3v3 komponentinə uyğun gəlmir, onları 0 Ohm rezistorlar ROpt 3 və 4 ilə əvəz edin.
Rəqəmsal kontrast
Rəqəmsal kontrasta nəzarət U2 MCP4561-103E/MS və C4, R5 rəqəmsal potansiometrinin istifadəsi ilə əldə edilir.
Adi bir mexaniki potansiyometr tələb olunarsa, U2, C4 və R5 əvəzinə PCB, RV1 10K quraşdırıla bilər. Uyğun potansiyometr üçün BoM -a baxın.
J6 tullanan körpü ilə I2C ünvanı 0x2E -dir. Normal iş üçün bu körpüdür.
Dəyişən arxa işıq intensivliyi seçimi
Dəyişən arxa işıq intensivliyi UD pin 6 və ATTiny85 vasitəsilə LCD LED arxa işığın PWM modulyasiyası ilə idarə olunur. Standart I2C LCD Nəzarətçi Modulu ilə tam uyğunluğu qorumaq üçün R1, T1 R7 və T2 +təchizat rayını modulyasiya etmək üçün istifadə olunur.
Bunun üçün standart I2C ünvanı 0x08 -dir. Bu, U1 proqramlaşdırılmasından əvvəl tərtib zamanı istifadəçi tərəfindən seçilə bilər.
Addım 2: PCB istehsalı
Daha əvvəl qeyd edildiyi kimi, bu Təlimat, ilk növbədə bir dizaynı (praktiki məqsədi olan) başa çatdırmağın nə qədər vaxt aparacağını təyin etmək üçün hazırlanmış bir məşq idi.
Bu vəziyyətdə, ilk konsepsiyanı şənbə günü günortadan sonra düşündüm və prototipi Şənbə axşamı şəkil 1 -də tamamladım. Dediyim kimi, I2C üzərində LCD -nin tam proqramlı idarəetməsini təklif edən, eyni ayaq izi olan I2C LCD nəzarətçi modulunun öz variantını yaratmaq idi.
Şematik diaqram və PCB düzeni Kicad v4.0.7 pics 2 və 3 ilə hazırlanmışdır. Bu, bazar günü günortadan sonra tamamlandı və hissələr Farnell -dən sifariş edildi və PCB, Bazar axşamına qədər JLCPCB -yə yükləndi.
Komponentlər Çərşənbə günü Farneldən gəldi, sonra Cümə axşamı günü JLCPCB -dən PCB -lər gəldi (işləri sürətləndirmək üçün DHL çatdırılma xidmətindən istifadə etdim) şəkillər 4, 5, 6 və 7.
Cümə axşamı axşamına qədər iki lövhə (3v3 və 5v variantları) 4 -dən 20 -dək LCD ekranda quruldu və uğurla sınaqdan keçirildi. Şəkillər 8, 9 və 10.
İlk konsepsiyadan tamamlanana qədər inanılmaz 5.5 gün.
JLCPCB -nin bir sifariş ala bilməsi, iki tərəfli PTH PCB istehsal etməsi və İngiltərəyə göndərə bilməsi məni təəccübləndirir. İstehsal üçün 2 gün, çatdırılmaq üçün 2 gün. Bu, İngiltərədəki PCB istehsalçılarından daha sürətli və qiymətinin bir hissəsidir.
Addım 3: Proqram təminatına ümumi baxış
I2C LCD nəzarətçi modulunu idarə etmək üçün lazım olan proqramın üç əsas komponenti var;
1. LiquidCrystal_I2C_PCF8574 Arduino Kitabxanası
Burada mövcuddur
LCD ekranı idarə etmək üçün Arduino eskizinizdə istifadə ediləcək.
Qeyd: Bu, Ümumi I2C LCD Modul Denetleyicisi ilə eyni dərəcədə yaxşı işləyir. Yalnız digər kitabxanalara nisbətən funksionallıq verir.
2. MCP4561_DIGI_POT Arduino Kitabxanası
Eskizinizdə LCD kontrastını proqramlı şəkildə idarə etmək üçün istifadə ediləcək
Burada mövcuddur
3. Hamar solmaya nail olmaq üçün PWM və Quartic yumşaltma funksiyasından istifadə edərək LCD arxa işıq səviyyələrinin proqramlı nəzarəti
Daha əvvəl qeyd edildiyi kimi, lövhədə ekranın arxa işığının tədricən sönməsini idarə etmək üçün istifadə olunan tək bir ATTiny85 var.
Bu proqramın təfərrüatları daha əvvəl göstərişli 'ATTiny85 ilə Hamar PWM LED Solması' verilmişdir.
Bu halda son PCB ölçülərini ümumi bir LCD nəzarət modulu ilə eyni saxlamaq üçün ATICT58 -in SOIC variantı seçildi. Şəkillər 1 və 2 ATTiny85 SOIC -in prototipdə necə proqramlaşdırıldığını və sınaqdan keçirildiyini göstərir.
ATTiny85 -də proqramlaşdırılmış kod 'Tiny85_I2C_Slave_PWM_2.ino' idi
Öz ATTiny85 proqramçınızı necə yaratmağınızla bağlı ətraflı məlumat üçün bu ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: Arduino ISP olaraq baxın
Addım 4: Dizaynı sınayın
Dizaynı sınamaq üçün istifadəçiyə hər hansı bir LCD xüsusi parametrini birbaşa seriyalı terminal bağlantısı üzərindən təyin etməyə imkan verən 'LCDControllerTest.ino' adlı eskiz yaratdım.
Eskizi GitHub depom I2C-LCD-Controller-Modulumda tapa bilərsiniz
Yuxarıdakı Şəkil 1, test ölçüsünü ilk dəfə işləyərkən 4x20 LCD və şəkil 2 ilə təchiz edilmiş 5v I2C uyğun lövhə presini göstərir.
Arxa işıq və kontrast üçün aşağıdakı standart dəyərləri istifadə edir;
- #DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((imzasız uzun) (10))
- #DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))
Ehtiyatda yatdığım 4 -dən 20 -ə qədər LCD displey ilə bunların yaxşı işlədiyini gördüm.
Addım 5: Nəticə
Bir müddət əvvəl elektronika/proqram sənayesinə ilk dəfə başladığımda, səhv etmisinizsə, son dövrədə çoxlu mühəndislik ilə prototip yaratmaq üçün tel sarma və ya veroboard quruluşunun istifadəsinə böyük diqqət yetirilirdi., lövhənin yenidən fırlanmasının dəyəri və müddəti nəzərə alınmaqla.
Bir səhv ümumiyyətlə cədvəl üzrə bir neçə həftəyə başa gəlir və mənfəət marjını (və bəlkə də işinizi) uçurdu.
PCB -lər "sənət əsərləri" adlanırdı, çünki onlar həqiqətən sənət əsərləri idi. Bir "izləyici" və ya draughtsperson tərəfindən yapışqan qara krep lentdən istifadə edərək iki dəfə tam ölçüdə yaradıldı və fotoşəkilin trafaretlərə müqavimət göstərməsi üçün fab evi tərəfindən fotoşəkildə kiçildildi.
Dövrə diaqramları da izləyicilər tərəfindən yaradılmış və dizayn qeydlərinizdən əllə çəkilmişdir. Nüsxələr foto-statik olaraq edildi və "mavi izlər" adlandı. Çünki onlar həmişə mavi rəngdə idi.
Mikro nəzarətçilər yalnız körpəlikdə idi və şirkətinizin müşayiət olunan kompleks və bahalı inkişaf mühitinə sahib ola biləcəyi təqdirdə, ümumiyyətlə dövrə bənzəyirdi.
O vaxt bir istehsalçı olaraq, proqram inkişaf etdirmə alətləri zəncirinin dəyəri çox böyük idi, istər -istəməz EPROM -a (çox şanslı olsanız RAM/Flash) altıbucaqlı dəyərlər atmağa məcbur oldunuz və sonra nəyi müəyyən etmək üçün nəticələnən davranışı şərh etmək üçün saatlar sərf etdiniz. kodunuz gözlənildiyi kimi işləməsəydi (bit "tərpənmək" və ya serial çapı ən populyar debug üsullarıdır. Bəzi şeylər heç vaxt dəyişmir). Ümumiyyətlə, öz kitabxanalarınızı heç biri olmadığından yazmalı idiniz (şübhəsiz ki, internet kimi zəngin bir mənbə yox idi).
Bu, bir şeyin necə işlədiyini başa düşmək üçün çox vaxt sərf etməyiniz və yaradıcılıq etmək üçün daha az vaxt sərf etməyiniz deməkdir.
Bütün diaqramlarınız adətən A4 və ya A3 -də əllə tərtib edilmişdi və hərtərəfli düşünülməli idi ki, bu da onlara soldan sağa bir siqnal yolunun məntiqi axını verirdi. Düzəlişlər ümumiyyətlə təzə bir vərəqlə başlamağınız lazım olduğunu bildirir.
Çox vaxt son dövrə davamlılıq üçün veroboarddan istifadə edilərək hazırlanmışdır və buna 'professional toxunma' vermək üçün sadə bir ABS korpusuna quraşdırılmışdır.
Tam əksinə olaraq, bütün standart layihəni peşəkar standart PCB ilə nəticələnən yüksək keyfiyyətli pulsuz proqramlardan istifadə edərək 5.5 gün ərzində hazırladım. Arzu məni alsaydı, özüm hazırladığım 3D çaplı bir qutuya yerləşdirə bilərdim.
Yalnız on ildən az bir müddət əvvəl xəyal edə biləcəyiniz bir şey.
İşlərin yaxşılığa doğru necə dəyişdiyi.
Addım 6: İstifadə olunan istinadlar
KiCAD Şematik çəkmə və PCB dizaynı
KiCAD EDA
Arduino ORG Proqram İnkişaf etdirmə Aləti
Arduino
LiquidCrystal_I2C_PCF8574 Arduino Kitabxanası
Burada
MCP4561_DIGI_POT Arduino Kitabxanası
Burada
ATTiny85 ilə Hamar PWM LED Solması
Burada
ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: ISP olaraq Arduino
Tövsiyə:
I2C / IIC LCD Ekran - Arduino ilə SPI -IIC Modulundan istifadə edərək I2C LCD Ekranına SPI LCD istifadə edin: 5 addım
I2C / IIC LCD Ekran | Arduino ilə SPI -dən IIC Modulundan istifadə edərək I2C LCD Ekranına SPI LCD -dən istifadə edin: Salam uşaqlar normal SPI LCD 1602 -yə qoşulmaq üçün çoxlu tellər olduğundan arduino ilə əlaqə qurmaq çox çətindir, ancaq bazarda bunu edə biləcək bir modul var. SPI ekranını IIC ekrana çevirin, buna görə yalnız 4 tel bağlamalısınız
I2C Sırt Çantalı 1602 LCD Klaviatura Qalxan Modulu: 6 addım
I2C Sırt Çantalı 1602 LCD Klaviatura Qalxan Modulu: Daha böyük bir layihənin bir hissəsi olaraq, bir LCD ekrana və bəzi sadə menyularda naviqasiya üçün klaviatura sahibi olmaq istəyirdim. Başqa işlər üçün Arduino'da bir çox G/Ç portundan istifadə edəcəyəm, buna görə də LCD üçün I2C interfeysi istədim. Buna görə bir az avadanlıq aldım
I2C Modulu ilə LCD Sürmə: 8 addım
I2C Modulu ilə LCD Sürmə: Bu təlimatda LCD ekranın necə işlədiyini və I2C modulu ilə daha asan necə istifadə ediləcəyini görəcəyik
I2C / IIC LCD Ekran - Bir SPI LCD -ni I2C LCD Ekrana çevirin: 5 addım
I2C / IIC LCD Ekran | Bir SPI LCD -ni I2C LCD Ekranına çevirin: spi lcd displeydən istifadə etmək üçün çoxlu əlaqə lazımdır, bunu etmək çətindir, buna görə də i2c lcd -i spi lcd -ə çevirə bilən bir modul tapdım, buna görə başlayaq
E32-433T LoRa Modulu Dərsliyi - E32 Modulu üçün DIY Breakout Board: 6 addım
E32-433T LoRa Modulu Dərsliyi | E32 Modulu üçün DIY Breakout Board: Hey, nə var, uşaqlar! Akarsh burada CETech-dən. Mənim bu layihəm, yüksək gücə malik 1 vatlıq ötürücü modulu olan eByte-dən E32 LoRa modulunun işini başa düşmək üçün daha çox öyrənmə əyrisidir. İşi başa düşdükdən sonra dizaynım var