İçindekiler:
- Adım 1: Nasıl Çalışır?
- Adım 2: Üç Sensör İstasyonunu ve Nesneleri Yapılandırma
- Adım 3: Ana İstasyon Nasıl Yapılandırılır
- Adım 4: Malzeme Listesi
Video: Ultrasonik Tabanlı Konumlandırma Sistemi: 4 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Ultrasonik radarların arduino cihazları için bulduğum tüm versiyonları (Arduino - Radar/Ultrasonik Dedektör, Arduino Ultrasonik Radar Projesi) çok güzel radarlar ama hepsi "kör". Yani radar bir şey tespit ediyor ama neyi tespit ediyor?
Bu yüzden kendimi objeleri algılayabilecek ve onları tanımlayabilecek bir sistem geliştirmeyi öneriyorum. Başka bir deyişle, GPS cihazları olmayan ancak ultrasonik dedektörler kullanan bir konumlandırma sistemi.
Beğeneceğinizi umduğum sonuç budur.
Adım 1: Nasıl Çalışır?
Konumlandırma sistemleri, ultrasonik dedektörler ve id_node 1, 2 ve 3'ün 90º'lik bir açıyı süpüren bir dikdörtgen veya kare oluşturan ve aralarındaki mesafelerin resim 1'de gösterildiği gibi bilindiği üç sensör istasyonundan oluşur.
const kayan nokta mesafesi1ve2 arasında = 60.0;
const kayan nokta mesafesi2ve3 arasında = 75.0;
Bu sensörler, id_node'u 3'ten büyük olan ve 170°'lik bir açıyı tarayan bir ultrasonik dedektöre sahip olan diğer nesnelerin mesafesini ve açısını ölçer.
Hepsi mesafeleri, ölçülen açıları ve id_node'u kablosuz iletişim kullanarak başka bir ana istasyona gönderir, analiz eder, trigonometri hesaplamasını kullanarak nesnelerin konumunu hesaplar ve tanımlar.
Girişimleri önlemek için ana istasyon, tüm ultrasonik dedektörleri, her an yalnızca bir ultrasonik dedektörün ölçüm yaptığı şekilde senkronize eder.
Bundan sonra ve bir seri iletişim kullanarak ana istasyon bilgileri (açı, mesafe, id_object) sonuçları çizmek için bir işleme çizimine gönderir.
Adım 2: Üç Sensör İstasyonunu ve Nesneleri Yapılandırma
Her sensör istasyonunun tek işlevi, nesneleri algılamak ve ölçülen mesafe, açı ve kimlik düğümü listesini ana istasyona göndermektir.
Bu nedenle, algılamayı iyileştirmek ve algılama bölgesini sınırlamak için izin verilen maksimum algılama mesafesini (“valid_max_distance”) ve minimum olanı (“valid_min_distance”) (santimetre) güncellemeniz gerekir:
int valid_max_mesafe = 80;
int valid_min_mesafe = 1;
Bu sensör istasyonlarının id düğümü (aşağıdaki kodda “this_node”) 1, 2 ve 3'tür ve ana istasyonun id düğümü 0'dır.
const uint16_t this_node = 01; // Düğümümüzün Sekizli formatında adresi (Node01, Node02, Node03)
const uint16_t other_node = 00; //Ana düğümün adresi (Node00) Sekizli biçimde
Her sensör istasyonu süpürür ve 100º'lik açı (aşağıdaki kodda "max_angle")
#define min_angle 0
#define max_angle 100
Yukarıdaki gibi, bir nesnenin tek işlevi nesneleri algılamak ve ölçülen mesafelerin, açıların ve id nesnesinin listesini ana istasyona göndermektir. Bir nesnenin kimliği (aşağıdaki kodda "this_node") 3'ten büyük olmalıdır.
Her nesnenin süpürme ve 170º açısı ve yukarıdaki gibi maksimum ve minimum algılama mesafesini güncellemek mümkündür.
const uint16_t this_node = 04; // Düğümümüzün Sekizli formatında adresi (Node04, Node05, …)
const uint16_t other_node = 00; // Ana düğümün adresi (Düğüm00) Sekizli formatta int valid_max_distance = 80; int valid_min_mesafe = 1; #define min_angle 0 #define max_angle 170
Adım 3: Ana İstasyon Nasıl Yapılandırılır
Ana istasyonun işlevi, sensör istasyonlarının ve nesnelerin iletimlerini almak ve seri bağlantı noktasını kullanarak sonuçları, bunları çizmek için bir işleme taslağına göndermektir. Ayrıca, parazitleri önlemek için tüm nesneleri ve üç sensör istasyonunu, her seferinde yalnızca birinin ölçüm yaptığı şekilde senkronize eder.
Öncelikle sensör 1 ve 2 arasındaki mesafeyi (santimetre) ve 2 ile 3 arasındaki mesafeyi güncellemeniz gerekir.
const kayan nokta mesafesi1ve2 arasında = 60.0;
const kayan nokta mesafesi2ve3 arasında = 70.0;
Çizim, nesnelerin konumunu aşağıdaki şekilde hesaplar:
- Nesnelerin (id_node 3'ten büyük) tüm aktarımları için, ultrasonik sensörlerin (id_node 1, 2 veya 3) her aktarımında aynı mesafeyi arayın.
- Tüm bu noktalar, bir nesnenin konumu (taslakta "process_pointobject_with_pointssensor") olacak bir "adaylar" (mesafe, açı, id_node) listesi oluşturur.
- Önceki listenin her bir "aday"ı için, "candidate_selected_between_sensor2and3" işlevi, ultrasonik sensör 2 ve 3'ün bakış açısından, aşağıdaki trigonometri koşuluyla hangilerinin eşleştiğini hesaplar (resim 2 ve 3'e bakın).
kayan mesafefroms2 = sin(radyan(açı)) * mesafe;
kayan mesafefroms3 = cos(radyan(angle_candidate)) * Distance_candidate; // Trigonometri koşulu 1 abs(distancefroms2 + Distancefroms3 - Distancebetween2and3) <= float(max_diference_distance)
Yukarıdaki gibi, önceki listenin her bir "aday"ı için, "candidate_selected_between_sensor1and2" işlevi, ultrasonik sensör 1 ve 2'nin bakış açısından aşağıdaki trigonometri ilişkisine uygun olanını hesaplar (bkz. resim 2 ve 3)
kayan uzaklık1 = günah(radyan(açı)) * uzaklık;kayan uzaklık2 = cos(radyan(açı_aday)) * uzaklık_candidate; // Trigonometri koşulu 2 abs(mesafeden1 + uzaklık2 - uzaklık1 ve2 arasındaki mesafe) <= kayan nokta(maks_fark_mesafe)
Yalnızca 1 ve 2 trigonometri koşullarıyla eşleşen adaylar (mesafe, açı, id_node), sensör istasyonları 1, 2 ve 3 tarafından algılanan tanımlanmış nesnelerdir
Bundan sonra sonuçlar, ana istasyon tarafından bir işleme çizimine gönderilmeleri için gönderilir.
Adım 4: Malzeme Listesi
Bir sensör istasyonu veya bir nesne için ihtiyaç duyulan malzeme listesi aşağıdaki gibidir:
- Nano kurulu
- Ultrasonik sensör
- Mikro servo motor
- NRF24L01 kablosuz modül
- NRF24L01 adaptörü
ve ana istasyon için malzeme listesi aşağıdaki gibidir:
- Nano kurulu
- NRF24L01 kablosuz modül
- NRF24L01 adaptörü
Önerilen:
Ultrasonik Tabanlı Erişim Sistemi: 6 Adım (Resimlerle)
Ultrasonik Tabanlı Erişim Sistemi: Bu sefer ilginizi çekeceğini düşündüğüm ultrasonik tabanlı bir erişim sistemi sunuyorum. Ultrasonik dalgalara dayalı olduğu için başka herhangi bir elektronik cihaza ihtiyaç duymayan temassız bir erişim sistemidir, ancak eliniz ne olursa olsun. denemek için
Eksiksiz Arduino Tabanlı Araç GPS+GPRS Hırsızlık Önleme Sistemi: 5 Adım (Resimlerle)
Eksiksiz Arduino Tabanlı Araç GPS+GPRS Hırsızlık Önleme Sistemi: Herkese merhaba!Bir GPS araç hırsızlık önleme cihazı için eksiksiz bir çözüm oluşturmak istedim, bu: mümkün olduğu kadar ucuz ve eksiksiz, çalışır durumda. -mümkün olduğunca yapacak başka bir şey yok, bu yüzden Arduino tabanlı bir çözüm oluşturdum
IR Tabanlı Bir Takometreden Geri Besleme Sistemi Kullanarak Motor Devirinin Otonom Kontrolü: 5 Adım (Resimlerle)
IR Tabanlı Bir Takometreden Geri Besleme Sistemi Kullanarak Motorun Devir Hızının Otonom Kontrolü: İster basit/canavarca olsun, her zaman bir işlemi otomatikleştirmeye ihtiyaç vardır. küçük arazimizi sulamak/sulamak için yöntemler. Mevcut besleme hattının olmaması sorunu
R-PiAlerts: Raspberry Pis ile WiFi Tabanlı Güvenlik Sistemi Oluşturun: 8 Adım (Resimlerle)
R-PiAlerts: Raspberry Pis ile WiFi Tabanlı Güvenlik Sistemi Kurun: Masanızda çalışırken aniden uzaktan bir ses duyarsınız. Biri eve mi geldi? Arabam evimin önüne park edilmiş, biri arabama mı girdi? Telefonunuza ya da masanıza bildirim gelmesini istemez misiniz, böylece ne yapacağınıza karar verebilirsiniz
Tuş Takımı ile Servo Konumlandırma: 3 Adım
Tuş Takımı ile Servo Konumlandırma: Bu talimatta, Arduino Uno ile çalıştıran bir tuş takımı ile bir Mikro Servoyu kontrol edecek bir proje oluşturacağız. Kullanılan Malzemeler:Arduino UnoBreadboard4x4 Tuş TakımıMicro-Servo