Како време одмиче, тако број компоненти, модула и идеја за пројекте базиране на Ардуину расте! Овај пут биће обрађена широко распрострањена компонента која представља незаобилазни део било ког уграђеног система. Ради се о компоненти чија је намена приказ података – текстуалних или бројевних, а у питању је ЛЦД модулу 1602а. Упознавање са карактеристикама компоненте, начином рада и њено програмирање биће илустровано помоћу два једноставна програма (скица). Први је „Здраво, свете!“, који врши једноставан приказ текстуалних података на дисплеј, док други укључује приказ података добијених са тастатуре.
ЛЦД 1602а модул
Модул ЛЦД екрана 1602а (слика 1) је широко распрострањени и често коришћен у уграђеним системима због своје доступности, ниске цене и једноставности програмирања. Име 1602 означава да је ЛЦД екран има 16 колона и 2 реда, дакле укупно је могуће приказати 32 карактера. Сваки карактер се приказује преко мреже димензија 8*5 пиксела (Слика 2). Подешавање контраста екрана врши се коришћењем потенциометра чији средњи извод се доводи на пин 3 – VE. Исправан рад обезбеђује додатна библиотека „LiquidCrystal.h“.
Распоред пинова ЛЦД модула 1602а
Пин # | Пин | Опис |
---|---|---|
1 | VSS | Пин на који се повезује маса |
2 | VDD | Напајање ЛЦД екрана +5V (дозвољен напон 4,7 – 5,3V) |
3 | VE | Подешавање контраста екрана |
4 | Register Select (RS) | Одабир режима рада модула (0 = режим података и 1 = командни режим) |
5 | Read/Write | Читање/Писање (0 = операција писања и 1 = операција читања) |
6 | Enable | 0 неактивно стање; 1 = обрада долазних података |
7-14 | Data Pin 0 – 7 | Пинови података (могући режим рада је 4b или 8b) |
15 | LED Positive (A) | Анода (за контролу позадинског осветљења) |
16 | LED Positive (C) | Катода (за контролу позадинског осветљења) |
Карактеристике овог ЛЦД-а су:
- Радни напон ЛЦД-а ЈЕ 4,7-5,3 волти.
- Садржи два реда у којима сваки ред може произвести 16 знакова.
- Искоришћење струје је 1 милиампера без позадинског осветљења.
- Сваки знак се може направити са мрежом од 5*8 пиксела.
- Знакови су алфанумерички
- Екран може да ради на 2 режима – 4-битни и 8-битни
- Може се купити у плавом или зеленом позадинском осветљењу.
- Приказује кориснички дефинисане знакове.
Електрична шема
Пример 1 – скица „Здраво свете!“
#include <LiquidCrystal.h> const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { // подешавање димензија екрана lcd.begin(16, 2); // приказ поруке lcd.print("hello, world!"); } void loop() { // постављање курсора у колону 0, ред 1 // (ред 1 је други ред, јер бројање редова почиње од 0): lcd.setCursor(0, 1); // приказ протеклог времена у секундама од претходног ресетовања lcd.print(millis() / 1000); }
Пример 2 – скица приказ података са тастатуре
// укључивање библиотеке #include <LiquidCrystal.h> // дефинисање променљивих на које су повезани одговарајући пинови ЛЦД екрана са // вредностима Ардуино пинова на које је ЛЦД екран повезан const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { // Подешавање димензија екрана lcd.begin(16, 2); // иницијализација серијске комуникације Serial.begin(9600); } void loop() { // када се унесе карактер путем серијског монитора if (Serial.available()) { // додато чекање да би пристигли сви унети подаци delay(100); // очисти екран lcd.clear(); // читање свих унетих карактера while (Serial.available() > 0) { // приказ појединачног карактера на екран lcd.write(Serial.read()); } } }