Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| products:laboratory_iot:exp29 [2020/05/19 19:41] – [Схема эксперимента] labuser29 | products:laboratory_iot:exp29 [2025/11/28 13:02] (текущий) – [Эксперимент 29. Привет, Мир! LCD] labuser29 | ||
|---|---|---|---|
| Строка 13: | Строка 13: | ||
| </ | </ | ||
| - | В архиве ты обнаружишь | + | В архиве ты обнаружишь файлы: |
| * lcd_api.py | * lcd_api.py | ||
| * esp8266_i2c_lcd.py | * esp8266_i2c_lcd.py | ||
| - | Это и есть файлы библиотеки для управления дисплеем LCD 1602. Распакуй их из архива в какую либо папку на компьютере. Эти файлы необходимо загрузить в память микроконтроллера. Для этого нужно открыть файловый менеджер. От крывается с помощью пункта меню | + | и |
| + | * lcd_api.mpy | ||
| + | * esp8266_i2c_lcd.mpy | ||
| + | |||
| + | Это и есть файлы библиотеки для управления дисплеем LCD 1602. | ||
| + | Файлы .py это обычные файлы python. А файлы .mpy содержат | ||
| + | |||
| + | Распакуй файлы из архива в какую либо папку на компьютере. Загрузи файлы | ||
| + | * lcd_api.mpy | ||
| + | * esp8266_i2c_lcd.mpy | ||
| + | в память микроконтроллера. Для этого нужно открыть файловый менеджер. Открывается с помощью пункта меню | ||
| <span menu> | <span menu> | ||
| <span menu-item> | <span menu-item> | ||
| Строка 24: | Строка 34: | ||
| или кнопкой {{: | или кнопкой {{: | ||
| - | Откроется окно файловго менеджера: | + | Откроется окно файлового менеджера: |
| {{ : | {{ : | ||
| Строка 32: | Строка 42: | ||
| {{ : | {{ : | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Не загружай все файлы из архива в микроконтроллер. Загрузи только файлы .mpy | ||
| + | </ | ||
| + | |||
| Когда файлы загружены, | Когда файлы загружены, | ||
| Строка 39: | Строка 54: | ||
| {{ : | {{ : | ||
| // | // | ||
| + | |||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Внимание! В зависимости от модели микросхемы I2C, установленной в Лаборатории IoT, адрес на шине может быть 0x3F или 0x27. Запусти данный пример с указанием адреса 0x3F или 0x27, чтобы узнать какой вариант актуален для твоей платы. | ||
| + | </ | ||
| Строка 47: | Строка 67: | ||
| _init() | _init() | ||
| - | DEFAULT_I2C_ADDR = 0x3F | + | DEFAULT_I2C_ADDR = 0x3F # Или 0x27 в зависимости от твоей платы IoT |
| i2c = I2C(scl=Pin(5), | i2c = I2C(scl=Pin(5), | ||
| Строка 55: | Строка 76: | ||
| </ | </ | ||
| + | Сначала мы подключаем библиотеки, | ||
| + | <code python[enable_line_numbers=" | ||
| + | from machine import I2C, Pin | ||
| + | from esp8266_i2c_lcd import I2cLcd | ||
| + | </ | ||
| + | |||
| + | На шине I2C каждое ведомое устройство имеет адрес. Чтобы обратиться к устройству, | ||
| + | |||
| + | Настраиваем контроллер шины I2C: | ||
| + | <code python[enable_line_numbers=" | ||
| + | i2c = I2C(scl=Pin(5), | ||
| + | </ | ||
| + | |||
| + | Здесь мы сообщили контроллеру, | ||
| + | |||
| + | Теперь настраиваем дисплей. | ||
| + | <code python[enable_line_numbers=" | ||
| + | lcd = I2cLcd(i2c, DEFAULT_I2C_ADDR, | ||
| + | </ | ||
| + | Создаем объект дисплея и в качестве параметров передаем объект контроллера I2C, адрес устройства, | ||
| + | |||
| + | Теперь мы имеем объект дисплея, | ||
| + | <code python[enable_line_numbers=" | ||
| + | lcd.backlight_on() | ||
| + | </ | ||
| + | |||
| + | Выведем текст на дисплей с помощью функции '' | ||
| + | <code python[enable_line_numbers=" | ||
| + | lcd.putstr(" | ||
| + | </ | ||
| + | |||
| + | В качестве параметра в функцию '' | ||
| ==== Дополнительное задание ==== | ==== Дополнительное задание ==== | ||
| <WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
| - | * Попробуй | + | * Попробуй |
| + | * Мигать подсветкой дисплея 1 раз в секунду | ||
| </ | </ | ||