Obsah:
Video: MicroPython na desce senzorů komplexních umění: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Jedním z nejúžasnějších aspektů mikrokontroléru ESP32 je jeho schopnost spouštět MicroPython. To lze provést dvěma způsoby: spuštěním úplných programů Pythonu nebo interaktivně prostřednictvím konzolové aplikace. Tento Instructable předvede, jak používat MicroPython oboustranně pomocí Complex Arts Sensor Board. Nejprve spustíme ukázkovou aplikaci, která shromažďuje data akcelerometru z BNO_085 IMU, poté použijeme sériový program k interaktivnímu programování v Pythonu.
Úroveň: Tento tutoriál předpokládá určité znalosti Pythonu a to, že je Python nainstalován. Předpokládá také znalost základních příkazů terminálu.
Nástroje: Jediné nástroje, které budeme potřebovat, budou Sensor Board, terminálový program a program sériové konzoly. Na počítači Mac můžete jednoduše použít terminál. Na počítači se systémem Windows budete muset stáhnout a nainstalovat terminálový program. Pro sériovou konzoli. Tmel je vždy dobrá volba.
Krok 1: Získání firmwaru a knihoven
Abychom mohli začít, musíme si stáhnout vlastní firmware poskytovaný společností Complex Arts a poté jej zaslat flash na desku senzoru. Firmware najdete zde:
Stáhněte si soubor firmware.bin a umístěte jej do vámi zvolené složky. Budete také nakonec potřebovat ukázkový program Complex Arts, takže to můžete také udělat nyní; přejděte na: https://github.com/ComplexArts/SensorBoardPython a git clone nebo si stáhněte na vámi zvolené místo.
Jakmile budete mít soubory, budeme potřebovat několik balíčků pro propojení s ESP32. První balíček, který budeme potřebovat, je esptool.py. Chcete -li jej nainstalovat, jednoduše zadejte
pip install esptool
v terminálu.
Jakmile je esptool nainstalován, můžeme čip vymazat a znovu bliknout. Chcete -li to provést, zadejte
esptool.py --chip esp32 --port COM4 erase_flash
pro port zadejte sériový port, který se shoduje s deskou senzoru. Na počítači Mac by to vypadalo něco jako --port /dev /ttyUSB0
Jakmile to bude hotové, načteme čip pomocí:
esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin
Opět odpovídajícím způsobem změňte port.
Krok 2: Práce s MicroPythonem
Pokud v tomto bodě zkontrolujeme sériový výstup desky senzoru, uvidíme Python REPL (smyčka read-eval-print: >>>) K tomu budeme potřebovat program pro sériovou konzoli. Putty je dobrá volba, protože poskytuje možnosti pro SSH a telnet, ale také jednoduchou sériovou komunikaci, jak zde budeme postupovat. putty.org. Jakmile to nainstalujete, otevřete jej a v části „Typ připojení:“vyberte „Sériové“: Budete muset zadat stejný název sériového portu, jaký jste zadali pro výše uvedený esptool, a poté přenosovou rychlost 115200 pro Rychlost. Pokračujte a klikněte na „Otevřít“. A je tu Python!
Nyní budeme chtít nahrát a spustit náš ukázkový kód. Chcete -li to provést, přejděte do složky, kam jste dříve uložili příklady SensorBoardPython. Budeme potřebovat úžasný balíček amaf Adafruit. Můžete jej nainstalovat pomocí:
pip install adafruit-ampy = 0.6.3
Jakmile to máte, použijte ampy k nahrání příkladu akcelerometru na desku:
ampy -p COM4 dal accelerometer.py
(samozřejmě podle toho změnit port). Nyní resetujte desku tlačítkem reset. V tuto chvíli se vrátíme k tmelu a na výzvu >>> zadejte
importní akcelerometr
Viola! Nyní na desce senzorů spouštíte kód accelerometer.py! Kód poběží 20 sekund, poté se zastaví. Všimněte si, že zatímco kód akcelerometru běží, modrá LED na desce bliká. Pro ty, kteří jsou s Pythonem obeznámenější, si všimnete, že se to děje bez vytváření vláken a bez prodlení (). Důvodem je použití asynciové knihovny Pythonu, která poskytuje skvělé metody pro souběžné spouštění úloh a je velmi užitečná na vestavěných platformách, jako je ESP32. Pokud se v tom nevyznáte, vyplatí se to vyzkoušet; zde je skvělý návod: https://github.com/peterhinch/micropython-async/b… (ale pozor, je to trochu opojné).
Krok 3: MicroPython Over Serial
Zpět k aktuálnímu úkolu! Když se kód akcelerometru zastaví, znovu uvidíte Python >>>. Nyní můžeme interaktivně programovat pomocí Sensor Board jako našeho tlumočníka Pythonu. Chcete -li to provést, zadejte
>> x = 10
>> y = 11
>> x + y
21
I když se jedná o nejzákladnější příklady, můžeme snadno začít vytvářet složitější kód pomocí knihoven Complex Arts jako výchozího bodu. To vám umožní provádět poziční měření a pohyb za běhu s ovládáním v reálném čase. S piny GPIO dostupnými na desce senzorů můžete snadno připojit serva, světla, senzory, motory nebo libovolný počet fyzických zařízení, a to buď interaktivně, nebo prostřednictvím programu Python. Bavte se!
Další informace najdete v těchto dalších zdrojích:
complexarts.net/home/
complexarts.net/docs/bno085/
Doporučuje:
Generování umění z komentářů: 5 kroků (s obrázky)
Generování umění z komentářů: Tento projekt je ambiciózní, kde chceme k tvorbě umění použít některé z nejspornějších částí internetu, sekce komentářů a chatovací místnosti. Chceme také, aby byl projekt snadno dostupný, aby si každý mohl vyzkoušet generování
Odpájení komplexních součástí: 4 kroky
Odpájení složitých komponent: Chtěli jste někdy dostat ten náhodný čip nebo součást z té náhodné desky s obvody, kterou máte? Jistě, to se snadno dělá s věcmi, jako jsou kondenzátory nebo LED, ale pokud jde o složitější věci, je to trochu těžší … A když se věci dotknou
Inteligentní mapa Idaho s LED daty + umění: 8 kroků (s obrázky)
Smart Map of Idaho With LED Data + Art: Vždy jsem chtěl způsob, jak umělecky a dynamicky zobrazit geografická data pomocí „malování“mapa se světlem. Žiji v Idahu a miluji svůj stát, takže jsem si myslel, že by to bylo skvělé místo, kde začít! Kromě uměleckého díla
Metody detekce vodní hladiny Arduino pomocí ultrazvukového senzoru a Funduino vodního senzoru: 4 kroky
Metody detekce hladiny vody Arduino pomocí ultrazvukového senzoru a Funduino senzoru vody: V tomto projektu vám ukážu, jak vytvořit levný detektor vody pomocí dvou metod: 1. Ultrazvukový senzor (HC-SR04) .2. Senzor vody Funduino
Jak upgradovat firmware na univerzální desce plošných spojů: 4 kroky
Jak upgradovat firmware na univerzální desce plošných spojů: Projekt Universal PCB (zkráceně UPCB) byl zahájen s cílem umožnit jediný herní ovladač, zejména bojové hole, na co nejvíce různých konzolách. Informace o projektu najdete v následujícím vlákně na Shoryuken.com