Әрбір радиоәуесқой қарапайым DIY жұмысынан кейін сенсорлар мен түймелердің көмегімен керемет нәрсе жасау мақсатына келеді. Ақыр соңында, порт мониторына қарағанда деректерді дисплейде көрсету әлдеқайда қызықты. Бірақ содан кейін сұрақ туындайды: қандай дисплейді таңдау керек? Ал жалпы оны қалай қосуға болады, қосу үшін не қажет? Бұл сұрақтардың жауаптары осы мақалада талқыланады.
LCD 1602
Дисплейлер арасындағы көптеген опциялардың арасында мен HD4478 контроллеріне негізделген LCD1602 дисплейін ерекше атап өткім келеді. Бұл дисплей екі түсті: көк фонда ақ әріптер, сары фонда қара әріптер. LCD 1602-ні Arduino-ға қосу да ешқандай қиындық тудырмайды, өйткені кірістірілген кітапхана бар және сізге қосымша ештеңе жүктеп алудың қажеті жоқ. Дисплейлер бағасы бойынша ғана емес, көлемі бойынша да ерекшеленеді. Көбінесе радиоәуесқойлар 16 пайдаланадыx 2, яғни 16 таңбадан тұратын 2 жол. Бірақ сонымен қатар 20 х 4 бар, мұнда 20 таңбадан тұратын 4 жол бар. Өлшемдері мен түсі lcd 1602 дисплейін Arduno-ға қосуда ешқандай рөл атқармайды, олар бірдей қосылған. Көру бұрышы 35 градус, дисплейдің жауап беру уақыты 250 мс. -20-дан 70 градусқа дейінгі температурада жұмыс істей алады. Жұмыс кезінде ол экран үшін 4 мА және артқы жарық үшін 120 мА пайдаланады.
Ол қайда қолданылады?
Бұл дисплей радиоәуесқойлар арасында ғана емес, ірі өндірушілер арасында да танымал. Мысалы, принтерлер, кофе машиналары да LCD1602 пайдаланады. Бұл оның төмен бағасына байланысты, бұл дисплей қытайлық сайттарда 200-300 рубльді құрайды. Оны сол жерден сатып алған жөн, өйткені біздің дүкендерде бұл дисплейдің маржалары өте жоғары.
Arduino-ға қосылу
LCD 1602-ді Arduino Nano және Uno-ға қосудың еш айырмашылығы жоқ. Дисплеймен екі режимде жұмыс істеуге болады: 4 бит және 8. 8 разрядты дисплеймен жұмыс істегенде төменгі және жоғары разрядтар, ал 4 разрядтылармен тек төменгі разрядтар қолданылады. 8-битпен жұмыс істеудің ерекше мәні жоқ, өйткені қосылу үшін тағы 4 контакт қосылады, бұл ұсынылмайды, өйткені жылдамдық жоғары болмайды, дисплейді жаңарту шегі секундына 10 рет. Жалпы алғанда, lcd 1602-ні Arduino-ға қосу үшін көптеген сымдар пайдаланылады, бұл кейбір қолайсыздықтар тудырады, бірақ арнайы қалқандар бар, бірақ кейінірек бұл туралы көбірек. Фотосуретте дисплейдің Arduino Uno-ға қосылуы көрсетілген:
Код мысалы:
қосу //LiquidCrystal lcd(7, 6, 5, 4, 3, 2) қажетті кітапханасын қосыңыз; // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Экран өлшемін орнату lcd.setCursor(0, 0); // Курсорды 1-жолдың басына орнатыңыз lcd.print("Сәлем, әлем!"); // Мәтінді дисплей lcd.setCursor(0, 1); // Курсорды 2-жолдың басына қою lcd.print("fb.ru"); // Мәтінді шығару } void loop(){ }
Код не істейді? Ең алдымен дисплеймен жұмыс істеуге арналған кітапхана қосылған. Жоғарыда айтылғандай, бұл кітапхана Arduino IDE ішіне енгізілген және оны қосымша жүктеп алып, орнатудың қажеті жоқ. Әрі қарай, түйреуіштерге қосылған контактілер анықталады: сәйкесінше RS, E, DB4, DB5, DB6, DB7. Содан кейін экран өлшемі орнатылады. Біз 16 таңба және 2 жолдан тұратын нұсқамен жұмыс істеп жатқандықтан, біз осындай мәндерді жазамыз. Курсорды бірінші жолдың басына қойып, алғашқы мәтінді Hello World деп көрсетеміз. Содан кейін курсорды екінші жолға қойып, сайттың атын көрсетіңіз. Осымен болды! Arduino Uno жүйесіне lcd 1602 қосу қарастырылды.
I2C дегеніміз не және ол не үшін қажет?
Жоғарыда айтылғандай, дисплейді қосу үшін көп түйреуіш қажет. Мысалы, бірнеше сенсорлармен және СКД дисплеймен жұмыс істегенде 1602 контактілері жеткіліксіз болуы мүмкін. Көбінесе радиоәуесқойлар Uno немесе Nano нұсқаларын пайдаланады, онда контактілер көп емес. Содан кейін адамдар арнайы қалқандарды ойлап тапты. Мысалы, I2C. Ол дисплейді бар болғаны 4 түйреуіш арқылы қосуға мүмкіндік береді. Бұл екі есе аз. I2C модулі бөлек сатылады, мұнда сіз оны өзіңіз дәнекерлеуіңіз керек және дәнекерленгенСКД дисплей 1602.
I2C модулімен қосылу
LCD 1602-ді Arduino Nano-ға I2C арқылы қосу аз орын алады, тек 4 түйреуіш: жер, қуат және 2 деректер шығысы. Біз Arduino-да 5V және GND-ге қуат пен жерге қосамыз. Қалған екі контакт: SCL және SDA кез келген аналогтық түйреуіштерге қосылған. Фотосуретте lcd 1602-ні arduino-ға I2C модулімен қосу мысалын көре аласыз:
Бағдарлама коды
Модульсіз дисплеймен жұмыс істеу үшін тек бір кітапхананы пайдалану қажет болса, модульмен жұмыс істеу үшін екі кітапхана қажет. Олардың бірі қазірдің өзінде Arduino IDE - Wire жүйесінде. Басқа кітапхана, LiquidCrystal I2C, бөлек жүктеліп, орнатылуы керек. Arduino-да кітапхананы орнату үшін жүктелген мұрағаттың мазмұны Libraries түбірлік қалтасына жүктелуі керек. I2C көмегімен код үлгісі:
include include LiquidCrystal_I2C lcd(0x27, 16, 2); // Дисплейді орнату void setup() { lcd.init(); lcd.backlight();// Дисплейдің артқы жарығын қосу lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Курсорды екінші жолға және бос таңбаға орнатыңыз. lcd.setCursor(0, 1); // Arduino іске қосылғаннан кейінгі секундтар санын басып шығарыңыз lcd.print(millis()/1000); }
Көріп отырғаныңыздай, код бірдей дерлік.
Мен өз таңбамды қалай қосамын?
Бұл дисплейлерге қатысты мәселе жоқкириллица мен таңбаларды қолдау. Мысалы, дисплейге кейбір таңбаны жүктеу керек, сонда ол оны көрсете алады. Ол үшін дисплей 7 таңбаға дейін жасауға мүмкіндік береді. Кестені көрсетіңіз:
0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 0 |
Егер 0 болса - онда ештеңе жоқ, 1 болса - бұл көлеңкеленген аймақ. Жоғарыдағы мысалда «күлімсіреген смайлик» кейіпкерінің жасалуын көруге болады. Arduino-да мысалдық бағдарламаны пайдалану келесідей болады:
include include // Қажетті кітапхананы қосу // Күлімсіреу символы бит маскасы байты күлкі[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010,}; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Экран өлшемін орнату lcd.createChar(1, күлімсіреу); // №1 символды құру lcd.setCursor(0, 0); // Курсорды 1-жолдың басына орнату lcd.print("\1"); // Смайликті көрсету (1 таңба) - "\1" } void loop(){ }
Көріп тұрғаныңыздай, құрылғаннүкте маскасы кестемен бірдей. Жасалғаннан кейін оны дисплейге айнымалы ретінде шығаруға болады. Есіңізде болсын, жадта тек 7 таңба сақталуы мүмкін. Негізінде бұл жеткілікті. Мысалы, дәреже белгісін көрсеткіңіз келсе.
Дисплей жұмыс істемеуі мүмкін мәселелер
Дисплей жұмыс істемейтін кездер болады. Мысалы, ол қосылады, бірақ таңбаларды көрсетпейді. Немесе ол мүлдем қосылмайды. Алдымен контактілерді дұрыс қосқаныңызды тексеріңіз. Егер сіз бұрын lcd 1202-ні Arduino-ға I2Cсіз қоссаңыз, онда сымдарға шатасу өте оңай, бұл дисплейдің дұрыс жұмыс істемеуіне әкелуі мүмкін. Сондай-ақ дисплей контрастының жоғарылағанына көз жеткізіңіз, өйткені минималды контрастта LCD 1602 қосулы немесе қосылмағаны көрінбейді. Егер бұл көмектеспесе, мәселе контактілерді дәнекерлеуде болуы мүмкін, бұл I2C модулін пайдалану кезінде. Сондай-ақ, дисплей жұмыс істемеуі мүмкін болатын жалпы себеп - I2C мекенжайының дұрыс орнатылмауы. Өйткені, көптеген өндірушілер бар және олар басқа мекенжайды орната алады, оны мына жерде түзету керек:
LiquidCrystal_I2C lcd(0x27, 16, 2);
Жақшада екі мәнді көруге болады, 0x27 және 16, 2 (16, 2 - дисплей өлшемі, ал 0x27 - тек I2C мекенжайы). Бұл мәндердің орнына 0x37 немесе 0x3F қоюға болады. Тағы бір себеп - жай ғана ақаулы СКД 1602. Arduino үшін барлығы дерлік Қытайда жасалғанын ескерсек, сатып алынғанына 100% сенімді бола алмайсыз.өнім ақаулы емес.
LCD 1602 артықшылықтары мен кемшіліктері
LCD 1602 артықшылықтары мен кемшіліктерін қарастырайық.
Просстар
- Бағасы. Бұл модульді қытайлық дүкендерден өте қолжетімді бағамен сатып алуға болады. Бағасы 200-300 рубль. Кейде тіпті I2C модулімен бірге сатылады.
- Қосылу оңай. Бәлкім, бұл күндері ешкім LCD 1602-ді I2Cсіз қоса алмайды. Және бұл модуль арқылы қосылым тек 4 түйреуіш алады, сымдардың «торлары» болмайды.
- Бағдарламалау. Дайын кітапханалардың арқасында бұл модульмен жұмыс істеу оңай, барлық функциялар тіркелген. Ал кейіпкеріңізді қосу қажет болса, оған бірнеше минут қана кетеді.
Жағымсыз жақтары
Мыңдаған радиоәуесқойлар пайдалану уақытында үлкен минустар анықталған жоқ, тек некені сатып алу жағдайлары бар, өйткені қытайлық дисплей опциялары негізінен пайдаланылады
Бұл мақалада LCD 1602 дисплейін Arduino-ға қосу жолы талқыланды, сонымен қатар осы дисплеймен жұмыс істеуге арналған үлгі бағдарламалар ұсынылды. Бұл шынымен де өз санатындағы ең жақсылардың бірі, оны мыңдаған радиоәуесқойлар өз жобалары үшін таңдап жатқан жоқ!