Пример 12. ЖК-дисплей
Примеры
ПРИМЕРЫ
- Пример 1. Светодиоды
- Пример 2. Подключение кнопки
- Пример 3. Переключатель
- Пример 4. Активный зуммер
- Пример 5. Пассивный зуммер
- Пример 6. Фоторезистор
- Пример 7. RGB-светодиод
- Пример 8. Семисегментный индикатор и 74HC595N
- Пример 9. Четырехразрядный 7-сегментный индикатор
- Пример 10. Светодиодная матрица
- Пример 11. Светодиодная шкала
- Пример 12. ЖК-дисплей
- Пример 13. Джойстик
- Пример 14. Вольтметр
- Пример 15. Термистор
- Пример 16. Модуль DHT11
- Пример 17. Модуль HC-SR04
- Пример 18. Датчик движения HC-SR501
- Пример 19. Матричная клавиатура
- Пример 20. ИК датчик и пульт
- Пример 21. Модуль часов DS-1302
- Пример 22. RFID-модуль RC522
- Пример 23. Сервопривод
- Пример 24. Модуль реле
- Пример 25. Двигатель постоянного тока
- Пример 26. Шаговый двигатель и драйвер ULN2003
- Пример 27. Драйвер двигателей на L298N
- Пример 28. MP3-плеер DFPlayer Mini
- Пример 29. Датчик уровня воды
- Пример 30. Serial Port
- Пример 31. Симуляция парковки
- Пример 32. Датчик температуры DS18B20
- Пример 33. Bluetooth-модуль HC-06
- Пример 34. Плата расширения с дисплеем и кнопками
- Пример 35. Плата расширения для двигателей на L293D
- Пример 36. Ethernet шилд W5100
- Пример 37. GSM/GPRS шилд SIM900
- Пример 38. GPS модуль Ublox NEO-6M
- Пример 39. Модуль считывания отпечатков пальцев
- Пример 40. Шаговый двигатель NEMA17 и драйвер TB6600
В данном примере мы будем использовать популярный жидкокристаллический дисплей 1602 (Liquid Crystal Display), экран которого способен отображать одновременно до 32 символов (16 столбцов, 2 строки). Подключение к Arduino осуществляется по синхронному 8-битному параллельному интерфейсу.
Дисплей LCD1602 имеет 16 выводов:
- 1 – VSS – GND («земля»);
- 2 – VDD – (+5В питание);
- 3 – VO установка контрасности;
- 4 – RS (команды, данные);
- 5 – RW (чтение, запись);
- 6 – E (Enable);
- 7—14 – (DB0…DB7) линия данных;
- 15 – A (плюс подсветки);
- 16 – K (минус подсветки).
Описание:
Выведем на дисплей какую-либо текстовую информацию. В этом примере понадобится библиотека LiquidCrystal, скачать которую Вы можете по ссылке, либо с помощью Arduino IDE.
Компоненты:
- 1 × Плата Arduino
- 1 × USB-кабель
- 1 × Беспаечная макетная плата
- 1 × ЖК-дисплей 1602
- 1 × Потенциометр
- Соединительные провода
Схема:
Скетч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
#include <LiquidCrystal.h> char array1[]="hello,"; //первая строка char array2[]="world!"; //вторая строка int tim = 250; //delay в мс // инициализация LiquidCrystal lcd(4, 6, 10, 11, 12, 13); void setup() { // 16 столбцов, 2 строки (дисплей 1602) lcd.begin(16, 2); } void loop() { // ставим курсор в столбец 15, строку 0 lcd.setCursor(15,0); for (int positionCounter1 = 0; positionCounter1 < 26; positionCounter1++) { // первая строка lcd.scrollDisplayLeft(); lcd.print(array1[positionCounter1]); delay(tim); } lcd.clear(); // ставим курсор в столбец 15, строку 1 lcd.setCursor(15,1); for (int positionCounter = 0; positionCounter < 26; positionCounter++) { // вторая строка lcd.scrollDisplayLeft(); lcd.print(array2[positionCounter]); delay(tim); } lcd.clear(); } |
Используем I2C-адаптер:
Гораздо проще использовать дисплей с I2C модулем. Вместо 6 цифровых выходов будут использоваться лишь 2 аналоговых. Также, необходимо скачать библиотеку LiquidCrystal_I2C.
Компоненты:
Схема:
Скетч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <Wire.h> // библиотека для управления устройствами по I2C #include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602 LiquidCrystal_I2C lcd(0x27,16,2); // присваиваем имя lcd для дисплея 16х2; обычно I2C адаптер имеет адрес 0x27 или 0x3f void setup() // процедура setup { lcd.init(); // инициализация LCD дисплея lcd.backlight(); // включение подсветки дисплея lcd.setCursor(0,0); // ставим курсор на 1 символ первой строки lcd.print("THIS IS"); // печатаем сообщение на первой строке lcd.setCursor(0,1); // ставим курсор на 1 символ второй строки lcd.print("AMPERMARKET"); // печатаем сообщение на второй строке } void loop() // процедура loop { /* это многострочный комментарий // изначально процедура void loop() в скетче не используется lcd.noDisplay(); // выключаем подсветку LCD дисплея delay(500); // ставим паузу lcd.display(); // включаем подсветку LCD дисплея delay(500); // ставим паузу */ } |