
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04
В этом эксперименте используется модуль MakePython ESP8266, который позволяет нам изучать программирование MicroPython на ESP8266. В эксперименте контролировали размер круга на экране, вращая потенциометр. В процессе мы узнаем об использовании ADC, OLED-дисплея SSD1306 и uPyCraft IDE.
Шаг 1. Об АЦП и I2C

ADC: ADC - это аналого-цифровой преобразователь, который преобразует аналоговые сигналы в цифровые. Когда на передней панели горит светодиодный индикатор, а внутри - ШИМ, мы знаем разницу между цифровым и аналоговым сигналами. Сигналы, которые мы используем в повседневной жизни, такие как интенсивность света, звуковые волны и напряжение аккумулятора, являются аналоговыми значениями. Если мы хотим измерить аналоговый сигнал (напряжение, интенсивность света, звуковую волну) через однокристальный микрокомпьютер и выразить его цифровым сигналом, то нам понадобится преобразователь аналогово-цифрового сигнала АЦП.
Связь I2C: I2C широко используется для связи контроллера с бортовыми компонентами, такими как датчики / дисплеи. Передача данных может быть завершена только двумя сигнальными линиями, соответственно тактовой линией SCL и сигнальной линией SDA. На линии I2C есть только одно главное устройство Master и несколько Slave устройств. Чтобы гарантировать, что обе шины находятся на высоком уровне в режиме ожидания, SDA и SCL должны быть соединены с тяговым резистором. Классическое значение тягового резистора составляет 10 кОм.
Шаг 2: расходные материалы

Аппаратное обеспечение:
- MakePython ESP8266
- Потенциометр
- Хлебная доска
- Линия прыжка
- USB-кабель
MakePython ESP8266: На плате MakePython есть встроенный 1,3-дюймовый OLED-модуль с разрешением 128x64 пикселя… Один пиксель монохромного экрана - это светодиод. OLED - это «самоподсветка», сам пиксель является источником света, поэтому контраст очень высокий. OLED-экраны имеют протоколы связи I2C и SPI, которые полностью несовместимы из-за разных протоколов. В нашем уроке OLED настроен на совместимость с протоколом I2C. Ссылка для покупки модуля:
Потенциометр : Потенциометр представляет собой регулируемый резистор с тремя ведущими концами и значениями сопротивления, которые можно регулировать в соответствии с определенным законом изменения. Потенциометр обычно состоит из корпуса резистора и подвижной щетки. Когда щетка движется вдоль тела сопротивления, значение сопротивления или напряжение в зависимости от смещения получается на выходном конце.
Программное обеспечение:
uPyCraft IDE
Существует множество кодов и методов программирования с помощью MicroPython. В этом руководстве мы используем uPyCraft IDE, который является наиболее простым и легким способом перехода на MicroPython при запуске.
Шаг 3: Подключение



Это очень простая схема, для которой требуется очень мало проводов, всего три. Просто подключите вывод VCC потенциометра к 3,3 В MakePython ESP8266, а вывод OUT (средний) к A0 и подключите GND друг к другу. OLED-дисплей использует связь I2C, а плата подключена, поэтому вам не нужно об этом беспокоиться.
Шаг 4: Установка UPyCraft IDE на ПК с Windows


Щелкните эту ссылку, чтобы загрузить uPyCraft IDE для Windows:
randomnerdtutorials.com/uPyCraftWindows.
Через несколько секунд вы должны увидеть аналогичный файл (uPyCraft_VX.exe) в папке «Загрузки».
Дважды щелкните этот файл. Откроется новое окно с программным обеспечением uPyCraft IDE.
Шаг 5: Установление связи с Советом директоров

После установки микропрограммы MicroPython (микропрограмма MicroPython уже установлена, когда вы получаете Makerfabs MakePython ESP8266) подключите ее к компьютеру с помощью кабеля USB, выполните следующие действия:
- Перейдите в Инструменты> Доска и выберите используемую доску. Выберите esp8266
- Перейдите в Инструменты> Последовательный и выберите COM-порт, к которому подключен ваш ESP (загрузите драйвер USB по адресу:
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)
Нажмите кнопку Connect, чтобы установить последовательную связь с вашей платой.
Вы увидите «>>>», появившееся в окне Shell после успешного соединения с вашей доской.
Шаг 6: Создание файла Main.py на вашей доске


- Нажмите кнопку «Новый файл», чтобы создать новый файл.
- Нажмите кнопку «Сохранить файл», чтобы сохранить файл на вашем компьютере.
- В новом окне назовите ваш файл main.py и сохраните его на своем компьютере.
- После этого вы должны увидеть файл boot.py на своем устройстве и новую вкладку с файлом main.py.
- Нажмите кнопку «Загрузить и запустить», чтобы загрузить файл на плату ESP.
- В каталог устройства теперь должен загружаться файл main.py. В вашем ESP хранится файл main.py.
Шаг 7: Добавьте файл драйвера
Поскольку на OLED-экране используется микросхема драйвера SSD1306, нам необходимо загрузить драйвер SSD1306. Вы можете перейти на веб-сайт GitHub, чтобы найти и загрузить библиотеку SSD1306 или щелкнуть, чтобы загрузить наш файл драйвера ssd1306.py.
После загрузки сохраните ssd1306.py в каталоге файлов workSpace. Затем щелкните файл ssd1306.py и щелкните "Выполнить", и файл библиотеки можно будет загрузить в каталог устройства. В настоящее время файл библиотеки ssd1306.py успешно загружен в MakePython ESP8266, который можно вызвать с помощью оператора import ssd1306.
* примечание: при первом открытии uPyCraft IDE путь к рабочему пространству не существует. Когда вы щелкнете, появится диалоговое окно workSpace. Вы можете создать каталог workSpace для хранения файлов пользователя, выбрав каталог, который вы хотите сохранить.
Шаг 8: основная функция


Грамматическое объяснение:
- i2c: настроить контакты SCL и SDA
- oled: создать объект OLED
- adc.read (): чтение выборки данных АЦП
- circle (): пользовательская функция рисования круга, которая ИСПОЛЬЗУЕТ функцию sqrt () для вычисления радиуса круга.
- math.sqrt (r): возвращает квадратный корень из числа.
- pixel (x, y, c): нарисуйте точку в (x, y)
- hline (x, y, w, c): нарисуйте горизонтальную линию, начиная с (x, y), длиной w
- vline (x, y, w, c): нарисуйте вертикальную линию, начиная с (x, y), высотой w
- oled.fill (n): очистить экран, когда n = 0, и заполнить экран, когда n> равно 0
- oled.show (): включить функцию отображения
Вы можете либо напрямую добавить этот файл, либо скопировать его содержимое во вновь созданный основной файл.
Шаг 9: экспериментальные результаты

Медленно поверните потенциометр по часовой стрелке, и круг на экране станет больше, а против часовой стрелки - меньше.
Рекомендуемые:
Программа MicroPython: занят ли туалет?: 8 шагов (с изображениями)

Программа MicroPython: занят ли туалет ?: Наш офис представляет собой большой групповой офис с ограниченным пространством для ванной комнаты. &Quot; I " часто обнаруживаю, что мне негде пойти в ванную, поэтому мне приходится ждать так долго, что я чувствую себя неловко. В эксперименте использовался MakePython ESP8266 для настройки сервера обнаружения
Программа MicroPython : Мини-метеостанция: 7 шагов

Программа MicroPython : Мини-метеостанция: сейчас зима, но все еще немного жарко, хотя я ношу только футболку, поэтому мне хочется узнать текущую температуру, поэтому я использую датчики Micropython ESP32 и DHT11 и простая метеостанция, чтобы вы могли узнать текущее t
Программа MicroPython: обновление данных о коронавирусной болезни (COVID-19) в режиме реального времени: 10 шагов (с изображениями)

Программа MicroPython: обновление данных о коронавирусной болезни (COVID-19) в режиме реального времени: за последние несколько недель количество подтвержденных случаев коронавирусной болезни (COVID 19) во всем мире превысило 100000, и Всемирная организация здравоохранения (ВОЗ) объявила Новая вспышка коронавирусной пневмонии станет глобальной пандемией. Я был очень
Программа ESP8266 - MicroPython: 4 шага

Программа ESP8266 - MicroPython: MicroPython - это проект, который позволяет запускать миниатюрную версию python 3 на микроконтроллерах и встроенных платах. Он имеет растущую поддержку плат микроконтроллеров, и вместо того, чтобы устанавливать на плату полный дистрибутив Linux, он дает только возможность
Автоматический таймер круга для дрона - 3D-печать, питание от Arduino: 18 шагов (с изображениями)

Автоматический таймер круга для дрона - 3D-печать, питание от Arduino. Меня все больше и больше интересует идея гонок на дронах с видео от первого лица (FPV). Недавно я приобрел небольшой дрон, и мне нужен был способ отсчитывать время прохождения круга - вот результат моего проекта. Эта посадочная площадка для дрона оснащена встроенным ul