İçindekiler:

CircuitPython ve TinyLiDAR: Basit Örnek: 3 Adım
CircuitPython ve TinyLiDAR: Basit Örnek: 3 Adım

Video: CircuitPython ve TinyLiDAR: Basit Örnek: 3 Adım

Video: CircuitPython ve TinyLiDAR: Basit Örnek: 3 Adım
Video: CircuitPython microbit emulation on CLUE test 2 2024, Temmuz
Anonim
CircuitPython ve TinyLiDAR: Basit Örnek
CircuitPython ve TinyLiDAR: Basit Örnek

MicroElectronicDesign tinyLiDAR, i2c veri yolu bağlantısına sahip bir ST VL53L0X tabanlı uçuş süresi (ToF) değişken modülüdür. Adafruit mikrodenetleyici kartları, veri pinleri üzerinden i2c protokolünü konuşabildikleri için bu sensöre kolayca bağlanır.

M0/M4 serisi, programlamayı Arduino'daki C'den daha geniş bir kitle için daha erişilebilir hale getiren bir Python alt kümesini desteklediği için diğer kartlara göre avantajlıdır. Bu, bir tinyLiDAR'dan mesafe değerlerini okumak ve yerleşik RGB LED'in parlaklığını değiştirerek mesafeyi belirtmek için bir Gemma M0 kartı üzerinde CircuitPython'u kullanan basit bir örnektir. Python desteği için kart M0 versiyonu olmalıdır.

Not: Adafruit ayrıca, VL53L0X'e dayanan bir tane de dahil olmak üzere çeşitli mesafe algılama kartları üretmektedir.

Adım 1: CircuitPython Kodu

  1. Henüz sahip değilseniz lib/adafruit_dotstar.mpy ve lib/adafruit_bus_device/i2c_device.mpy dosyasını indirin. Bunlar isteğe bağlı kitaplık paketinin bir parçasıdır, bunların nasıl kurulacağına ilişkin notlar için CircuitPython I2C'nin ilk bölümüne bakın. Bu dosyalar Gemma M0 üzerinde lib ve lib/adafruit_bus_device dizinlerine girmelidir.
  2. gemma-m0-tinylidar-simple.py dosyasını indirin, main.py olarak yeniden adlandırın ve Gemma M0'ın kök dizinine kopyalayın.

Program, seri konsola çıktı yazar ve okunan mesafeyle orantılı olarak Gemma MO RGB LED'in parlaklığını değiştirir. Gemma M0 led'i okumalar için açık ve kapalı arasında değişir, bu nedenle yaklaşık 5 Hz'de yanıp söner ve tinyLiDAR kartının varsayılan davranışı, komut başına mavi ledini 10 Hz'de yakmaktır.

Veri yolu, bu durum için iyi çalışan 100kHz'de sürülür. Herhangi bir veri yolu gibi, iletişim hızı iletişim hızı, iletim hattının/hatlarının özellikleri ile sınırlıdır, bu nedenle uzunluk, kapasitans ve diğer faktörlere dikkat edilmelidir.

Adım 2: TinyLiDAR'ı Gemma M0'a bağlama

TinyLiDAR'ı Gemma M0'a Bağlama
TinyLiDAR'ı Gemma M0'a Bağlama

Resim, tinyLiDAR'ı bir Gemma M0 kartına bağlamak için etkili ancak yetersiz bir geçici kurulumu göstermektedir. TinyLiDAR'ın “Grove” 4 pinli evrensel konektörü, Gemma M0'a bağlanmak için bir Seeed Grove dönüştürme kablosu, yedek bir başlık ve timsah klipsleri aracılığıyla kullanılıyor. Başlıktaki pimler arasındaki bir miktar ayrım, yanlışlıkla kısa devre riskini ortadan kaldırır. Bağlantılar:

  • Siyah: gnd'den gnd'ye
  • Kırmızı: +V ila 3Vo
  • Beyaz: SDA - D0 (veri)
  • Sarı: SCL'den D2'ye (saat)

Adafruit panoları, donanımda i2c protokolünü verimli bir şekilde destekleyen bazı pinlere sahiptir. Gemma M0 söz konusu olduğunda bunlar kullanılmalıdır, veri için D0 ve saat için D2.

Bir i2c veri yolu, veri ve saat hatlarında bir çekme direnci gerektirir. Bu durumda, tinyLiDAR, bazı 4.7K yerleşik dirençler sağlar. Bunlar, hatlar kesilerek devreden çıkarılmışsa, devreye eşdeğerleri eklenmelidir.

Adım 3: Seri Çıkış

Seri Çıkış
Seri Çıkış

Program ölçülen mesafeyi gösteren çıktıyı seri konsola yazar, işte sensörden uzaklaşan bir nesneyi gösteren bir terminalin örnek ekran görüntüsü.

Önerilen: