В теоретической части (перед экспериментом) мы познакомились с интерфейсами, в частности с шиной I2C. Кроме того, мы изучили способ подключения дисплея в нашем конструкторе. Разберемся с библиотекой для работы с дисплеем.
Ранее мы использовали стандартную библиотеку не замечая этого, т.к. она подключена по умолчанию. В ней определены различные функции вроде pinMode(), digitalWright() и многие другие. Теперь мы впервые столкнемся с пользовательской библиотекой. Это библиотека функций, которую написал кто-то другой или, даже ты сам, и теперь желаешь использовать для своего эксперимента. Отличие заключается в том, что стандартная библиотека является частью языка программирования, а пользовательские библиотеки перед использованием нужно загрузить в Arduino IDE.
Открыть окно «Управление библиотеками» можно с помощью
В поле поиска введи название нужной библиотеки, в нашем случае «LiquidCrystal I2C Multilingual», ниже должно появиться название библиотеки, имя автора и номер версии. Нажми кнопку «Установить» и дождись установки библиотеки.
Когда библиотека установлена, можно приступить к сборке схемы и написанию программы.
Вся сборка заключается в подключении двух проводов:
Рисунок 1. Монтажная схема эксперимента
Внимание! В зависимости от модели микросхемы I2C, установленной в Лаборатории IoT, адрес на шине может быть 0x3F или 0x27. Запусти данный пример с указанием адреса 0x3F или 0x27, чтобы узнать какой вариант актуален для твоей платы.
#include <LCDI2C_Multilingual.h> #define DEFAULT_I2C_ADDR 0x3F // Или 0x27 в зависимости от твоей платы IoT LCDI2C_Generic lcd(DEFAULT_I2C_ADDR, 16, 2); void setup() { lcd.init(); lcd.setBacklight(0); lcd.println("Hello, World!"); lcd.println("Second Line"); } void loop() { }
Сначала мы с помощью директивы #inclue
подключаем библиотеку установленную библиотеку.
#include <LCDI2C_Multilingual.h>
На шине I2C каждое ведомое устройство имеет адрес. Чтобы обратиться к устройству, необходимо знать его адрес. Наша микросхема, которая управляет дисплеем, имеет адрес 0x3F
или 0x27
. Попробуй оба варианта, чтобы понять на каком адресе находится именно твоя микросхема I2C.
Теперь настраиваем дисплей.
LCDI2C_Generic lcd(DEFAULT_I2C_ADDR, 16, 2);
Создаем объект дисплея и в качестве параметров передаем адрес дисплея, количество строк дисплея и количество символов в строке, соответственно.
Теперь мы имеем объект дисплея, с которым можно работать. Сначала нам нужно его инициализировать с помощью функции init()
. После чего включим подсветку, для этого используем функцию setBacklight(0)
:
lcd.init(); lcd.setBacklight(0);
Выведем текст на дисплей с помощью функции println()
lcd.println("Hello, World!"); lcd.println("Second Line");
В качестве параметра в функцию println()
передается текст для вывода на дисплей.