İçindekiler:

TinyLiDAR'ı Scratch'te Kullanabilir miyim?: 3 Adım
TinyLiDAR'ı Scratch'te Kullanabilir miyim?: 3 Adım

Video: TinyLiDAR'ı Scratch'te Kullanabilir miyim?: 3 Adım

Video: TinyLiDAR'ı Scratch'te Kullanabilir miyim?: 3 Adım
Video: Очередной рейс (1958) фильм 2024, Temmuz
Anonim
TinyLiDAR'ı Scratch'te Kullanabilir miyim?
TinyLiDAR'ı Scratch'te Kullanabilir miyim?

TinyLiDAR'ın kendi bilgisayar platformunda çalışıp çalışmayacağını sormak için ara sıra istekler alıyoruz. TinyLiDAR, Arduino UNO için kullanımı basit bir LiDAR sensörü olarak tasarlanmış olsa da, Raspberry Pi gibi diğer platformlarda kullanılmasını engelleyen hiçbir şey yoktur (buradaki önceki talimatta gösterildiği gibi). Yani, platformun bir I2C veri yolu varsa ve I2C spesifikasyonunun saat genişletme özelliğini destekleyebiliyorsa. Peki ya panonuz I2C'yi desteklemiyorsa? - Saat uzatma olayını boşverin… Bu zorlu bir senaryo olurdu ama gerçekte “Scratch” adlı ultra popüler görsel programlama dili için var.

Google'ı daha önce duymadıysanız ama kısacası, herkesin aklını programlama alanına sokması için harika bir ilk dil. Scratch, MIT Media Lab tarafından oluşturuldu ve 16 yılı aşkın bir süredir kullanılıyor. Çocuklara dünyanın her yerinde kodlamayı öğretmek için kullanılan bir dildir. Normalde masaüstünüzde bir web tarayıcısında çalıştığı için herkes ücretsiz olarak kullanmaya başlayabilir. İsterseniz burayı inceleyin.

TL; DR sürümü

EVET! TinyLiDAR f/w sürüm 1.3.9'da "Ultrasonik Öykünme Modu" adı verilen yeni bir özellikle birlikte

Adım 1: Neyi Kazıyın?

Artık vahşi doğada birçok Scratch çeşidi var. Robotik meraklıları, ScratchGPIO gibi GPIO odaklı sürümleri veya herhangi bir 'deneysel donanımı' desteklemek için yapılabilecek ScratchX gibi diğer modifiye edilmiş sürümleri kullanma eğilimindedir. Bunların hepsi ileri düzey kullanıcılar için harikadır, ancak varsayılan olarak pi'ye yüklenen ana sürümler, oldukça sınırlı donanım seçeneklerine sahip oldukları için bu talimat için odak noktamız olacaktır.

Pi'nin Raspbian Stretch Desktop, önceden yüklenmiş iki Scratch sürümüyle birlikte gelir. Yani, "Scratch" ve "Scratch 2". İlkini "Scratch 1.4 (NuScratch)" olarak kullanacağız ve GPIO sunucu özelliğini kullanabilmemiz için "çevrimdışı" kullanacağız.

Resmi pi masaüstü görüntüsünü buradan indirebilirsiniz.

Her ne sebeple olursa olsun, Scratch yaratıcıları, Lego vb. büyük şirketlerden en yaygın olarak bulunan sensörlerden sadece birkaçını desteklemeye karar verdiler. İlginç bir şekilde, HC-SR04 için de destek eklemeye karar verdiler. Bu, elbette, ölçülen mesafeyle orantılı tek bir darbe genişliği veren her yerde bulunan ultrasonik mesafe sensörüdür.

Ölçüm doğruluğu burada, burada ve burada belirtildiği gibi hava sıcaklığı, nem ve hedef malzemeye bağlı olarak biraz değişebilir. Ancak genel olarak, hemen hemen her platform bu cihazın darbe genişliği çıkışını ölçebilir.

2. Adım: Yeni Özellik

Yeni özellik
Yeni özellik

Yerleşik 32 bit mikronun içinde yedek yüksek çözünürlüklü donanım zamanlayıcılarımız olduğundan, mikrosaniye ölçeğinde hassas darbeler vermek TinyLiDAR'da bizim için sorun değil. TinyLiDAR ayrıca, açılırken sıcaklığı her zaman otomatik olarak kalibre eder, böylece çalışma ortamı için başka bir ayar yapılması gerekmez.

Haydi Yapalım şunu

Tamam - TinyLiDAR'a (firmware 1.3.9'dan itibaren) "Ultrasonik Öykünme Modu" adı verilen yeni bir özellik ekledik. Güncellenen tinyLiDAR GUI Terminalinden "u" komutunu kullanarak erişebilirsiniz.

Bunu kullanmak, kalıcı bellekteki ayarları değiştirecek ve böylece, gücü kestikten sonra bile tinyLiDAR'ın genel bir ultrasonik sensör gibi görünmesini sağlayacaktır. Sıfırla düğmesine basarak ve "az" komutunu vererek normal I2C moduna geri döndürebilirsiniz. Daha fazla detay kullanım kılavuzundadır.

Hayatı daha da basitleştirmek için, web sitemizden bu yeni Ultrasonik Öykünme Moduna önceden ayarlanmış tinyLiDAR sensörünü yapıyoruz. Sadece "-u" versiyonunu sipariş edin.

Anne bak, Lehimleme Yok

Birlikte verilen "Grove to Female 4pin" kabloları doğrudan Raspberry pi başlık pimlerine takılacağından lehimleme ve ayrıca devre tahtası gerekmez. Tetik pimi Sarı kablodur ve yankı pimi Beyaz kablodur. Siyah ve Kırmızı elbette güç içindir. Ayrıntılar için yukarıdaki ana resme bakın.

Btw, bir adım daha ileri gittik ve Sarı pimin PING gibi davranmasını sağladık))) hem tetik hem de yankı sinyalleri için tek bir kablo kullanan sensör.

Bu nedenle, herhangi bir kod değişikliği olmadan her Arduino IDE ile birlikte gelen varsayılan "PING" ultrasonik çizimi kullanarak tinyLiDAR ile ölçüm yapabilirsiniz! Siz de gecikmeden deneyebilirsiniz.

Elbette, "u" komutunu seçmeden önce LiDAR ölçümlerinizin yüksek doğruluk, uzun mesafe vb. parametrelerini ayarlayabilirsiniz ve daha sonra yukarıdaki şemada gösterildiği gibi tetik pimi düşüşünü her gördüğünde bu ölçümleri alacaktır.

Tehlike, Will Robinson

+5v kaynağının pi'nize zarar vermesini önlemek için SR04 ultrasonik sensörün bazı dirençlere ihtiyacı olduğunu unutmayın. Ancak tinyLiDAR doğal olarak +3.3v'den çalıştığından, pi ile arayüz oluşturmak için herhangi bir direnç gerekmez:)

Adım 3: Kodlama

Kodlamak
Kodlamak
Kodlamak
Kodlamak

Öyleyse, TinyLiDAR'ın Scratch'te çalışması için ihtiyacımız olan kod tam olarak nedir?

Sorduğuna sevindim!

Yukarıdaki resimlerde gösterildiği gibi sadece birkaç basit yayın bloğunu sürükleme meselesi.

GPIO pinlerini etkinleştirmek için "broadcast gpioserveron" verebiliriz, ardından tetik pinini yapılandırmak için "broadcast config16out" veririz. Sonra eko pinini "broadcast config26in" ile yapılandırabilir ve ardından "broadcast ultrasonictrigger16echo26" ile ölçümleri başlatabiliriz. Bu, ölçümlerin yaklaşık 140ms'lik bir kadansta sürekli olarak alınmasına neden olacaktır. Ölçülen verileri "ultrasonik mesafe sensörü değeri" algılama bloğunu kullanarak okuyabilirsiniz.

Şimdilik bu kadar, okuduğunuz için teşekkürler ve "tinyLiDAR_catch_me" ve …Scratch On adında yaptığımız eğlenceli küçük Scratch demo programına (burada paylaşılan) göz atmayı unutmayın!;)

Önerilen: