İçindekiler:

Ultrasonlarla Eşzamansız Olarak Engelleri Tespit Edin: 4 Adım
Ultrasonlarla Eşzamansız Olarak Engelleri Tespit Edin: 4 Adım

Video: Ultrasonlarla Eşzamansız Olarak Engelleri Tespit Edin: 4 Adım

Video: Ultrasonlarla Eşzamansız Olarak Engelleri Tespit Edin: 4 Adım
Video: Şerit Takip Sistemi Kaza Anı 🚘 Lane Tracking System Accident ⚡️🆘⚠️⛔️ 2024, Temmuz
Anonim
Ultrasonlarla Eşzamansız Olarak Engelleri Tespit Edin
Ultrasonlarla Eşzamansız Olarak Engelleri Tespit Edin

Bir evin içinde kendi kendine hareket etmek istediğim bir robotu eğlence için yapıyorum.

Uzun bir iş ve adım adım yapıyorum.

Bu talimat, Arduino Mega ile engellerin tespitine odaklanır

Ultrasonik sensörler HC-SR04 ve HY-SRF05, ucuz ve kullanımı kolaydır ancak karmaşık bir robotta mikrodenetleyici döngüsüne entegre edilmesi zor olabilir. Engel algılamayı eşzamansız bir şekilde çalıştırmak istedim.

_

Bu robotun özellikleri hakkında zaten 3 talimat yayınladım:

  • Tekerlek kodlayıcınızı yapın
  • WIFI Ağ Geçidinizi yapın
  • Atalet Modülü Birimi Kullan

Ve robotu lokalize etmek için yapay zeka ve ultrasonları birleştirme hakkında bir belge.

Adım 1: Ultrasonik Sensörler ve Mikrodenetleyicilerle İlgili Sorun Tam Olarak Nedir?

Ultrasonik Sensörler ve Mikrodenetleyicilerle İlgili Sorun Tam Olarak Nedir?
Ultrasonik Sensörler ve Mikrodenetleyicilerle İlgili Sorun Tam Olarak Nedir?
Ultrasonik Sensörler ve Mikrodenetleyicilerle İlgili Sorun Tam Olarak Nedir?
Ultrasonik Sensörler ve Mikrodenetleyicilerle İlgili Sorun Tam Olarak Nedir?

Senkron bekleme ve Arduino sınırlamaları

Mikrodenetleyici kodu bir döngü içinde çalışır ve çoklu iş parçacığını desteklemez. Ultrasonik sensörler, sinyal süresine dayalıdır. Bu süre, mikrodenetleyicilerin birden fazla motor ve sensörle (örneğin, tekerlek kodlayıcılı servo ve DC motorlar) ilgilenmesi gerektiğinde döngü içinde beklemek için çok uzun olan 30 m s'ye kadar sürer.

Bu yüzden asenkron çalışan bir nesne geliştirmek istedim.

Adım 2: Nasıl Çalışır?

O nasıl çalışır ?
O nasıl çalışır ?

Engel tespiti için Atmega için tasarlanmıştır. 4 adede kadar ultrasonik sensörü destekler.

Periyodik zaman kesintisi sayesinde sistem 4 adede kadar ultrasonik sensörü izleyebilir. Ana kod, yalnızca koşul ve eşik ile hangi sensörün etkinleştirileceğini tanımlamalıdır. Ana yalnızca (koşul, eşik) göründüğünde kesintiye uğrayacaktır.

Ana işlevler şunlardır:

  • Uyarı, temel engel algılamadır ve 4 sensörden en az 1'i eşiğin altında bir mesafe algılarsa kesinti sağlar
  • Monitör, 4 sensöre kadar mesafe koşulu kombinasyonunda kesinti sağlayan genişletilmiş bir işlevdir. Olası koşullar, eşiklerin üzerinde, altında, eşit veya eşit değildir.

3. Adım: Teknik Ayrıntılar

Zamanlayıcı4'ü kullanın, böylece pim 6 7 8, PWM olarak kullanılamaz.

Her sensör için nesnenin bir tetikleme PIN'ine ve bir kesme PIN'ine ihtiyacı vardır.

Sensörlerin kesme PIN'lerine ek olarak, nesnenin yazılım kullanımı için başka bir kesme PIN'ine ihtiyacı vardır.

Adım 4: Nasıl Uygulanır?

Nasıl Uygulanır?
Nasıl Uygulanır?

Sensörleri yukarıdaki gibi bağlayın

Bu GitHub deposundan indirin

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • ExampleEchoObstacleDetection.ino

IDE kitaplığınızda EchoObstacleDetection dizini oluşturun ve.cpp ve.h'yi taşıyın

Dene

ExampleEchoObstacleDetection.ino'yu açın.

Bu, 2 ultrasonik sensörle çalışan basit bir engel algılama örneğidir.

Çıkış, seri monitöre yönlendirilir. İlk önce 2 sensör tarafından algılanan mesafeleri yazdıracak ve ardından eşiklerin altındaki mesafelere bağlı olarak uyarıları yazdıracaktır.

Önerilen: