Найти тему
VoltStrimLab

Подключаем LCD 1602 в mBlock, сканируем адрес I2C

Оглавление

Привет, друзья!

В прошлой статье мы собрали схему подключения дисплея LCD 1602 в связке с потенциометром и фоторезистором и опробовали в режиме отладки, но взаимодействие программы с LCD не разобрали. В этой статье доделываем алгоритм до логического завершения и выведем переменные на дисплей.

Кто пропустил предыдущую статью, рекомендую сначала прочитать: mBlock и i2c - Выводим переменные на дисплей LCD 1602

Проверка готовности

Итак, программа составлена, но она не доделана.

Программа контроля изменений фоторезистора и потенциометра в mBlock
Программа контроля изменений фоторезистора и потенциометра в mBlock

Схема подключена...

Компоненты в наличии:

Схема контроля изменений фоторезистора и потенциометра в mBlock
Схема контроля изменений фоторезистора и потенциометра в mBlock

Если все собрано правильно, то на схеме должны отображаться переменные Foto и Rezistor которыми можно управлять.

Переменные для контроля изменений фоторезистора и потенциометра в программе mBlock
Переменные для контроля изменений фоторезистора и потенциометра в программе mBlock

Как вы, наверное, уже заметили, на блоках управления LCD дисплеем есть выпадающее меню с I2C адресами. В большинстве случаев I2C адрес дисплея LCD 1602 является 27, но возможно именно в вашем случае произошло досадное исключение. Надо проверить ...

Установить соответствующим вашему нужно на всех трёх блоках нашей программы.
I2C в программе mBlock
I2C в программе mBlock

Как проверить I2C?

К сожалению, расширение для сканирования адреса I2C в программе mBlock я не нашел, а может плохо искал? Если вы знаете такое расширение, то напишите в комментариях. Придется определять сторонними программами. Существует несколько способов проверить I2C адрес:

Первый способ. Из выпадающего списка блока методом подбора: выбирать по очереди каждый адрес, пока не окажется тот, при котором заработает дисплей. Адресов всего пять, так что процесс не затянется надолго.

Второй способ. Воспользоваться программой XOD IDE и моей статьёй, Сканируем i2c адрес в программе XOD IDE

Сканируем I2C в XOD IDE
Сканируем I2C в XOD IDE

Третий способ. Воспользоваться программой Arduino IDE, загрузить в неё скетч: https://yadi.sk/d/Nr6mFvm_K0wfDQ

Arduino IDE скетч сканер I2C
Arduino IDE скетч сканер I2C

Открыть меню Сервис/Монитор порта

Arduino IDE меню Сервис
Arduino IDE меню Сервис

И в итоге получить заветные цифры.

Монитор порта программы Arduino IDE
Монитор порта программы Arduino IDE

Выбирайте способ, подходящий именно вам, и затем доделаем программу.

"Допиливаем" прогу

Теперь, когда мы знаем адрес I2C порта LCD дисплея, готовим программу для загрузки в микроконтроллер Arduino Uno. Переходим в режим Загрузить в.

Режим загрузить в программе mBlock
Режим загрузить в программе mBlock

Переходим в меню команд События, удаляем блок При нажатии ..., на его место устанавливаем команду при запуске Arduino Uno.

Команды меню События в в режиме Загрузить в в программе mBlock
Команды меню События в в режиме Загрузить в в программе mBlock

Проверяем в алгоритме правильность I2C адресов, если ваш дисплей LCD 1602, значит в первом блоке должно быть это прописано 16 столбцов и 2 строки. В последнем, третьем, блоке должно быть указано место размещения данных 2 строка. Смотрите фото.

Корректируем данные алгоритма в программе mBlock для загрузки в Arduino Uno
Корректируем данные алгоритма в программе mBlock для загрузки в Arduino Uno

Вишенка на торт!

В меню Переменные ставим переменные Foto и Rezistor в окошки вместо надписи Merhaba!

Устанавливаем переменные в алгоритм в программе mBlock
Устанавливаем переменные в алгоритм в программе mBlock

Нажимаем кнопку Подключение (если программируете онлайн, не забудьте включить веб-драйвер).

Режим Подключение в программе mBlock
Режим Подключение в программе mBlock

Осталось загрузить алгоритм в Arduino Uno и наблюдать за изменениями данных на дисплее LCD 1602.

Режим Загрузить в программе mBlock
Режим Загрузить в программе mBlock

Теперь Arduino и наша программа может отображать данные без подключения к компьютеру, можно использовать другой источник питания.

Показания данных потенциометра и фоторезистора в дисплее LCD 1602
Показания данных потенциометра и фоторезистора в дисплее LCD 1602

На этом сегодня всё.

Подумайте, где можно применить такую связку. Жду ваших предложений в комментариях.

Надеюсь было интересно.

Продолжение следует ...

Ответьте, пожалуйста, на вопрос, для нас это важно.

Какие темы статей вам наиболее интересны?

Вы можете помочь каналу в создании интересного контента!

Хотите больше статей о программировании, рекомендую перейти по ссылке в меню нашего навигатора канала:

Страница навигации XOD IDE или Raspberry Pi & Scratch
или Как выгодно покупать на AliExpress
Экспериментируйте!!!
Спасибо, что дочитали статью до конца. Надеюсь статья была вам полезна и интересна. Понравилась статья, ставьте палец вверх.
И не забывайте подписывайтесь на наш канал :)