Mundarija:
Video: I2C: 4 bosqichli 16x2 LCD displeydan foydalaning
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Oldingi Instructable -ning birida men sizga Arduino Uno -ga LCD -ni qanday ulash va ulashni va undagi qiymatlarni ko'rsatishni ko'rsatdim. Ammo kuzatilganidek, ulanishlar juda ko'p edi va agar loyiha juda ko'p simlar tufayli buzila boshlasa.
Ushbu ko'rsatmada men sizga LCD -ni I2C -ga qanday ulashni ko'rsataman, u faqat LCD -ni boshqarish va ishlatish uchun 4 ta pinli bo'ladi. Shunday qilib, boshlaylik.
1 -qadam: zarur komponentlar
Ushbu loyiha uchun sizga kerak bo'ladi:
- Arduino Uno
- 16x2 LCD displey
- 16x2 LCD displey uchun I2C
- O'rnatish simlari
Bularning barchasi bilan ulanishlar qismiga o'tamiz.
2 -qadam: ulanishlar
Rasmlarga qarang va ulanishlarni yarating. Bu juda oddiy, faqat LCD portlariga I2C -ni ulang va uni joyiga lehimlang. Keyin SCL pinini Arduino -dagi A4 piniga va SDA pinini Arduino -dagi A5 piniga ulang.
Men I2C -ni lehimlamayman, chunki men LCD -da sarlavhali pinlarni lehimlaganman. Ammo men I2C -ni LCD -ga lehimlashni taklif qilaman
3 -qadam: kod
Arduino IDE -ga kiritilgan LCD I2C master kutubxonasi mavjud. Lekin undagi kod bilan ozgina muammo bor. Bu kutubxonadagi barcha misollar I2C standart manzilini 0x27 deb qabul qiladi. Shunday qilib, birinchi navbatda, bizning I2C manzilimiz nima ekanligini aniqlashimiz kerak. Buni I2C skaner kodi yordamida qilishimiz mumkin. Bizda I2C manzili bo'lsa, biz bu qiymatni misol kodiga almashtirib, undan foydalanishni boshlashimiz mumkin.
I2C skaner kodi:
#qo'shing
void setup () {Wire.begin (); Serial.begin (9600); while (! Seriyali); // ketma -ket monitorni kuting Serial.println ("\ nI2C skaneri"); } void loop () {bayt xato, manzil; int nDevices; Serial.println ("Tekshirilmoqda…"); nDevices = 0; uchun (manzil = 1; manzil <127; manzil ++) {// i2c_scanner // qurilmaning manzilni tan olganligini bilish uchun // Write.endTransmisstion ning qaytish qiymatidan foydalanadi. Wire.beginTransmission (manzil); xato = Wire.endTransmission (); if (xato == 0) {Serial.print ("0x manzilida I2C qurilmasi topilgan"); if (manzil <16) Serial.print ("0"); Serial.print (manzil, HEX); Serial.println ("!"); nDevices ++; } if if (error == 4) {Serial.print ("0x manzilidagi noma'lum xato"); if (manzil <16) Serial.print ("0"); Serial.println (manzil, HEX); }} if (nDevices == 0) Serial.println ("I2C qurilmalari topilmadi / n"); else Serial.println ("bajarildi / n"); kechikish (5000); // keyingi ko'rish uchun 5 soniya kuting}
Misol kodi (Serial monitorga kiritilgan belgilarni ko'rsatish uchun):
#qo'shing #qo'shing
LiquidCrystal_I2C lcd (0x3F, 20, 4); // 16 ta belgi va 2 qatorli displey uchun LCD manzilni 0x27 ga o'rnating
bo'sh o'rnatish ()
{lcd.init (); // lcd lcd.backlight () ni ishga tushirish; Serial.begin (9600); }
bo'sh halqa ()
{// belgilar ketma -ket port orqali kelganda … if (Serial.available ()) {// butun xabar kelishini biroz kuting (100); // ekranni tozalash lcd.clear (); // mavjud bo'lgan barcha belgilarni o'qing (Serial.available ()> 0) {// har bir belgini LCD lcd.write (Serial.read ()) da ko'rsatish; }}}
4 -qadam: Chiqish
Kodni yuklaganingizdan so'ng, siz borishga tayyormiz. Bu ko'rsatma uchun men ketma -ket chop etish kodini oldim. Endi kodni yuklaganingizdan so'ng, Serial monitorni oching va so'zni kiriting va "yuborish" tugmasini bosing. Endi siz ushbu qiymatni LCD displeyda ko'rishingiz kerak.
Tavsiya:
Bosqichli motorli boshqariladigan lokomotiv modeli - Bosqichli motor aylanadigan kodlovchi sifatida: 11 qadam (rasmlar bilan)
Bosqichli motorli boshqariladigan lokomotiv modeli | Bosqichli dvigatel aylanuvchi kodlovchi sifatida: Oldingi ko'rsatmalarni birida biz step motorini aylanuvchi kodlovchi sifatida ishlatishni o'rgandik. Ushbu loyihada biz Arduino mikrokontrolleridan foydalanib, lokomotiv modelini boshqarish uchun aylanadigan aylanadigan enkoderdan foydalanamiz. Shunday qilib, fu holda
Eski LCD displeydan yorug'lik ekranini yarating: 5 qadam
Eski LCD displeydan yorug'lik ekranini yarating: Hammaga salom, bu eski LCD displeyni ajratib, keyin o'zgartirish orqali Lightscreen -ni (Orqa nuri) qanday yasash bo'yicha qo'llanma. Agar sizda eski/singan LCD displey bo'lsa, bu juda amaliy. jus o'rniga undan foydali narsa tayyorlang
Bosqichli dvigatel bilan boshqariladigan step motor - Bosqichli motor aylanadigan kodlovchi sifatida: 11 qadam (rasmlar bilan)
Bosqichli dvigatel bilan boshqariladigan step motor | Bosqichli dvigatel aylanadigan kodlovchi sifatida: Bir nechta qadam dvigatellari yotib, biror narsa qilishni xohlayaptimi? Ushbu yo'riqnomada, Arduino mikrokontroller yordamida boshqa step motorining holatini nazorat qilish uchun qadamli motorni aylanuvchi kodlovchi sifatida ishlatamiz. Xo'sh, boshqa ko'p gapirmasdan, keling
I2C / IIC LCD displeyi - Arduino bilan SPI -IIC moduli yordamida I2C LCD displeyiga SPI LCD -dan foydalaning: 5 qadam
I2C / IIC LCD displeyi | IUC LCD displeyiga SPI LCD displeyidan Arduino yordamida IIC modulidan IIC modulidan foydalaning: Salom bolalar, chunki oddiy SPI LCD 1602 -da ulanish uchun simlar juda ko'p, shuning uchun uni arduino bilan ulash juda qiyin, lekin bozorda bitta modul mavjud. SPI displeyini IIC displeyiga aylantiring, shunda siz faqat 4 ta simni ulashingiz kerak
Loyihangizni qadrlang: Grafik displeydan foydalaning !: 14 qadam
Loyihangizni qadrlang: Grafik displeydan foydalaning !: Bugungi videomizda men sizga 1,8 dyuymli TFT displeyini ko'rsataman. Bu 128 dan 160 gacha grafik displey. Bu ESP32 LoRa -ga qaraganda kattaroqdir va men uni an'anaviy ESP32 -da ishlatishni ham ko'rsataman. Keyin biz yig'ish va manbaga ega bo'lamiz