Maqolada biz 1602 suyuq kristalli displeyni FC-113 I2C moduli bilan Arduino-ga ulaymiz, shu sababli ulanish faqat ikkita ma'lumot simlari va ikkita quvvat simlari yordamida amalga oshiriladi.
Bu zarur
- - Arduino;
- - LCD 1602 displeyi (16 belgi, 2 qator);
- - FC-113 I2C adapteri;
- - simlarni ulash.
Ko'rsatmalar
1-qadam
FC-113 moduli PCF8574T mikrosxemasiga asoslangan bo'lib, u 8-bitli siljish registri - I2C seriyali avtobus uchun I / O kengaytiruvchisi. Rasmda mikrosxem DD1 deb belgilangan.
R1 - bu LCD-ning kontrastini sozlash uchun qisqartiruvchi qarshilik.
Jumper J1 displey orqa nuri yoqish uchun ishlatiladi.
1… 16 pinlari modulni LCD displey pinlariga ulash uchun ishlatiladi.
I2C moslamasining manzilini o'zgartirish uchun A1 … A3 aloqa maydonchalari kerak. Tegishli o'tish moslamalarini lehimlash orqali siz qurilma manzilini o'zgartirishingiz mumkin. Jadvalda manzillar va jumperlarning yozishmalari ko'rsatilgan: "0" ochiq elektronga, "1" - o'rnatilgan o'tish moslamasiga to'g'ri keladi. Odatiy bo'lib, qurilma manzili 0x27, ya'ni. barcha uchta o'tish moslamalari ochiq.
2-qadam
Modul Arduino-ga I2C avtobus uchun standart sifatida ulangan: modulning SDA pimi analog A4 portiga, SCL pimi Arduino-ning analog A5 portiga ulangan. Modul Arduinodan + 5V quvvat bilan ishlaydi. Modulning o'zi 1 … 16 pinlari bilan LCD displeyidagi mos keladigan 1 … 16 pinlari bilan ulanadi.
3-qadam
Endi I2C interfeysi orqali LCD-lar bilan ishlash uchun kutubxona kerak. Siz foydalanishingiz mumkin, masalan: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code ("Namuna kodi va kutubxonasini yuklab olish" qatoridagi havola).
Yuklangan arxiv "LiquidCrystal_I2Cv1-1.rar" Arduino IDE katalogida joylashgan "\ libraries " jildiga ochildi.
Kutubxona LCD ekranlar uchun standart funktsiyalar to'plamini qo'llab-quvvatlaydi:
LiquidCrystal () - LiquidCrystal turidagi o'zgaruvchini yaratadi va ekranga ulanish parametrlarini (pin raqamlari) qabul qiladi, begin () - LCD displeyni ishga tushirish, parametrlarni sozlash (qatorlar va belgilar soni);
Clear () - ekranni tozalang va kursorni dastlabki holatiga qaytaring;
home () - kursorni dastlabki holatiga qaytarish;
setCursor () - kursorni belgilangan joyga o'rnatish;
write () - belgini LCD displeyda aks ettiradi;
print () - matnni LCD displeyda aks ettiradi;
kursor () - kursorni ko'rsatadi, ya'ni. keyingi belgi joyining ostiga chizish;
noCursor () - kursorni yashiradi;
blink () - miltillovchi kursor;
noBlink () - miltillashni bekor qilish;
noDisplay () - barcha ko'rsatilgan ma'lumotlarni saqlash paytida displeyni o'chirish;
display () - barcha ko'rsatilgan ma'lumotlarni saqlash paytida displeyni yoqing;
scrollDisplayLeft () - displey tarkibini chap tomonga 1 holatiga o'tkazing;
scrollDisplayRight () - displey tarkibini o'ng tomonga 1 pozitsiya bo'yicha aylantiring;
autoscroll () - avtoulovni yoqish;
noAutoscroll () - avtotransportni o'chirib qo'ying;
leftToRight () - matn yo'nalishini chapdan o'ngga o'rnatadi;
rightToLeft () - matnning yo'nalishi o'ngdan chapga;
createChar () - LCD ekran uchun maxsus belgi yaratadi.
4-qadam
Namunani ochamiz: Fayl -> Namunalar -> LiquidCrystal_I2C -> CustomChars va biroz takrorlang. Keling, xabarni namoyish qilaylik, uning oxirida miltillovchi belgi bo'ladi. Eskizning barcha nuanslari kodga sharhlarda sharhlanadi.
5-qadam
Keling, LCD ekranlar uchun o'zingizning belgilaringizni yaratish masalasini batafsil ko'rib chiqaylik. Ekrandagi har bir belgi 35 punktdan iborat: 5 ta kenglik va 7 ta balandlik (+1 ajratilgan chiziq ostida). Yuqoridagi eskizning 6-qatorida biz 7 ta qatorni o'rnatdik: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Olti burchakli raqamlarni ikkilikka o'tkazaylik: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Ushbu raqamlar belgining 7 satrining har biri uchun bit maskalaridan boshqa narsa emas, bu erda "0" yorug'lik nuqtasini va "1" qorong'u nuqtani bildiradi. Masalan, rasmda ko'rsatilgandek, ekranda bit maskasi sifatida ko'rsatilgan yurak belgisi paydo bo'ladi.
6-qadam
Eskizni Arduino-ga yuklang. Ekranda biz ko'rsatgan yozuv oxirida miltillovchi kursor bilan ko'rsatiladi.