Arduino-да сұйық кристалды индикаторды (LCD) қалай қосады?
Негізгі техникалық сипаттамасы:
- Дисплей: символдық 16х02
- Жарығы: көк ақ белгілермен
- Контраст: потенциометр көмегімен тураланады
- Қуат кернеуі: 5В
- Интерфейс: І2С
- І2С адресі: 0х27
Өлшемі: 82мм x 35мм x 18мм
I2C — 2м сым арқылы байланыс орнатылатын құрылғылар стандарты, параллельді жалғанған құрылғылар саны шексіз көп болуы мүмкін. Әр-бір құрылғының жеке адресі бар, сол арқылы оған байланыс орнатылады. Адресін өзгертуге болады, егер де құрылғыда перемычкалар болатын болса. Және сол арқылы базалық адресті жылжытуға болады.
Arduino-ға қосу:
Модуль 2.54мм стандартты 4-пинді разъеммем жабдықталған;
SCL: тізбекті тактілеу линиясы (Serial CLock)
SDA: тізбекті мәліметтер линиясы (Serial DAta)
VCC: "+" қуаты
GND: "-" қуаты
SCL A5
SDA A4
VCC +5V
GND GND
Модулмен жұмыс жасау үшін LiquidCrystal_I2C кітапханасын орнату қажет.
Ол үшін бұл кітапхананы жүктеп, Arduino -> libraries папкасына орналастыруымыз керек. Кейін іске қосамыз.
Скетч: //Стандартты "Hello, world!" мәтінін экран бетіне шығарайық:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); /* Дисплейдің адресін және өлшемін береміз. LCD I2C модулін 20х04 дисплейде қолданған уақытта, ешқандай өзгеріс енгізудің қажеті жоқ. */
void setup()
{
lcd.init(); // lcd-ді инициализациялау
lcd.backlight(); // жарықты қосамыз
// Курсор 1 жолдың басында орналасады
lcd.print("Hello, world!"); // Мәтінді енгіземіз
lcd.setCursor(0, 1); // Курсорды 2 жолдың басына орналастырамыз
lcd.print("zelectro.cc"); // Мәтінді енгіземіз
}
void loop()
{
}
61. 74HC595 жылжыту регистрын пайдалану арқылы шығыстарды көбейтуге болатынын түсіндіру (бір регистрмен мысал келтіру)
Егер де бізге Arduino контроллерінде көптеген шығыс (пиндер) қажет болса, жылжыту регистрын пайдаланамыз. Мысал ретінде 74HC595жылжыту регистрын қарастырамыз.
74HC595 — сегіз разрядты тізбекті кірісі бар жылжыту регистрі, тізбекті немесе параллельді шығыс ақпараты бар, защелка триггері бар және шығыста үш негізгі күйі бар.
Басқа сөзбен айтқанда бұл регистр 8 шығысты басқаруға мүмкін береді, ал контроллерді ол тек бірнеше болуы мүмкін. Мұндай бірнеше регистрді каскадтау үшін тізбекті байланыстыруға болады. Бұған сәйкес келетін регистрлерді «595» және «596» комбинациясы арқылы сериялық номірі бойынша табуға болады. Мысалы, STP16C596 регистрі қосымша резистоларды қолданбай, бір мезетте 16 светодиодты басқаруға мүмкіндік береді.
1-7, 15 пиндары | Q0 " Q7 | Параллельді шығыстар | |
Пин 8 | GND | Жер | |
Пин 9 | Q7" | Регисторлардың тізбекті байланыстыру шығысы | |
Пин 10 | MR | Регистр мәнін босату. LOW мәнін қабылдаған жағдайда болады. | |
Пин 11 | SH_CP | Тактілі импульстер үшін шығыс | |
Пин 12 | ST_CP | Шығыстардың синронизациясы("защелкивание") | |
Пин 13 | OE | Жоғары омды күйден жұмыс жасайтын омға ауыстыратын кіріс | |
Пин 14 | DS | Тізбекті мәліметтер үшін кіріс | |
Пин 16 | Vcc | Қуат |
Бір регистрмен мысал:
Қосылуы:
GND (пин 8) жерге қосамыз
Vcc (пин 16) 5В-ке
OE (пин 13) жерге
MR (пин 10) 5В-ке
Сонымен, регистрге қуат жіберіп, барлық шығыстарды іске қостық. Бұл қосылудың қарапайым түрі, себебі схемаға қуат беру барысында шығыстарда кездейсоқ мәндер болады. MR және OE пиндерін Arduino-нан тікелей басқаруға болады, кірістерді босатуға және/немесе керек жағдайда шығыстарды қосуға болады. Схеманы қарапайым жасау үшін, және іске қосылған шығыс санын азайту мақсатында, біз қарапйым схеманы қолданамыз. Себебі бағдарлама іске қосылған сәтте регистрлар мәні мен шығыс мәндері қайта жазылады.