Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot:exp29 [2020/05/19 19:54] – [Дополнительное задание] labuser29products:laboratory_iot:exp29 [2025/11/28 13:02] (текущий) – [Эксперимент 29. Привет, Мир! LCD] labuser29
Строка 13: Строка 13:
 </WRAP> </WRAP>
  
-В архиве ты обнаружишь два файла:+В архиве ты обнаружишь файлы:
   * 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 содержат предварительно скомпилированный в байт-код тех же файлов. В проектах лучше использовать файлы .mpy - это позволяет экономить ресурсы микроконтроллера. Ему уже не нужно компилировать их перед применением. А файлы .py нужны если ты захочешь изучить код библиотек, понять как они устроены. Также ты можешь внести изменения в код файлов .py и после этого самостоятельно скомпилировать их в .mpy. Как это сделать [[theory:mpy_cross|описано здесь]]. 
 + 
 +Распакуй файлы из архива в какую либо папку на компьютере. Загрузи файлы  
 +  * lcd_api.mpy 
 +  * esp8266_i2c_lcd.mpy 
 +в память микроконтроллера. Для этого нужно открыть файловый менеджер. Открывается с помощью пункта меню
 <span menu> <span menu>
 <span menu-item>Device</span> <span menu-item>Device</span>
Строка 24: Строка 34:
 или кнопкой {{:products:2020-05-04_15-35-38.png?nolink|}} или кнопкой {{:products:2020-05-04_15-35-38.png?nolink|}}
  
-Откроется окно файловго менеджера:+Откроется окно файлового менеджера:
 {{ :products:esp-iot:2020-05-19_19-33-19.png?nolink |}} {{ :products:esp-iot:2020-05-19_19-33-19.png?nolink |}}
  
Строка 32: Строка 42:
  
 {{ :products:esp-iot:2020-05-19_19-33-19_.png?nolink |}} {{ :products:esp-iot:2020-05-19_19-33-19_.png?nolink |}}
 +
 +<WRAP center round important 60%>
 +Не загружай все файлы из архива в микроконтроллер. Загрузи только файлы .mpy
 +</WRAP>
 +
  
 Когда файлы загружены, можно приступить к сборке схемы и написанию программы. Когда файлы загружены, можно приступить к сборке схемы и написанию программы.
Строка 39: Строка 54:
 {{ :products:esp-iot:exp13_mont.png?direct&600 |}} {{ :products:esp-iot:exp13_mont.png?direct&600 |}}
 //Рисунок 1. Монтажная схема эксперимента// //Рисунок 1. Монтажная схема эксперимента//
 +
 +
 +<WRAP center round important 60%>
 +Внимание! В зависимости от модели микросхемы I2C, установленной в Лаборатории IoT, адрес на шине может быть 0x3F или 0x27. Запусти данный пример с указанием адреса 0x3F или 0x27, чтобы узнать какой вариант актуален для твоей платы.
 +</WRAP>
  
  
Строка 47: Строка 67:
 _init() _init()
  
-DEFAULT_I2C_ADDR = 0x3F+DEFAULT_I2C_ADDR = 0x3F # Или 0x27 в зависимости от твоей платы IoT 
  
 i2c = I2C(scl=Pin(5), sda=Pin(4), freq=400000) i2c = I2C(scl=Pin(5), sda=Pin(4), freq=400000)
Строка 61: Строка 82:
 </code> </code>
  
-На шине I2C каждое ведомое устройство имеет адрес. Чтобы обратиться к устройству, необходимо знать его адрес. Наша микросхема, которая управляет дисплеем, имеет адрес ''0x3F''+На шине I2C каждое ведомое устройство имеет адрес. Чтобы обратиться к устройству, необходимо знать его адрес. Наша микросхема, которая управляет дисплеем, имеет адрес ''0x3F'' или ''0x27''. Попробуй оба варианта, чтобы понять на каком адресе находится именно твоя микросхема I2C.
  
 Настраиваем контроллер шины I2C: Настраиваем контроллер шины I2C:
Строка 87: Строка 108:
  
 В качестве параметра в функцию ''putstr()'' передается текст для вывода на дисплей. Можно заметить, что мы передаем одну строку, но на дисплее текст отображается в две строки. Дело в том, что переданная строка содержит специальный символ новой строки ''\n''. Этот символ сообщает дисплею, что необходимо перейти на новую строку. В качестве параметра в функцию ''putstr()'' передается текст для вывода на дисплей. Можно заметить, что мы передаем одну строку, но на дисплее текст отображается в две строки. Дело в том, что переданная строка содержит специальный символ новой строки ''\n''. Этот символ сообщает дисплею, что необходимо перейти на новую строку.
 +
 ==== Дополнительное задание ==== ==== Дополнительное задание ====
 <WRAP center round tip 60%> <WRAP center round tip 60%>