Spisu treści:

MicroPython na płytce czujników Complex Arts: 3 kroki
MicroPython na płytce czujników Complex Arts: 3 kroki

Wideo: MicroPython na płytce czujników Complex Arts: 3 kroki

Wideo: MicroPython na płytce czujników Complex Arts: 3 kroki
Wideo: Master GPIO with Raspberry Pi Pico & MicroPython - Part 2 2024, Listopad
Anonim
MicroPython na tablicy czujników Complex Arts
MicroPython na tablicy czujników Complex Arts
MicroPython na tablicy czujników Complex Arts
MicroPython na tablicy czujników Complex Arts

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

Praca z MicroPythonem
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: