2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Əvvəlki Təlimatlardan birində, Arduino Uno -ya bir LCD -ni necə bağlayacağınızı və üzərindəki dəyərləri necə göstərəcəyinizi göstərdim. Ancaq müşahidə edildiyi kimi, bir çox əlaqə var idi və çox tellər səbəbiylə layihə çox qarışıqlaşmağa başladı.
Bu Təlimat kitabında, LCD -ni idarə etmək və istifadə etmək üçün yalnız 4 pinli bir I2C -yə bir LCD -nin necə bağlanacağını göstərəcəyəm. Beləliklə, başlayaq.
Addım 1: Tələb olunan komponentlər
Bu layihə üçün sizə lazım olacaq:
- Arduino Uno
- 16x2 LCD
- 16x2 LCD üçün I2C
- Bağlama telləri
Bütün bunlarla birlikdə əlaqə hissəsinə daxil olaq.
Addım 2: Bağlantılar
Şəkillərə baxın və əlaqələr qurun. Bu olduqca sadədir, yalnız LCD portlarına I2C -ni qoşmalı və yerinə lehimləməlisiniz. Sonra SCL pinini Arduino üzərindəki A4 pininə və SDA pinini Arduino üzərindəki A5 pininə bağlayın.
LCD -də başlıq pinlərini lehim etdiyim üçün I2C -ni lehimləmirəm. Ancaq LCD -də I2C -ni lehimləməyi təklif edərdim
Addım 3: Kod
Arduino IDE -yə daxil edilmiş LCD I2C master kitabxanası var. Ancaq içindəki kodda kiçik bir problem var. Bu kitabxanadakı bütün nümunələr I2C -nin standart ünvanını 0x27 olaraq qəbul edir. Beləliklə, əvvəlcə I2C -nin ünvanının nə olduğunu öyrənməliyik. Bunu I2C skaner kodundan istifadə edərək edə bilərik. I2C ünvanına sahib olduqdan sonra bu dəyəri nümunə kodda əvəz edə və istifadə etməyə başlaya bilərik.
I2C Skaner Kodu:
#daxil edin
void setup () {Wire.begin (); Serial.begin (9600); while (! Serial); // Serial.println ("\ nI2C Skaner") seriyalı monitoru gözləyin; } void loop () {bayt xətası, ünvan; int nDevices; Serial.println ("Taranır…"); nDevices = 0; for (address = 1; address <127; address ++) {// i2c_scanner // bir cihazın ünvanı qəbul edib -etmədiyini görmək üçün // Write.endTransmisstionun qaytarılma dəyərindən istifadə edir. Wire.beginTransmission (ünvan); səhv = Wire.endTransmission (); if (səhv == 0) {Serial.print ("0x ünvanında I2C cihazı tapıldı"); əgər (ünvan <16) Serial.print ("0"); Serial.print (ünvan, HEX); Serial.println ("!"); nDevices ++; } if if (error == 4) {Serial.print ("0x ünvanında naməlum səhv"); əgər (ünvan <16) Serial.print ("0"); Serial.println (ünvan, HEX); }} if (nDevices == 0) Serial.println ("I2C cihazı tapılmadı / n"); else Serial.println ("bitmiş / n"); gecikmə (5000); // növbəti tarama üçün 5 saniyə gözləyin}
Nümunə Kodu (Serial Monitorda daxil edilmiş simvolları göstərmək üçün):
#daxil edin #daxil edin
LiquidCrystal_I2C lcd (0x3F, 20, 4); // 16 simvol və 2 sətirli ekran üçün LCD ünvanını 0x27 olaraq təyin edin
boş quraşdırma ()
{lcd.init (); // lcd lcd.backlight () işə salın; Serial.begin (9600); }
boşluq döngəsi ()
{// simvollar seriya limanı üzərindən gəldikdə… if (Serial.available ()) {// bütün mesajın gecikməsini (100) gəlməsini bir az gözləyin; // ekranı təmizləyin lcd.clear (); // (Serial.available ()> 0) {// hər simvolu lcd.write (Serial.read ()) LCD -də göstərərkən bütün mövcud simvolları oxuyun; }}}
Addım 4: Çıxış
Kodu yüklədikdən sonra getməyə hazırsınız. Bu Təlimat üçün Serial Çap Kodundan nümunə götürdüm. İndi kodu yüklədikdən sonra Serial Monitoru açın və bir söz yazın və "göndər" düyməsini basın. İndi bu dəyərin LCD -də göstərildiyini görməlisiniz.