Мазмуну:

Ultrasonics негизделген жайгашуу системасы: 4 кадам (Сүрөттөр менен)
Ultrasonics негизделген жайгашуу системасы: 4 кадам (Сүрөттөр менен)

Video: Ultrasonics негизделген жайгашуу системасы: 4 кадам (Сүрөттөр менен)

Video: Ultrasonics негизделген жайгашуу системасы: 4 кадам (Сүрөттөр менен)
Video: Arduino Tutorial 27 - Measuring Distanc with Ultrasonic Sensor | SunFounder's ESP32 IoT Learnig kit 2024, Декабрь
Anonim
Ultrasonics негизделген жайгашуу системасы
Ultrasonics негизделген жайгашуу системасы

Ардуино аппараттары үчүн тапкан УЗИ радарларынын бардык версиялары (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) абдан жакшы радарлар, бирок алардын баары "сокур". Айтайын дегеним, радар бир нерсени аныктайт, бирок ал эмнени аныктап жатат?

Ошондуктан мен өзүмдү объекттерди аныктай турган жана аларды аныктоочу системаны иштеп чыгууну сунуштайм. Башкача айтканда, GPS түзмөктөрүн, бирок УЗИ детекторлорун колдонбостон позициялоо системасы.

Бул жыйынтык сизге жагат деп үмүттөнөм.

1 -кадам: Бул кантип иштейт?

Бул кантип иштейт?
Бул кантип иштейт?

Позициялоо тутумдары УЗИ детекторлору жана id_node 1, 2 жана 3 менен үч сенсордук станциялар тарабынан түзүлөт, алар 90º бурчту шыпырып турган тик бурчтукту же чарчаны түзөт жана алардын ортосундагы аралык 1 -сүрөттө көрсөтүлгөндөй белгилүү.

const float distancebetween1and2 = 60.0;

const float distancebetween2and3 = 75.0;

Бул сенсорлор id_node 3төн чоң башка объектилердин алыстыгын жана бурчун өлчөйт, аларда 170 ° бурчту шыпырып турган УЗИ детектору бар.

Алардын баары аралыктарды, өлчөнгөн бурчтарды жана id_node'ду башка магистралдык станцияга зымсыз байланышты колдонуп анализдеп, тригонометриялык эсептөөнүн жардамы менен объекттердин абалын эсептеп, аныктайт.

Тоскоолдуктарды болтурбоо үчүн, башкы станция бардык УЗИ детекторлорун синхрондоштурат, ошентип ар бир учурда бир гана УЗИ детектору өлчөйт.

Андан кийин жана сериялык байланышты колдонуп, башкы станция жыйынтыктарды пландоо үчүн маалыматты (бурч, аралык, id_object) иштетүүчү эскизге жөнөтөт.

2 -кадам: Үч сенсордук станцияны жана объекттерди кантип конфигурациялоо керек

Үч сенсордук станцияны жана объекттерди кантип конфигурациялоо керек
Үч сенсордук станцияны жана объекттерди кантип конфигурациялоо керек
Үч сенсордук станцияны жана объекттерди кантип конфигурациялоо керек
Үч сенсордук станцияны жана объекттерди кантип конфигурациялоо керек

Ар бир сенсор станциясынын бирден бир милдети - объекттерди табуу жана ченелген аралыктын, бурчтун жана id түйүнүнүн тизмесин башкы станцияга жөнөтүү.

Андыктан аныктоону жакшыртуу жана аныктоо аймагын чектөө үчүн уруксат берилген максималдуу аныктоо аралыкты ("valid_max_distance") жана минималдуу ("valid_min_distance") (сантиметр) жаңыртуу керек:

int valid_max_distance = 80;

int valid_min_distance = 1;

Бул сенсор станциялардын id түйүнү (төмөндөгү коддогу "this_node") 1, 2 жана 3 жана башкы станциянын id түйүнү 0.

const uint16_t this_node = 01; // Octal форматындагы биздин түйүндүн дареги (Node01, Node02, Node03)

const uint16_t other_node = 00; // Башкы түйүндүн дареги (Node00) Octal форматында

Ар бир сенсор бекети шыпырылып, 100º бурчка ээ (төмөнкү коддо "max_angle")

#аныктоо min_angle 0

#аныктоо max_angle 100

Жогоруда айтылгандай, объектинин бирден -бир функциясы - объекттерди табуу жана ченелген аралыктардын, бурчтардын жана id объектинин тизмесин башкы станцияга жөнөтүү. Бир объекттин идентификатору (төмөнкү коддогу "this_node") 3төн чоң болушу керек.

Ар бир объект шыпырып жана 170º бурчка жана жогоруда айтылгандай, максималдуу жана минималдуу аныктоо аралыкты жаңыртууга болот.

const uint16_t this_node = 04; // Octal форматындагы биздин түйүндүн дареги (Node04, Node05,…)

const uint16_t other_node = 00; // Негизги түйүндүн дареги (Node00) Octal форматында int valid_max_distance = 80; int valid_min_distance = 1; 170

3 -кадам: Master Station кантип конфигурацияланат

Master Station кантип конфигурацияланат
Master Station кантип конфигурацияланат
Master Station кантип конфигурацияланат
Master Station кантип конфигурацияланат
Master Station кантип конфигурацияланат
Master Station кантип конфигурацияланат

Башкы станциянын милдети - сенсордук станциялардын жана объектилердин берүүлөрүн кабыл алуу жана жыйынтыгын сериялык порт аркылуу аларды иштетүү эскизине жөнөтүү. Мындан тышкары, бардык объектилерди жана үч сенсордук станцияны синхрондоштурат, алардын кийлигишүүсүнө жол бербөө үчүн ар бир убакта бирөө гана өлчөйт.

Биринчиден, сенсор 1 менен 2 ортосундагы аралыкты (сантиметр) жана 2 менен 3 ортосундагы аралыкты жаңыртуу керек.

const float distancebetween1and2 = 60.0;

const float distancebetween2and3 = 70.0;

Эскиз объекттердин ордун төмөнкүчө эсептейт:

  • Объектилердин бардык берүүлөрү үчүн (id_node 3төн чоң) УЗИ сенсорлорунун ар бир берүүсүндө бирдей аралыкты издеңиз (id_node 1, 2 же 3).
  • Бул пункттардын бардыгы "талапкерлердин" тизмесин түзөт (аралык, бурч, id_node) бир объекттин позициясы үчүн (эскиздеги "process_pointobject_with_pointssensor").
  • Мурунку тизмедеги ар бир "талапкер" үчүн "кандидат_селектелген_бет ортосунда_сенсор2 жана 3" функциясы ультрадыбыштуу сенсордун 2 жана 3 көз карашынан эсептейт, алардын кайсынысы төмөнкү тригонометрия шартына дал келет (2 жана 3 -сүрөттөрдү караңыз)

сүзүү расстояние2 = sin (радиандар (бурч)) * аралык;

сүзүү расстояние3 = cos (радиандар (бурч_кандидаты)) * аралык_кандидат; // Тригонометрия шарты 1 абс (расстояние 2 + расстояние 3 - расстояние2 и3) <= калкып жүрүү (max_diference_distance)

Жогоруда айтылгандай, мурунку тизмедеги ар бир "талапкер" үчүн, "кандидат_селектелген_бет ортосунда_сенсор1 жана2" функциясы ультрадыбыштуу сенсордун 1 жана 2 көз карашы боюнча эсептейт, алардын кайсынысы төмөнкү тригонометрия байланышына туура келет (2 жана 3 -сүрөттү караңыз)

сүзүү расстояние1 = син (радиандар (бурч)) * аралык; сүзүү аралыгы2 = кос (радиандар (бурч_кандидаты)) * аралык_кандидат; // Тригонометрия шарты 2 абс (расстояние 1 + расстояние 2 - фосила1 и2) <= калкып жүрүү (max_diference_distance)

Тригонометриянын 1 жана 2 шарттарына дал келген талапкерлер (аралык, бурч, id_node) 1, 2 жана 3 сенсор станциялары тарабынан аныкталган объекттер

Андан кийин жыйынтыктар башкы станция тарабынан аларды пландоо үчүн кайра иштетүүчү эскизге жөнөтүлөт.

4 -кадам: Материалдардын тизмеси

Image
Image

Бир сенсор станциясына же бир объектке керектүү материалдардын тизмеси төмөнкүчө:

  • Нано тактасы
  • УЗИ сенсор
  • Микро -servo мотор
  • NRF24L01 зымсыз модулу
  • NRF24L01 адаптер

жана башкы станция үчүн материалдардын тизмеси төмөнкүдөй:

  • Нано тактасы
  • NRF24L01 зымсыз модулу
  • NRF24L01 адаптер

Сунушталууда: