Satura rādītājs:

MicroPython kompleksā mākslas sensoru padomē: 3 soļi
MicroPython kompleksā mākslas sensoru padomē: 3 soļi

Video: MicroPython kompleksā mākslas sensoru padomē: 3 soļi

Video: MicroPython kompleksā mākslas sensoru padomē: 3 soļi
Video: Master GPIO with Raspberry Pi Pico & MicroPython - Part 2 2024, Novembris
Anonim
MicroPython kompleksā mākslas sensoru padomē
MicroPython kompleksā mākslas sensoru padomē
MicroPython kompleksā mākslas sensoru padomē
MicroPython kompleksā mākslas sensoru padomē

Viens no pārsteidzošākajiem ESP32 mikrokontrollera aspektiem ir tā spēja darbināt MicroPython. To var izdarīt divos veidos: palaižot pilnas Python programmas vai interaktīvi, izmantojot konsoles lietojumprogrammu. Šajā pamācībā tiks parādīts, kā izmantot MicroPython abos veidos, izmantojot kompleksās mākslas sensoru paneli. Vispirms mēs palaidīsim lietojumprogrammas piemēru, kas apkopo akselerometra datus no BNO_085 IMU, pēc tam mēs izmantosim sērijveida programmu, lai interaktīvi ieprogrammētu Python.

Līmenis: šajā apmācībā ir zināmas zināšanas par Python un ka Python ir instalēts. Tas arī uzņemas zināšanas par termināļa pamata komandām.

Rīki: Vienīgie rīki, kas mums būs nepieciešami, būs sensoru panelis, termināļa programma un sērijas konsoles programma. Mac datorā varat vienkārši izmantot termināli. Windows datorā jums būs jālejupielādē un jāinstalē termināļa programma. Sērijas konsolei. Tepe vienmēr ir laba izvēle.

1. darbība: programmaparatūras un bibliotēku iegūšana

Lai sāktu darbu, mums būs jālejupielādē kompleksās mākslas nodrošinātā pielāgotā programmaparatūra un pēc tam tā jābloķē sensoru panelī. Programmaparatūru var atrast šeit:

Lejupielādējiet firmware.bin failu un ievietojiet to izvēlētajā mapē. Galu galā jums būs nepieciešama arī kompleksās mākslas piemēru programma, tāpēc to varētu izdarīt arī tagad; dodieties uz vietni https://github.com/ComplexArts/SensorBoardPython un git klonu vai lejupielādējiet izvēlētajā vietā.

Kad esat ieguvis failus, mums būs vajadzīgas dažas paketes, lai izveidotu savienojumu ar ESP32. Pirmā pakete, kas mums būs nepieciešama, ir esptool.py. Lai to instalētu, vienkārši ierakstiet

pip instalēt esptool

terminālī.

Kad esptool ir instalēts, mēs varam izdzēst mikroshēmu un pēc tam atkārtoti mirgot. Lai to izdarītu, ievadiet

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

portam ievadiet seriālo portu, kas sakrīt ar sensoru paneli. Operētājsistēmā Mac tas izskatītos līdzīgi --port /dev /ttyUSB0

Kad tas ir izdarīts, mēs mirgosim mikroshēmā ar:

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

Atkal attiecīgi mainiet ostu.

2. darbība. Darbs ar MicroPython

Darbs ar MicroPython
Darbs ar MicroPython

Ja šajā brīdī pārbaudīsim sensoru paneļa sērijveida izvadi, mēs redzēsim Python REPL (lasīšanas-novērtēšanas cilpa: >>>). Lai to izdarītu, mums būs nepieciešama sērijas konsoles programma. Špaktele ir laba iespēja, jo tā piedāvā SSH un telnet iespējas, bet arī vienkāršu sērijas komunikāciju, kā mēs šeit darīsim. putty.org. Kad esat to instalējis, atveriet to un sadaļā “Savienojuma veids” atlasiet “Seriālais”. Jums būs jāievada tas pats seriālā porta nosaukums, kuru ievadījāt iepriekš minētajam esptoolam, un tad ātruma ātrums 115200. Dodieties uz priekšu un noklikšķiniet uz “Atvērt”. Un tur ir Python!

Tagad mēs vēlamies augšupielādēt un palaist mūsu parauga kodu. Lai to izdarītu, dodieties uz mapi, kurā iepriekš saglabājāt SensorBoardPython piemērus. Mums būs nepieciešama Adafruit lieliskā ampy pakete. To var instalēt, izmantojot:

pip install adafruit-ampy = 0.6.3

Kad esat to ieguvis, izmantojiet ampy, lai tabulā augšupielādētu akselerometra piemēru:

ampy -p COM4 ielieciet akselerometru.py

(attiecīgi mainot ostu). Tagad atiestatiet savu dēli, izmantojot atiestatīšanas pogu. Šajā brīdī mēs atgriezīsimies pie Putty un >>> uzvednē ierakstiet

importēt akselerometru

Viola! Tagad sensoru panelī jūs izmantojat kodu accelerometer.py! Kods darbosies 20 sekundes, pēc tam tiks apturēts. Ievērojiet, ka, kamēr darbojas akselerometra kods, uz tāfeles mirgo zilā gaismas diode. Tiem, kas vairāk pazīst Python, pamanīsit, ka tas tiek darīts bez pavedieniem un bez kavēšanās (). Tas ir saistīts ar Python asyncio bibliotēkas izmantošanu, kas nodrošina lieliskas metodes uzdevumu vienlaicīgai izpildei un ir ļoti noderīga iegultās platformās, piemēram, ESP32. Ja jūs to neesat pazīstams, ir vērts to pārbaudīt; šeit ir lieliska apmācība: https://github.com/peterhinch/micropython-async/b… (bet brīdiniet, tā ir nedaudz reibinoša).

3. darbība: MicroPython pār seriālu

Atpakaļ pie uzdevuma! Kad akselerometra kods apstāsies, jūs atkal redzēsit Python >>>. Tagad mēs varam interaktīvi programmēt, izmantojot sensoru paneli kā mūsu Python tulku. Lai to izdarītu, ievadiet

>> x = 10

>> y = 11

>> x + y

21

Lai gan tas ir visvienkāršākais piemērs, mēs varam viegli sākt veidot sarežģītāku kodu, par izejas punktu izmantojot kompleksās mākslas bibliotēkas. Tas ļauj jums veikt pozicionālos mērījumus un kustību, izmantojot reāllaika vadību. Izmantojot sensoru panelī pieejamos GPIO tapas, jūs varat viegli savienot servo, gaismas, sensorus, motorus vai jebkuru fizisku ierīci, izmantojot tos interaktīvi vai izmantojot Python programmu. Izklaidējieties!

Lai iegūtu vairāk informācijas, skatiet šos citus resursus:

complexarts.net/home/

complexarts.net/docs/bno085/

Ieteicams: