İçindekiler:
- Gereçler
- Adım 1: Ultrasonik VS Kızılötesi Sensör
- 2. Adım: Şematik
- Adım 3: Sensör Karakteristiği
- Adım 4: Seri İletişim
- Adım 5: Qt Uygulaması
- Adım 6: Arduino Kaynak Kodu
Video: Arduino ile Kızılötesi Radar: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bu küçük projede size Arduino ile Evde nasıl basit bir Radar oluşturabileceğinizi göstermek istiyorum. İnternette buna benzer birçok proje var ama hepsi mesafeyi ölçmek için ultrasonik sensör kullanıyor. Bu projede mesafe ölçümü için bir kızılötesi sensör kullanıyorum.
Amacım onunla çok basit ve ucuz bir LIDAR sistemi oluşturmak ve bir haritalama cihazı uygulamak.
Gereçler
- Arduino (Bir Maple Mini kullandım)
- Keskin mesafe sensörü (Sharp GP2Y0A02YK0F kullandım)
- Mikro Servo (9g)
- Breadboard, teller
- Opsiyonel: 4.7k Direnç, 100nF Kondansatör
Adım 1: Ultrasonik VS Kızılötesi Sensör
Ultrasonik ve kızılötesi mesafe sensörleri arasındaki temel fark, ultrasonik sensörün mesafeyi daha geniş aralıkta ölçmesidir. Bu nedenle bir engelin konumunu tam olarak belirleyemez. ~ +-30° açı aralığında bulunan en yakın cismin mesafesini ölçtüğü anlamına gelir.
Tabii bu Sharp sensörünün daha iyi olduğu anlamına gelmiyor. Bazen bu özellik çok faydalı olabilir (örneğin, dronlar tarafından yerden yüksekliği ölçmek için kullanılır). Doğru seçim tamamen projenizin gereksinimlerine bağlıdır.
2. Adım: Şematik
Parçalar arasındaki bağlantıyı yapmak çok basittir. Arduino kartınızda bir PWM Çıkışı ve bir Analog Giriş seçin ve Servo ve Sharp mesafe sensörlerini bu pinlere bağlayın. Bu amaçla aşağıdaki pinleri kullandım:
- PA0: Keskin mesafe sensörü için analog giriş
- PA9: Servo için PWM Çıkışı
Bazen Sharp IR Sensörü gürültülü çıkışa sahip olabilir, bu nedenle üzerine basit bir Düşük Geçiş Filtresi koymanız gerekir. Analog pindeki gürültüyü azaltmak için 4.7k direnç ve 100nF kapasitör kullandım. Bunun yanı sıra koddaki ölçülen değeri de defalarca okuyarak ve ortalamasını hesaplayarak filtreledim.
Adım 3: Sensör Karakteristiği
Ne yazık ki kullanılan kızılötesi mesafe sensörü doğrusal olmayan bir özelliğe sahiptir. Yani mesafeyi elde etmek için ölçülen ADC değerini sabit bir değerle çarpıp ona bir sabit değer daha eklemek yeterli değildir.
Sensörün veri sayfası özelliği sağlamasına rağmen, belirli bir projede kendim ölçmeyi tercih ediyorum (kullanılan voltaja bağlı olabilir). Bunun için her 10 cm için ölçülen ADC Değeri ve mesafesinden çiftler yaptım. (Sensörüm 12 cm'den doğru mesafeyi ölçebildi).
Doğrusal İnterpolasyon ile doğru mesafeyi elde etmek için bu çiftleri kodda kullandım.
Karakteristik ölçüm sırasında ADC Değerini ölçmek için belgenin sonunda basit bir Arduino kodu bulacaksınız.
Adım 4: Seri İletişim
Ölçülen açı-mesafe değerlerini PC'ye göndermek için seri iletişim kullandım. Birden fazla bayt ve farklı türde mesajlar göndermek zorunda olduğum için basit bir iletişim protokolü tasarladım.
Bu procotol, farklı mesaj tiplerini jenerik bir şekilde tanımlamayı mümkün kılar. Bu projede 2 mesaj tipi kullandım:
- Parametreler: Arduino üzerinde tanımlanan maksimum mesafe ve bir turdaki engel sayısı gibi parametreleri PC Uygulamasına göndermek için kullanılır.
- Engel: Algılanan bir engeli göndermek için kullanılır. Servonun açısı ve ölçülen mesafe ile tanımlanır. x-y konumu PC uygulaması ile hesaplanacaktır.
Adım 5: Qt Uygulaması
Arduino ile haberleşmek ve ölçülen noktaları radar gibi çizmek için Qt (C++) da PC Uygulaması yaptım. Bazı parametreleri (Arduino'da tanımlanmış) ve ölçülen mesafe noktalarını alır.
Uygulamayı ve kaynak kodunu da indirebilirsiniz.
Adım 6: Arduino Kaynak Kodu
Kodun üst kısmındaki bazı parametreleri makrolarla özelleştirebilirsiniz.
Sharp mesafe sensörünün karakteristiğini değiştirirseniz, distAdcMap dizi değerlerini değiştirmeniz gerektiğini unutmayın!
- InfraRadar.c: Radar kodu. Arduino projenize kopyalayıp yapıştırın.
- InfraRadarMeasurement.c: Karakteristik ölçüm için kod. Arduino projenize kopyalayıp yapıştırın. ADC Değerlerini kontrol etmek için Seri Konsolu kullanın.
Önerilen:
Arduino İle Kızılötesi Sensör Kullanımı: 8 Adım (Resimli)
Arduino İle Kızılötesi Sensör Kullanımı: Kızılötesi (diğer adıyla IR) sensör nedir? IR sensörü, standartlar tarafından tanımlanan belirli frekans aralıklarında IR sinyallerini tarayan ve bunları çıkış pininde (tipik olarak sinyal pini olarak adlandırılır) elektrik sinyallerine dönüştüren elektronik bir araçtır. . Kızılötesi sinyali
Arduino ile Kızılötesi Ev Otomasyonu: 5 Adım
Arduino ile Kızılötesi Ev Otomasyonu: ARDUINO EV OTOMASYONU Ev otomasyonu, normalde manuel olarak yaptığınız şeyleri sizin için otomatik olarak yapmak anlamına gelir. Normalde anahtarı çevirmek için ayağa kalkarsınız, ya uzaktan kumandaya basarsanız ve ışığınız otomatik olarak yanarsa
Arduino ile Kızılötesi Matris Şifre Giriş Sistemi: 13 Adım
Arduino ile Kızılötesi Matrix Şifre Giriş Sistemi: ICStation ekibi, ICStation Uyumlu Board Arduino tabanlı Kızılötesi Matrix Şifre Giriş Sistemini sizlere tanıtıyor. DC 5v güç kaynağı altında çalışır ve şifreyi girmek için 4*4 Matrix Klavye veya kızılötesi uzaktan kumandayı kullanır ve biz
'Deodorino' - Boş Deodorant Çubuğunda Kızılötesi Kontrollü Arduino ile Tanışın. 1. Fotoğrafa tıklayın: 7 Adım
'Deodorino' - Boş Deodorant Çubuğunda Kızılötesi Kontrollü Arduino ile Tanışın. 1. Fotoğrafa tıklayın: Şimdi ayrıntılara inin
Arduino ile Kızılötesi Uzaktan Kumanda ve IR Alıcısı (TSOP1738): 10 Adım
Arduino ile Kızılötesi Uzaktan Kumanda ve IR Alıcısı (TSOP1738): Bu talimat, Arduino'ya yeni başlayanlar içindir. Bu, Arduino ile daha önceki projelerimden biri. Ben yaparken çok keyif aldım umarım sizde beğenirsiniz. Bu projenin en çekici özelliği, “Kablosuz kontrol”. Ve bu