O‘ZBEKISTON RESPUBLIKASI
RAQAMLI TEXNOLOGIYALARI VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
“O‘rnatilgan tizimlar”
fanidan
LABORATORIYA
TOPSHIRIQ №4
Bajardi: 211-20-guruh talabasi Karimova Gavhar
Qabul qildi: Jurayev D.B.
Toshkent 2023
24-variant
https://wokwi.com/projects/366710167457317889
2 qatorli LCD displey, har bir satrda 16 ta belgi.
LCD1602 ikkita mumkin konfiguratsiyada keladi: I2C konfiguratsiyasi va standart konfiguratsiya. I2C konfiguratsiyasidan foydalanish odatda osonroq.
Quyidagi jadval asosiy farqlarni umumlashtiradi:
Orqa yorug'likni boshqarish uchun boshqa I/U pin kerak.
Atributni o'rnatish orqali kerakli konfiguratsiyani tanlashingiz mumkin pins. I2C konfiguratsiyasi uchun uni "i2c" yoki standart konfiguratsiya uchun "to'liq" (standart) ga sozlang.
LCD1602 modulining standart I2C manzili 0x27. i2c-addressAtributni o'rnatish orqali manzilni o'zgartirishingiz mumkin .
Eslatma: I2C konfiguratsiyasi LCD modulini boshqaradigan PCF8574T chipini simulyatsiya qiladi. Odatda, bu haqda tashvishlanishingiz shart emas, chunki LiquidCrystal_I2C kutubxonasi chip bilan aloqani o'rnatadi.
Bu faqat misol pin raqamlari, ular majburiy emas. Siz har qanday raqamli/analog pindan foydalanishingiz mumkin, lekin kodni shunga mos ravishda yangilaganingizga ishonch hosil qiling!
Odatda, siz chipni 4-bitli parallel rejimda sozlaysiz, ya'ni RS, E, D4, D5, D6 va D7 pinlarini Arduino-ga ulash kifoya.
Agar orqa yorug'likni boshqarish kerak bo'lsa, anodni kiritish/chiqarish piniga ulang. Aks holda, uni besleme kuchlanishiga ulang. Haqiqiy kontaktlarning zanglashiga olib kelishi uchun sizga oqim cheklovchi qarshilik ham kerak bo'ladi, lekin simulyatsiya muhitida uni o'tkazib yuborishingiz mumkin.
#include
#include
#define pin 7
#define turi DHT22
DHT harorat(pin,turi);
LiquidCrystal_I2C natija(0x27,16,2);
void setup() {
harorat.begin();
natija.init();
natija.backlight();
natija.clear();
}
void loop() {
int temp = harorat.readTemperature();
int namlik =harorat.readHumidity();
natija.setCursor(0,0);
natija.print("Harorat = ");
natija.setCursor(10,0);
natija.print(temp);
natija.setCursor(13,0);
natija.print("C");
natija.setCursor(0,1);
natija.print("Namlik = ");
natija.setCursor(10,1);
natija.print(namlik);
natija.setCursor(13,1);
natija.print("%");
}
|