
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02


Jednym z najbardziej niesamowitych aspektów mikrokontrolera ESP32 jest jego zdolność do obsługi MicroPythona. Można to zrobić na dwa sposoby: uruchamiając pełne programy Pythona lub interaktywnie przez aplikację konsolową. Ten instruktaż pokaże, jak korzystać z MicroPythona w obie strony przy użyciu płytki czujników Complex Arts. Najpierw uruchomimy przykładową aplikację, która zbiera dane akcelerometru z IMU BNO_085, a następnie użyjemy programu szeregowego do interaktywnego programowania w Pythonie.
Poziom: W tym samouczku zakłada się pewną znajomość języka Python i zainstalowany język Python. Zakłada również znajomość podstawowych poleceń terminala.
Narzędzia: Jedynymi narzędziami, których będziemy potrzebować, będą płyta czujnika, program terminala i program konsoli szeregowej. Na Macu możesz po prostu użyć terminala. Na komputerze z systemem Windows musisz pobrać i zainstalować program terminala. Do konsoli szeregowej. Putty to zawsze dobry wybór.
Krok 1: Pobieranie oprogramowania układowego i bibliotek
Aby rozpocząć, musimy pobrać niestandardowe oprogramowanie dostarczone przez Complex Arts, a następnie przesłać je do płytki czujnika. Oprogramowanie można znaleźć tutaj:
Pobierz plik firmware.bin i umieść go w wybranym folderze. W końcu będziesz potrzebować przykładowego programu Complex Arts, więc równie dobrze możesz to zrobić teraz; przejdź do: https://github.com/ComplexArts/SensorBoardPython i git clone lub pobierz do wybranej lokalizacji.
Gdy już zdobędziesz pliki, będziemy potrzebować kilku pakietów do połączenia z ESP32. Pierwszy pakiet, którego będziemy potrzebować, to esptool.py. Aby go zainstalować, po prostu wpisz
pip zainstalować esptool
w terminalu.
Po zainstalowaniu esptool możemy wymazać, a następnie ponownie sflashować chip. Aby to zrobić, wpisz
esptool.py --chip esp32 --port COM4 erase_flash
dla portu wprowadź port szeregowy, który pokrywa się z płytą czujnika. Na Macu wyglądałoby to mniej więcej tak: --port /dev/ttyUSB0
Gdy to zrobisz, sflashujemy chip za pomocą:
esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin
Ponownie zmień odpowiednio port.
Krok 2: Praca z MicroPythonem

Jeśli w tym momencie sprawdzimy wyjście szeregowe płyty Sensor Board, zobaczymy Python REPL (pętla read-eval-print: >>>). Aby to zrobić, będziemy potrzebować programu konsoli szeregowej. Putty jest dobrą opcją, ponieważ zapewnia opcje dla SSH i telnet, ale także prostą komunikację szeregową, jak będziemy tutaj robić. putty.org. Po zainstalowaniu otwórz go i wybierz "Serial" w "Typ połączenia:" Musisz wpisać tę samą nazwę portu szeregowego, którą wprowadziłeś dla powyższego esptool, a następnie szybkość transmisji 115200 dla prędkości. Śmiało i kliknij „Otwórz”. I jest Python!
Teraz będziemy chcieli przesłać i uruchomić nasz przykładowy kod. W tym celu przejdź do folderu, w którym wcześniej zapisałeś przykłady SensorBoardPython. Będziemy potrzebować niesamowitego, rozbudowanego pakietu Adafruit. Możesz to zainstalować za pomocą:
pip zainstaluj adafruit-ampy=0.6.3
Gdy już go masz, użyj ampy, aby wgrać przykład akcelerometru na tablicę:
ampy -p COM4 umieścić accelerometer.py
(oczywiście odpowiednio zmieniając port). Teraz zresetuj swoją tablicę za pomocą przycisku resetowania. W tym momencie wrócimy do Putty i po znaku zachęty >>> wpisz
importuj akcelerometr
Altówka! Uruchamiasz teraz kod accelerometer.py na tablicy czujników! Kod będzie działał przez 20 sekund, a następnie się zatrzyma. Zauważ, że podczas działania kodu akcelerometru niebieska dioda LED na płycie miga. Dla tych, którzy są bardziej zaznajomieni z Pythonem, zauważysz, że odbywa się to bez wątków i bez delay(). Wynika to z użycia biblioteki asyncio Pythona, która zapewnia doskonałe metody jednoczesnego uruchamiania zadań i jest bardzo przydatna na platformach wbudowanych, takich jak ESP32. Jeśli nie znasz tego, warto sprawdzić; jest tu świetny samouczek: https://github.com/peterhinch/micropython-async/b… (ale uważaj, to trochę zawrotne).
Krok 3: MicroPython przez port szeregowy
Powrót do aktualnego zadania! Gdy kod akcelerometru się zatrzyma, ponownie zobaczysz Pythona >>>. Teraz możemy interaktywnie programować za pomocą Sensor Board jako naszego interpretera Pythona. Aby to zrobić, wpisz
>>x = 10
>>y = 11
>>x + y
21
Chociaż jest to najbardziej podstawowy przykład, możemy łatwo zacząć tworzyć bardziej złożony kod, używając jako punktu wyjścia bibliotek Complex Arts. Umożliwia to wykonywanie pomiarów położenia i ruchu w locie, z kontrolą w czasie rzeczywistym. Dzięki pinom GPIO dostępnym na płytce Sensor Board możesz łatwo podłączyć serwomechanizmy, światła, czujniki, silniki lub dowolną liczbę urządzeń fizycznych, używając ich interaktywnie lub za pomocą programu w języku Python. Baw się dobrze!
Aby uzyskać więcej informacji, zapoznaj się z tymi innymi zasobami:
complexarts.net/home/
complexarts.net/docs/bno085/
Zalecana:
ESP12 Łatwe lutowanie na standardowej płytce drukowanej: 3 kroki

ESP12 Łatwe lutowanie na standardowej płytce drukowanej: Witam, chińskie ESP12 są bardzo tanie, ale są koszmarem do testowania na płytce stykowej lub do lutowania na płytce drukowanej ze względu na ich nietypowy 2 mm odstęp między nogami. Tworzę mały adapter wydrukowany w 3D i po kilku próbach znalazłem bardzo łatwe i niezawodne rozwiązanie
Fuzz gitary akustycznej na płytce do krojenia chleba: 3 kroki

Fuzz gitary akustycznej na płytce do krojenia chleba: Ostrzeżenie! Ten projekt został zaprojektowany do użytku z gitarą akustyczną, więc pamiętaj, że może nie pasować do gitary elektrycznej. O projekcie: Ten prosty projekt płyty prototypowej Fuzz składa się z naprawdę prostego, ale efektywnego obwodu. Jest przeznaczony do dodania tak
Używanie płytki czujników Complex Arts do kontroli czystych danych przez Wi-Fi: 4 kroki (ze zdjęciami)

Używanie płytki czujników Complex Arts do kontroli czystych danych przez Wi-Fi: Czy kiedykolwiek chciałeś poeksperymentować z kontrolą gestów? Wprawiać rzeczy w ruch machnięciem ręki? Kontroluj muzykę jednym ruchem nadgarstka? Ten Instruktaż pokaże Ci, jak! Płytka czujnika Complex Arts (complexarts.net) to wszechstronny mikroc
8-bitowy komputer na płytce do krojenia chleba Przegląd: 3 kroki

8-bitowy komputer na płycie prototypowej Przegląd: Moim celem w tym projekcie było lepsze zrozumienie architektury komputera, projektowania sprzętu i języków na poziomie asemblera. Będąc Juniorem na uniwersytecie studiującym inżynierię komputerową, niedawno ukończyłem kursy z elektroniki, laboratoriów i
Robot autonomiczny Wallace - część 4 - dodanie czujników odległości na podczerwień i czujników „wzmacniacza”: 6 kroków

Robot autonomiczny Wallace – część 4 – Dodaj czujniki odległości na podczerwień i czujniki „wzmacniacza”: Witam, dzisiaj rozpoczynamy kolejny etap ulepszania możliwości Wallace'a. W szczególności staramy się poprawić jego zdolność wykrywania i omijania przeszkód za pomocą czujników odległości na podczerwień, a także wykorzystać możliwości kontrolera silnika Roboclaw