Съдържание:
- Стъпка 1: Вземете фърмуера и библиотеките
- Стъпка 2: Работа с MicroPython
- Стъпка 3: MicroPython над сериен
Видео: MicroPython на сензорната платка за сложни изкуства: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Един от най -удивителните аспекти на микроконтролера ESP32 е способността му да изпълнява MicroPython. Това може да стане по два начина: стартиране на пълни програми на Python или интерактивно чрез конзолно приложение. Този Instructable ще демонстрира как да използвате MicroPython и по двата начина с помощта на Complex Arts Sensor Board. Първо ще стартираме примерно приложение, което събира данни за акселерометър от BNO_085 IMU, след това ще използваме серийна програма за интерактивно програмиране в Python.
Ниво: Този урок предполага известно познаване на Python и че Python е инсталиран. Той също така предполага познаване на основните терминални команди.
Инструменти: Единствените инструменти, от които се нуждаем, ще бъдат сензорната платка, терминална програма и програма за серийна конзола. На Mac можете просто да използвате терминал. На машина с Windows ще трябва да изтеглите и инсталирате терминална програма. За серийната конзола. Шпакловката винаги е добър избор.
Стъпка 1: Вземете фърмуера и библиотеките
За да започнете, ще трябва да изтеглите персонализирания фърмуер, предоставен от Complex Arts, и след това да го прехвърлите на сензорната платка. Фърмуерът може да бъде намерен тук:
Изтеглете файла firmware.bin и го поставете в избраната от вас папка. В крайна сметка ще ви е необходима и примерната програма Complex Arts, така че бихте могли да го направите и сега; отидете на: https://github.com/ComplexArts/SensorBoardPython и git clone или изтеглете до избраното от вас място.
След като получите файловете, ще ни трябват няколко пакета за свързване с ESP32. Първият пакет, от който се нуждаем, е esptool.py. За да го инсталирате, просто напишете
pip install esptool
в терминала.
След като esptool е инсталиран, можем да изтрием, след което да флашнем отново чипа. За да направите това, въведете
esptool.py --chip esp32 -порт COM4 erase_flash
за порта, въведете серийния порт, който съвпада с сензорната платка. На Mac това би изглеждало нещо като --port /dev /ttyUSB0
След като това бъде направено, ние ще светнем чипа с:
esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin
Отново променете съответно порта.
Стъпка 2: Работа с MicroPython
Ако проверим серийния изход на сензорната платка на този етап, ще видим Python REPL (цикълът read-eval-print: >>>) За да направим това, ще ни трябва серийна конзолна програма. Putty е добър вариант, тъй като предоставя опции за SSH и telnet, но и проста серийна комуникация, както ще правим тук. putty.org. След като го инсталирате, отворете го и изберете „Сериен“под „Тип връзка:“Ще трябва да въведете същото име на сериен порт, което сте въвели за esptool по -горе, след това скорост на предаване от 115200 за скоростта. Продължете напред и кликнете върху „Отваряне“. И има Python!
Сега ще искаме да качим и изпълним нашия примерен код. За да направите това, отидете в папката, където по -рано сте запазили примерите на SensorBoardPython. Ще се нуждаем от страхотния ампи пакет на Adafruit. Можете да го инсталирате с:
pip install adafruit-ampy = 0.6.3
След като го имате, използвайте ampy, за да качите примера на акселерометъра на дъската:
ampy -p COM4 постави accelerometer.py
(промяна на пристанището съответно, разбира се). Сега нулирайте дъската си с бутона за нулиране. На този етап ще се върнем към Putty и в подканата >>> въведете
акселерометър за внос
Виола! Вече използвате кода accelerometer.py на сензорната платка! Кодът ще работи в продължение на 20 секунди, след което ще спре. Забележете, че докато кодът на акселерометъра работи, синият светодиод на платката мига. За тези, които са по -запознати с Python, ще забележите, че това се прави без нишки и без забавяне (). Това се дължи на използването на библиотеката на Python asyncio, която предоставя чудесни методи за едновременно изпълнение на задачи и е изключително полезна на вградени платформи като ESP32. Ако не сте запознати с него, струва си да проверите; тук има страхотен урок: https://github.com/peterhinch/micropython-async/b… (но имайте предвид, че е малко опияняващ).
Стъпка 3: MicroPython над сериен
Обратно към задачата! Когато кодът на акселерометъра спре, отново ще видите Python >>>. Сега можем да програмираме интерактивно, като използваме сензорната платка като наш интерпретатор на Python. За да направите това, въведете
>> x = 10
>> y = 11
>> x + y
21
Въпреки че това е най -основният от примерите, лесно можем да започнем да създаваме по -сложен код, използвайки библиотеките Complex Arts като отправна точка. Това ви позволява да извършвате позиционни измервания и движение в движение, с контрол в реално време. С GPIO щифтовете, налични на сензорната платка, можете лесно да свържете сервомотори, светлини, сензори, двигатели или произволни физически устройства, като ги използвате интерактивно или чрез програма на Python. Забавлявай се!
За повече информация вижте тези други ресурси:
complexarts.net/home/
complexarts.net/docs/bno085/
Препоръчано:
Моят CR10 New Life: SKR дънна платка и Marlin: 7 стъпки
Моят CR10 New Life: SKR дънна платка и Marlin: Моята стандартна MELZI платка беше мъртва и се нуждаех от спешна подмяна, за да съживя CR10. Първа стъпка, изберете резервна платка, така че избрах Bigtreetech skr v1.3, че е 32 -битова платка, с драйвери TMC2208 (с поддръжка на режим UART
Усилвател за телефон с персонализирана печатна платка: 8 стъпки (със снимки)
Усилвател за слушалки с персонализирана печатна платка: Изграждам (и се опитвам да усъвършенствам) усилвателя за слушалки от известно време. Някои от вас биха видели предишните ми „ибле“версии. За тези, които не са, съм ги свързал по -долу. В по -старите си версии винаги съм използвал прототипна платка за изграждане на
Импеданс на компонента, използващ сложни математически методи: 6 стъпки
Компенентен импеданс, използващ сложна математика: Ето практическо приложение на сложни математически уравнения. Това всъщност е много полезна техника, която можете да използвате, за да характеризирате компоненти или дори антена на предварително определени честоти. Ако сте се занимавали с електроника, може да е семейство
Модулна неопикселова пробивна платка с отворен код, подходяща за създаване на платка: 4 стъпки (със снимки)
Модулна неопикселова пробивна платка с отворен код, подходяща за създаване на платка: Тази инструкция е за малка (8 мм х 10 мм) лесна за разбиване дъска за неопикселови светодиоди, която може да се подрежда и споява една върху друга, но също така осигурява много по-структурна твърдост от тънката LED лента в много по -малка форма фактически
Издушете вашата платка (как да добавите LED индикатор за захранване към прозрачна платка на Solarbotics): 7 стъпки
Издушете вашата платка (как да добавите LED индикатор за захранване към прозрачна платка на Solarbotics): Тези прозрачни дъски са много подобни на всяка друга електроника, но са ясни! И така, какво може да се направи с ясна таблица? Мисля, че очевидният отговор е добавяне на светодиоди за захранване