Kazalo:

MicroPython na plošči senzorjev za kompleksne umetnosti: 3 koraki
MicroPython na plošči senzorjev za kompleksne umetnosti: 3 koraki

Video: MicroPython na plošči senzorjev za kompleksne umetnosti: 3 koraki

Video: MicroPython na plošči senzorjev za kompleksne umetnosti: 3 koraki
Video: ESP32 Turorial 1 - Introduction to SunFounder's ESP32 IoT Learnig kit Software and Arduino IDE 2024, November
Anonim
MicroPython na plošči senzorjev za kompleksne umetnosti
MicroPython na plošči senzorjev za kompleksne umetnosti
MicroPython na plošči senzorjev za kompleksne umetnosti
MicroPython na plošči senzorjev za kompleksne umetnosti

Eden najbolj neverjetnih vidikov mikrokrmilnika ESP32 je njegova sposobnost delovanja MicroPythona. To lahko storite na dva načina: z izvajanjem polnih programov Python ali interaktivno prek konzole. Ta Instructable bo pokazal, kako uporabljati MicroPython v obe smeri s pomočjo Senzorne plošče Complex Arts. Najprej bomo zagnali primer aplikacije, ki zbira podatke merilnika pospeška iz IMO BNO_085, nato bomo uporabili serijski program za interaktivno programiranje v Pythonu.

Raven: Ta vadnica predvideva nekaj znanja o Pythonu in da je Python nameščen. Predpostavlja tudi poznavanje osnovnih terminalskih ukazov.

Orodja: Edina orodja, ki jih potrebujemo, bodo senzorska plošča, terminalni program in program serijske konzole. V računalniku Mac lahko preprosto uporabite terminal. V računalniku z operacijskim sistemom Windows boste morali prenesti in namestiti terminalski program. Za serijsko konzolo. Kiti so vedno dobra izbira.

1. korak: Pridobite vdelano programsko opremo in knjižnice

Za začetek bomo morali prenesti vdelano programsko opremo po meri, ki jo ponuja Complex Arts, in jo nato utripati na ploščo senzorjev. Vdelano programsko opremo najdete tukaj:

Prenesite datoteko firmware.bin in jo postavite v izbrano mapo. Sčasoma boste potrebovali tudi vzorčni program Complex Arts, zato bi to lahko storili tudi zdaj; pojdite na: https://github.com/ComplexArts/SensorBoardPython in git clone ali prenesite na izbrano lokacijo.

Ko dobite datoteke, bomo potrebovali nekaj paketov za povezavo z ESP32. Prvi paket, ki ga potrebujemo, je esptool.py. Če ga želite namestiti, preprosto vnesite

pip install esptool

v terminalu.

Ko je esptool nameščen, lahko čip izbrišemo in znova utripamo. Če želite to narediti, vnesite

esptool.py --chip esp32 --port COM4 erase_flash

za vrata vnesite serijska vrata, ki sovpadajo s senzorsko ploščo. Na Macu bi to izgledalo nekako kot --port /dev /ttyUSB0

Ko to naredimo, bomo čip utripali z:

esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin

Ponovno ustrezno spremenite vrata.

2. korak: Delo z MicroPythonom

Delo z MicroPythonom
Delo z MicroPythonom

Če na tej točki preverimo serijski izhod plošče senzorjev, bomo videli Python REPL (zanka read-eval-print: >>>) Za to bomo potrebovali program serijske konzole. Kiti so dobra izbira, saj ponujajo možnosti za SSH in telnet, pa tudi preprosto serijsko komunikacijo, kot jo bomo počeli tukaj. putty.org. Ko ga namestite, ga odprite in v razdelku »Vrsta povezave« izberite »Serijsko«. Vnesti morate isto ime serijskega vhoda, ki ste ga vnesli za esptool zgoraj, nato pa hitrost prenosa 115200 za hitrost. Pojdite naprej in kliknite »Odpri«. In tu je Python!

Zdaj bomo želeli naložiti in zagnati našo primer kode. Če želite to narediti, pojdite v mapo, kamor ste prej shranili primere SensorBoardPython. Potrebovali bomo odličen paket ampy Adafruit. To lahko namestite z:

pip install adafruit-ampy = 0,6,3

Ko ga imate, uporabite ampy, da naložite primer merilnika pospeška na ploščo:

ampy -p COM4 dal accelerometer.py

(seveda ustrezno spremenite pristanišče). Zdaj ponastavite ploščo s tipko za ponastavitev. Na tej točki se bomo vrnili na Putty in ob pozivu >>> vnesite

merilnik pospeška za uvoz

Viola! Na nadzorni plošči zdaj izvajate kodo accelerometer.py! Koda bo delovala 20 sekund, nato pa se ustavila. Upoštevajte, da med delovanjem kode merilnika pospeška modra LED na plošči utripa. Za tiste, ki bolje poznajo Python, boste opazili, da se to izvaja brez navojev in brez odlašanja (). To je posledica uporabe Pythonove knjižnice asyncio, ki ponuja odlične metode za istočasno izvajanje nalog in je zelo uporabna na vgrajenih platformah, kot je ESP32. Če tega ne poznate, je vredno preveriti; tukaj je odlična vadnica: https://github.com/peterhinch/micropython-async/b… (vendar bodite opozorjeni, da je malo omamna).

3. korak: MicroPython prek zaporednega

Nazaj na nalogo! Ko se koda merilnika pospeška ustavi, boste spet videli Python >>>. Zdaj lahko interaktivno programiramo s ploščo senzorjev kot našim tolmačem Python. Če želite to narediti, vnesite

>> x = 10

>> y = 11

>> x + y

21

Čeprav je to najosnovnejši primer, lahko z lahkoto začnemo ustvarjati bolj zapleteno kodo z uporabo knjižnic Complex Arts. To vam omogoča izvajanje pozicijskih meritev in gibanja med letenjem z nadzorom v realnem času. Z zatiči GPIO, ki so na voljo na plošči senzorjev, lahko preprosto povežete servomotorje, luči, senzorje, motorje ali poljubno število fizičnih naprav, pri čemer jih uporabite interaktivno ali prek programa Python. Zabavaj se!

Za več informacij si oglejte te druge vire:

complexarts.net/home/

complexarts.net/docs/bno085/

Priporočena: