Sisällysluettelo:

MicroPython Complex Arts Sensor Boardilla: 3 vaihetta
MicroPython Complex Arts Sensor Boardilla: 3 vaihetta

Video: MicroPython Complex Arts Sensor Boardilla: 3 vaihetta

Video: MicroPython Complex Arts Sensor Boardilla: 3 vaihetta
Video: Raspberry Pi Pico & VL53L0X for MicroPython 2024, Marraskuu
Anonim
MicroPython Complex Arts Sensor Boardissa
MicroPython Complex Arts Sensor Boardissa
MicroPython Complex Arts Sensor Boardissa
MicroPython Complex Arts Sensor Boardissa

Yksi hämmästyttävimmistä ESP32 -mikrokontrollerin ominaisuuksista on sen kyky käyttää MicroPythonia. Tämä voidaan tehdä kahdella tavalla: suorittamalla täydet Python -ohjelmat tai vuorovaikutteisesti konsolisovelluksen kautta. Tämä opas osoittaa, kuinka MicroPythonia käytetään molempiin suuntiin käyttämällä Complex Arts Sensor Boardia. Suoritamme ensin esimerkkisovelluksen, joka kerää kiihtyvyysmittarin tietoja BNO_085 IMU: sta, ja käytämme sitten sarjaohjelmaa interaktiiviseen ohjelmointiin Pythonissa.

Taso: Tässä opetusohjelmassa oletetaan jonkin verran tietoa Pythonista ja siitä, että Python on asennettu. Se olettaa myös peruskomentojen peruskomentojen tuntemuksen.

Työkalut: Ainoat työkalut, joita tarvitsemme, ovat anturikortti, pääteohjelma ja sarjakonsoliohjelma. Macissa voit käyttää terminaalia. Windows -koneessa sinun on ladattava ja asennettava pääteohjelma. Sarjakonsolille. Kitti on aina hyvä valinta.

Vaihe 1: Laiteohjelmiston ja kirjastojen hankkiminen

Aloittaaksesi meidän on ladattava Complex Artsin tarjoama mukautettu laiteohjelmisto ja salattava se sitten anturikortille. Laiteohjelmisto löytyy täältä:

Lataa firmware.bin -tiedosto ja aseta se valitsemaasi kansioon. Tarvitset lopulta myös Complex Arts -esimerkkiohjelman, joten voit tehdä sen myös nyt; siirry osoitteeseen https://github.com/ComplexArts/SensorBoardPython ja git -klooni tai lataa valitsemasi sijainti.

Kun olet saanut tiedostot, tarvitsemme muutamia paketteja ESP32 -liitäntään. Ensimmäinen tarvitsemamme paketti on esptool.py. Asenna se kirjoittamalla

pip asenna esptool

terminaalissa.

Kun esptool on asennettu, voimme poistaa sirun ja vilkaista sen uudelleen. Voit tehdä tämän kirjoittamalla

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

porttia varten kirjoita sarjaportti, joka on sama kuin anturikortti. Macissa se näyttäisi jotain --port /dev /ttyUSB0

Kun tämä on tehty, vilkkumme sirulla:

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

Vaihda portti uudelleen vastaavasti.

Vaihe 2: Työskentely MicroPythonin kanssa

Työskentely MicroPythonin kanssa
Työskentely MicroPythonin kanssa

Jos tarkistamme anturikortin sarjalähdön tässä vaiheessa, näemme Python REPL: n (luku-eval-tulostussilmukka: >>>) Tätä varten tarvitsemme sarjakonsoliohjelman. Putty on hyvä vaihtoehto, koska se tarjoaa vaihtoehtoja SSH: lle ja telnetille, mutta myös yksinkertaista sarjaliikennettä, kuten teemme täällä. putty.org. Kun olet asentanut sen, avaa se ja valitse "Yhteystyyppi" -kohdasta "Sarja". Sinun on kirjoitettava sama sarjaportin nimi, jonka annoit yllä olevalle esptoolille, ja sitten siirtonopeus 115200 nopeudelle. Siirry eteenpäin ja napsauta "Avaa". Ja siellä on Python!

Nyt haluamme ladata ja suorittaa esimerkkikoodimme. Voit tehdä tämän siirtymällä kansioon, johon olet aiemmin tallentanut SensorBoardPython -esimerkit. Tarvitsemme Adafruitin mahtavan ampy -paketin. Voit asentaa sen seuraavilla tavoilla:

pip install adafruit-ampy = 0.6.3

Kun olet saanut sen, lähetä kiihtyvyysmittarin esimerkki taululle ampy -näppäimellä:

ampy -p COM4 laita kiihtyvyysmittari.py

(tietysti portin vaihtaminen). Nollaa korttisi nyt nollauspainikkeella. Palaamme Puttyyn tässä vaiheessa ja kirjoita >>> kehotteeseen

tuoda kiihtyvyysanturi

Viola! Käytät nyt accelerometer.py -koodia anturikortilla! Koodi toimii 20 sekuntia ja pysähtyy. Huomaa, että kun kiihtyvyysmittarin koodi on käynnissä, sininen LED -merkkivalo vilkkuu. Niille, jotka tuntevat paremmin Pythonin, huomaat, että tämä tehdään ilman langatusta ja viipymättä (). Tämä johtuu Pythonin asyncio -kirjaston käytöstä, joka tarjoaa erinomaisia menetelmiä tehtävien suorittamiseen samanaikaisesti ja on erittäin hyödyllinen upotetuilla alustoilla, kuten ESP32. Jos et tunne sitä, kannattaa tarkistaa; täällä on loistava opetusohjelma: https://github.com/peterhinch/micropython-async/b… (mutta varoitan, se on vähän hämmentävää).

Vaihe 3: MicroPython Serialin kautta

Takaisin käsillä olevaan tehtävään! Kun kiihtyvyysmittarin koodi pysähtyy, näet jälleen Python >>>. Nyt voimme ohjelmoida vuorovaikutteisesti käyttämällä Sensor Boardia Python -tulkkina. Voit tehdä tämän kirjoittamalla

>> x = 10

>> y = 11

>> x + y

21

Vaikka tämä on yksinkertaisin esimerkki, voimme helposti aloittaa monimutkaisemman koodin luomisen käyttämällä Complex Arts -kirjastoja lähtökohtana. Tämän avulla voit suorittaa sijaintimittauksia ja liikettä lennossa reaaliaikaisella ohjauksella. Anturikortilla olevien GPIO -nastojen avulla voit helposti yhdistää servoja, valoja, antureita, moottoreita tai mitä tahansa fyysisiä laitteita käyttämällä niitä joko vuorovaikutteisesti tai Python -ohjelman kautta. Pidä hauskaa!

Jos haluat lisätietoja, tutustu muihin resursseihin:

complexarts.net/home/

complexarts.net/docs/bno085/

Suositeltava: