Mündəricat:

I2C: 4 Addımlı 16x2 LCD istifadə edin
I2C: 4 Addımlı 16x2 LCD istifadə edin

Video: I2C: 4 Addımlı 16x2 LCD istifadə edin

Video: I2C: 4 Addımlı 16x2 LCD istifadə edin
Video: Arduino 64 Step Sequencer с минимальным аппаратным обеспечением, адаптированный из Drum Sequencer 2024, Noyabr
Anonim
I2C ilə 16x2 LCD istifadə edin
I2C ilə 16x2 LCD istifadə edin
I2C ilə 16x2 LCD istifadə edin
I2C ilə 16x2 LCD istifadə edin
I2C ilə 16x2 LCD istifadə edin
I2C ilə 16x2 LCD istifadə edin

Ə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

Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
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

Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr

Şə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ış

Çıxış
Çıxış
Çıxış
Çı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.

Tövsiyə: