Mündəricat:

Ultrasəslə Asinxron şəkildə Maneələri Tapın: 4 Addım
Ultrasəslə Asinxron şəkildə Maneələri Tapın: 4 Addım

Video: Ultrasəslə Asinxron şəkildə Maneələri Tapın: 4 Addım

Video: Ultrasəslə Asinxron şəkildə Maneələri Tapın: 4 Addım
Video: Ultrasəslə yoxlama / Ultrasonic testing 2024, Iyul
Anonim
Ultrasəs ilə maneələri asinxron şəkildə aşkar edin
Ultrasəs ilə maneələri asinxron şəkildə aşkar edin

Əylənmək üçün bir evin içərisində müstəqil şəkildə hərəkət etmək istədiyim bir robot qururam.

Uzun bir işdir və addım -addım edirəm.

Arduino Mega ilə maneələrin aşkarlanmasına bu təlimatlı diqqət

Ultrasonik sensorlar HC-SR04 vs HY-SRF05 ucuz və istifadəsi asandır, lakin kompleks bir robotda mikrokontroller döngəsinə inteqrasiya etmək çətin ola bilər. Maneələrin aşkarlanmasını asinxron şəkildə aparmaq istədim.

_

Bu robotun xüsusiyyətləri haqqında 3 təlimat dərc etmişəm:

  • Təkər kodlayıcınızı düzəldin
  • WIFI Ağ Geçidinizi yaradın
  • İnertial Modul Vahidindən istifadə edin

Robotu lokallaşdırmaq üçün süni intellekt və ultrasəsin birləşdirilməsi ilə bağlı sənədlər.

Addım 1: Ultrasonik Sensorlar və Mikrodenetleyicilerde Həqiqətən Nə Problem Var?

Ultrasonik Sensorlar və Mikrodenetleyicilerde Həqiqətən Problem Nədədir?
Ultrasonik Sensorlar və Mikrodenetleyicilerde Həqiqətən Problem Nədədir?
Ultrasonik Sensorlar və Mikrodenetleyicilerde Həqiqətən Nə Problem Var?
Ultrasonik Sensorlar və Mikrodenetleyicilerde Həqiqətən Nə Problem Var?

Sinxron gözləmə və Arduino məhdudiyyətləri

Mikro nəzarətçilər kodu bir döngədə işləyir və çox iş parçacığını dəstəkləmir. Ultrasonik sensorlar siqnal müddətinə əsaslanır. Bu müddət 30 m s -ə qədər davam edir ki, mikrokontrollerlər birdən çox mühərrik və sensorlar ilə (məsələn, təkər kodlayıcıları olan servo və DC mühərrikləri ilə) məşğul olduqda, döngənin içərisində gözləmək çox uzun çəkir.

Buna görə asinxron işləyən bir obyekt inkişaf etdirmək istədim.

Addım 2: Necə işləyir?

Bu necə işləyir ?
Bu necə işləyir ?

Maneələrin aşkarlanması üçün Atmega üçün hazırlanmışdır. 4 -ə qədər ultrasəs sensoru dəstəkləyir.

Periyodik fasilə sayəsində sistem 4 -ə qədər ultrasəs sensoru izləyə bilir. Əsas kod yalnız şərt və eşik ilə hansı sensorun aktivləşdiriləcəyini təyin etməlidir.

Əsas funksiyalar bunlardır:

  • Xəbərdarlıq əsas maneə aşkarlamasıdır və 4 sensordan ən azı biri eşik altındakı bir məsafəni algılarsa, kəsilmə təmin edir.
  • Monitor, 4 sensora qədər məsafə şərtlərinin birləşməsində kəsilmə təmin edən genişləndirilmiş bir funksiyadır. Mümkün olan şərtlər hədddən artıq, altında, bərabərdir və ya eşiklərə bərabər deyil.

Addım 3: Texniki Təfərrüatlar

Taymer4 istifadə edin, buna görə pin 6 7 8 PWM olaraq istifadə edilə bilməz.

Hər bir sensor üçün obyektin tetikleyici PİN və kəsmə PIN koduna ehtiyacı var.

Sensorların PİN -lərini kəsmək üçün obyektin proqram istifadəsi üçün başqa bir kəsmə PIN koduna ehtiyacı var.

Addım 4: Necə həyata keçirilməli?

Necə həyata keçirilməli?
Necə həyata keçirilməli?

Sensorları yuxarıdakı kimi bağlayın

Bu GitHub deposundan yükləyin

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • MisalEchoObstacleDetection.ino

IDE kitabxananızda EchoObstacleDetection kataloqunu yaradın və.cpp və.h hərəkət edin

Test edin

ExampleEchoObstacleDetection.ino açın.

Bu, 2 ultrasəs sensoru ilə işləyən sadə maneələrin aşkarlanması nümunəsidir.

Çıxış serial monitora yönəldilir. Əvvəlcə 2 sensör tərəfindən aşkar edilən məsafələri çap edəcək və sonra eşiklər altındakı məsafələrdən asılı olaraq siqnallar yazacaq.

Tövsiyə: