İçindekiler:

Complex Arts Sensör Kartında MicroPython: 3 Adım
Complex Arts Sensör Kartında MicroPython: 3 Adım

Video: Complex Arts Sensör Kartında MicroPython: 3 Adım

Video: Complex Arts Sensör Kartında MicroPython: 3 Adım
Video: Master GPIO with Raspberry Pi Pico & MicroPython - Part 2 2024, Kasım
Anonim
Karmaşık Sanatlar Sensör Kartında MicroPython
Karmaşık Sanatlar Sensör Kartında MicroPython
Karmaşık Sanatlar Sensör Kartında MicroPython
Karmaşık Sanatlar Sensör Kartında MicroPython

ESP32 mikrodenetleyicisinin en şaşırtıcı yönlerinden biri, MicroPython'u çalıştırma yeteneğidir. Bu, iki şekilde yapılabilir: tam Python programlarını çalıştırmak veya etkileşimli olarak bir konsol uygulaması aracılığıyla. Bu Eğitilebilir Tablo, MicroPython'un nasıl kullanılacağını, Complex Arts Sensor Board'u kullanmanın her iki yoludur. Önce BNO_085 IMU'dan ivmeölçer verilerini toplayan bir örnek uygulama çalıştıracağız, ardından Python'da etkileşimli olarak programlamak için bir seri program kullanacağız.

Düzey: Bu öğretici, Python hakkında biraz bilgi sahibi olduğunu ve Python'un kurulu olduğunu varsayar. Ayrıca temel terminal komutları hakkında bilgi sahibi olduğunu varsayar.

Araçlar: İhtiyacımız olan tek araç Sensör Kartı, bir terminal programı ve bir seri konsol programı olacak. Mac'te sadece terminali kullanabilirsiniz. Bir Windows makinesinde bir terminal programı indirmeniz ve yüklemeniz gerekir. Seri konsol için. Macun her zaman iyi bir seçimdir.

Adım 1: Ürün Yazılımını ve Kitaplıkları Alma

Başlamak için Complex Arts tarafından sağlanan özel üretici yazılımını indirmemiz ve ardından bunu Sensör Kartına yüklememiz gerekecek. Ürün yazılımı burada bulunabilir:

Firmware.bin dosyasını indirin ve seçtiğiniz klasöre yerleştirin. Ayrıca eninde sonunda Karmaşık Sanatlar örnek programına da ihtiyacınız olacak, bu yüzden şimdi de yapabilirsiniz; gidin: https://github.com/ComplexArts/SensorBoardPython ve git klonu veya seçtiğiniz konuma indirin.

Dosyaları aldıktan sonra, ESP32 ile arayüz oluşturmak için birkaç pakete ihtiyacımız olacak. İhtiyacımız olan ilk paket esptool.py. Yüklemek için yazmanız yeterlidir

pip kurulum esptool

terminalde.

esptool kurulduktan sonra, çipi silip yeniden flashlayabiliriz. Bunu yapmak için girin

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

bağlantı noktası için Sensör Kartı ile eşleşen seri bağlantı noktasını girin. Mac'te bu --port /dev/ttyUSB0 gibi görünürdü.

Bu yapıldıktan sonra, çipi şu şekilde yanıp söneceğiz:

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

Yine, bağlantı noktasını buna göre değiştirin.

Adım 2: MicroPython ile Çalışmak

MicroPython ile Çalışmak
MicroPython ile Çalışmak

Bu noktada Sensor Board'un seri çıkışını kontrol edersek Python REPL'yi (oku-değerlendir-yazdır döngüsü: >>>) göreceğiz. Bunu yapabilmek için bir seri konsol programına ihtiyacımız olacak. Putty, SSH ve telnet için seçenekler sağladığı için iyi bir seçenektir, ayrıca burada yapacağımız gibi basit seri iletişim. macun.org Bunu kurduktan sonra açın ve “Bağlantı türü” altında “Seri”yi seçin: Yukarıdaki esptool için girdiğiniz seri bağlantı noktası adının aynısını, ardından Hız için 115200 baud hızını yazmanız gerekir. Devam edin ve "Aç" ı tıklayın. Ve Python var!

Şimdi örnek kodumuzu yüklemek ve çalıştırmak isteyeceğiz. Bunu yapmak için, daha önce SensorBoardPython örneklerini kaydettiğiniz klasöre gidin. Adafruit'in harika ampy paketine ihtiyacımız olacak. Bunu şununla yükleyebilirsiniz:

pip kurulumu adafruit-ampy=0.6.3

Elinize geçtikten sonra, ivmeölçer örneğini panoya yüklemek için ampy kullanın:

ampy -p COM4 ivmeölçer.py koymak

(tabii ki buna göre portu değiştirerek). Şimdi kartınızı sıfırlama düğmesiyle sıfırlayın. Bu noktada Putty'ye geri döneceğiz ve >>> isteminde şunu yazın:

ivmeölçeri içe aktar

Viyola! Artık Sensör Kartında accelerometer.py kodunu çalıştırıyorsunuz! Kod 20 saniye boyunca çalışacak, sonra duracaktır. İvmeölçer kodu çalışırken karttaki mavi LED'in yanıp söndüğüne dikkat edin. Python'a daha aşina olanlar için, bunun iş parçacığı olmadan ve gecikmeden () yapıldığını fark edeceksiniz. Bunun nedeni, görevleri aynı anda çalıştırmak için harika yöntemler sağlayan ve ESP32 gibi gömülü platformlarda çok kullanışlı olan Python'un asyncio kitaplığının kullanılmasıdır. Eğer aşina değilseniz, kontrol etmeye değer; burada harika bir öğretici var: https://github.com/peterhinch/micropython-async/b… (ancak dikkatli olun, biraz kafa karıştırıcı).

Adım 3: Seri Üzerinden MicroPython

Eldeki göreve geri dönün! İvmeölçer kodu durduğunda tekrar Python >>> göreceksiniz. Artık Python yorumlayıcımız olarak Sensor Board'u kullanarak etkileşimli olarak programlayabiliriz. Bunu yapmak için girin

>>x = 10

>>y = 11

>>x + y

21

Bu en temel örnek olsa da, başlangıç noktası olarak Complex Arts kitaplıklarını kullanarak daha karmaşık kodlar oluşturmaya kolayca başlayabiliriz. Bu, gerçek zamanlı kontrol ile anında konum ölçümleri ve hareket yapmanızı sağlar. Sensör Kartında bulunan GPIO pinleri ile servoları, lambaları, sensörleri, motorları veya herhangi bir sayıdaki fiziksel cihazı, etkileşimli olarak veya bir Python programı aracılığıyla kolayca bağlayabilirsiniz. İyi eğlenceler!

Daha fazla bilgi için şu diğer kaynaklara göz atın:

complexarts.net/home/

complexarts.net/docs/bno085/

Önerilen: