Mündəricat:
- Təchizat
- Addım 1: Ultrasonik VS İnfraqırmızı Sensor
- Addım 2: Şematik
- Addım 3: Sensor xarakterikdir
- Addım 4: Serial Rabitə
- Addım 5: Qt Tətbiqi
- Addım 6: Arduino Mənbə Kodu
Video: Arduino ilə İnfraqırmızı Radar: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bu kiçik layihədə sizə Arduino ilə evdə sadə bir Radar necə yarada biləcəyinizi göstərmək istərdim. İnternetdə oxşar layihələr çoxdur, lakin hamısı məsafəni ölçmək üçün ultrasəs sensoru istifadə edirlər. Bu layihədə məsafəni ölçmək üçün infraqırmızı sensordan istifadə edirəm.
Məqsədim onunla çox sadə və ucuz bir LIDAR sistemi yaratmaq və bir Xəritəçəkmə cihazı tətbiq etməkdir.
Təchizat
- Arduino (Mən Maple Mini istifadə etdim)
- Kəskin məsafə sensoru (Sharp GP2Y0A02YK0F istifadə etdim)
- Mikro Servo (9g)
- Çörək taxtası, tellər
- İsteğe bağlı: 4.7k rezistor, 100nF kondansatör
Addım 1: Ultrasonik VS İnfraqırmızı Sensor
Ultrasonik və infraqırmızı məsafə sensorlar arasındakı əsas fərq, ultrasəs sensorunun məsafəni daha geniş ölçüdə ölçməsidir. Buna görə də bir maneənin yerini dəqiq müəyyən edə bilmir. Bu o deməkdir ki, ~ +-30 ° bucaq aralığında yerləşən ən yaxın obyektin məsafəsini ölçür.
Əlbəttə ki, bu, Sharp sensorunun daha yaxşı olduğu anlamına gəlmir. Bəzən bu xüsusiyyət çox faydalı ola bilər (məsələn, yerdən hündürlüyü ölçmək üçün dronlar tərəfindən istifadə olunur). Doğru seçim tamamilə layihənizin tələblərindən asılıdır.
Addım 2: Şematik
Parçalar arasında əlaqə qurmaq çox sadədir. Arduino lövhənizdə bir PWM Çıxışı və Analog Giriş seçin və Servo və Sharp məsafə sensorlarını bu pinlərə qoşun. Bu məqsədlə aşağıdakı pinlərdən istifadə etdim:
- PA0: Kəskin məsafə sensoru üçün analoq giriş
- PA9: Servo üçün PWM Çıxışı
Bəzən Sharp IR Sensor səs -küylü ola bilər, buna görə sadə bir aşağı keçid filtri qoymalısınız. Analog pindəki səs -küyü azaltmaq üçün 4.7k rezistor və 100nF kondansatör istifadə etdim. Bundan əlavə, koddakı ölçülmüş dəyəri dəfələrlə oxuyaraq ortalamanı hesablayaraq süzdüm.
Addım 3: Sensor xarakterikdir
Təəssüf ki, istifadə olunan infraqırmızı məsafə sensoru qeyri-xətti xüsusiyyətlərə malikdir. Bu o deməkdir ki, məsafəni əldə etmək üçün ölçülmüş ADC dəyərini sabit bir dəyərlə vurmaq və ona başqa bir sabit dəyər əlavə etmək kifayət deyil.
Sensorun məlumat cədvəli xarakteristikanı təmin etsə də, konkret layihədə özüm ölçməyi üstün tuturam (istifadə olunan gərginlikdən asılı ola bilər). Bunun üçün ölçülmüş ADC dəyərindən və hər 10 sm məsafədən cütlər düzəltdim. (Sensorum 12 sm -dən düzgün məsafəni ölçə bildi).
Linear İnterpolasiya ilə düzgün məsafəni əldə etmək üçün bu cütlükləri kodda istifadə etdim.
Sənədin sonunda xarakterik ölçmə zamanı ADC dəyərini ölçmək üçün sadə bir Arduino kodu tapa bilərsiniz.
Addım 4: Serial Rabitə
Ölçülmüş bucaq-məsafə dəyərlərini PC-yə göndərmək üçün serial ünsiyyətdən istifadə etdim. Birdən çox bayt və fərqli mesajlar göndərməli olduğum üçün sadə bir ünsiyyət protokolu hazırladım.
Bu procotol, fərqli bir mesaj növünü ümumi bir şəkildə təyin etməyə imkan verir. Bu layihədə 2 mesaj növündən istifadə etdim:
- Parametrlər: Arduino'da maksimum məsafə və maneələrin sayı kimi müəyyən edilmiş PC Tətbiqinə parametr göndərmək üçün istifadə olunur.
- Maneə: Aşkar edilmiş maneəni göndərmək üçün istifadə olunur. Servonun bucağı və ölçülən məsafə ilə müəyyən edilir. X-y mövqeyi PC tətbiqi ilə hesablanacaq.
Addım 5: Qt Tətbiqi
Arduino ilə ünsiyyət qurmaq və ölçülmüş nöqtələri radar kimi çəkmək üçün Qt (C ++) dilində bir PC tətbiqi hazırladım. Bəzi parametrləri (Arduinoda müəyyən edilmiş) və ölçülmüş məsafə nöqtələrini alır.
Tətbiqi və mənbə kodunu da yükləyə bilərsiniz.
Addım 6: Arduino Mənbə Kodu
Kodun üst hissəsindəki bəzi parametrləri makrolarla düzəldə bilərsiniz.
Qeyd edək ki, Sharp məsafə sensorunun xüsusiyyətini dəyişdirsəniz, distAdcMap array dəyərlərini dəyişdirməlisiniz!
- InfraRadar.c: Radar kodu. Kopyalayın və Arduino layihənizə yapışdırın.
- InfraRadarMeasurement.c: Xarakterik ölçmə kodu. Kopyalayın və Arduino layihənizə yapışdırın. ADC dəyərlərini yoxlamaq üçün Serial Konsolundan istifadə edin.
Tövsiyə:
DIY MicroPython ilə COVID-19 üçün infraqırmızı termometr: 8 addım
DIY MicroPython ilə COVID-19 üçün İnfraqırmızı Termometr: Koronavirus Xəstəliyinin (COVİD-19) yayılması səbəbindən şirkətin İnsan Resursları hər bir işçinin temperaturunu ölçməli və qeydiyyata almalıdır. Bu, HR üçün yorucu və vaxt aparan bir işdir. Beləliklə, bu layihəni etdim: işçi düyməni basdı, bu
Arduino ilə İnfraqırmızı Sensorun İstifadəsi: 8 Addım (Şəkillərlə birlikdə)
İnfraqırmızı Sensorun Arduino ilə İstifadəsi: İnfraqırmızı (aka IR) sensoru nədir? İQ sensoru, standartlarla müəyyən edilmiş müəyyən tezlik aralığında İQ siqnallarını tarayan və çıxış pinindəki elektrik siqnallarına çevirən elektron cihazdır (adətən siqnal pimi adlanır). . IR siqnalı
Arduino ilə İnfraqırmızı Ev Avtomatlaşdırması: 5 addım
Arduino ilə İnfraqırmızı Ev Avtomatlaşdırması: ARDUINO HOME AUTOMATION Ev avtomatlaşdırılması, sadəcə olaraq əllə etdiyiniz şeyi avtomatik olaraq sizin üçün etmək deməkdir. Normalda açarı çevirmək üçün ayağa qalxacaqsınız, əgər pultu basa bilsəniz və işığınız avtomatik gəlsə
Arduino ilə İnfraqırmızı Matrix Şifrə Giriş Sistemi: 13 addım
Arduino ilə İnfraqırmızı Matrix Şifrə Giriş Sistemi: ICStation komandası sizə ICStation Uyğun İdarəetmə Arduino lövhəsinə əsaslanan İnfraqırmızı Matrix Şifrə Giriş Sistemini təqdim edir. DC 5v enerji təchizatı altında işləyir və parol daxil etmək üçün 4 *4 Matrix Klaviatura və ya infraqırmızı uzaqdan idarə etmədən istifadə edir və bizə
Arduino ilə İnfraqırmızı Uzaqdan və IR Alıcısı (TSOP1738): 10 addım
Arduino ilə İnfraqırmızı Uzaqdan və IR Alıcısı (TSOP1738): Bu təlimat Arduino yeni başlayanlar üçündür. Bu, Arduino ilə əvvəlki layihələrimdən biridir. Hazırladığım zaman çox zövq aldım və ümid edirəm bəyənəcəksiniz. Bu layihənin ən cəlbedici xüsusiyyəti " Simsiz idarəetmə " dir. Və bu