Агуулгын хүснэгт:

Хэт авианы суурилсан байршил тогтоох систем: 4 алхам (зурагтай)
Хэт авианы суурилсан байршил тогтоох систем: 4 алхам (зурагтай)

Видео: Хэт авианы суурилсан байршил тогтоох систем: 4 алхам (зурагтай)

Видео: Хэт авианы суурилсан байршил тогтоох систем: 4 алхам (зурагтай)
Видео: 125 САМЫХ ИННОВАЦИОННЫХ ЭЛЕКТРОТРАНСПОРТНЫХ И ЛИЧНЫХ ТРАНСПОРТНЫХ СРЕДСТВ 2024, Арваннэгдүгээр
Anonim
Хэт авианы суурилсан байршил тогтоох систем
Хэт авианы суурилсан байршил тогтоох систем

Ардуино төхөөрөмжид зориулан олсон хэт авианы радаруудын бүх хувилбарууд (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; // Octal формат дахь үндсэн зангилааны хаяг (Node00)

Мэдрэгч станц бүр 100 градусын өнцөг шүүрдэнэ (доорх кодод "хамгийн их өнцөг")

#min_angle -ийг тодорхойлох 0

#max_angle 100 -ийг тодорхойлох

Дээр дурдсанчлан объектын цорын ганц үүрэг бол объектыг илрүүлж, хэмжсэн зай, өнцөг, id объектын жагсаалтыг мастер станц руу илгээх явдал юм. Нэг объектын 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; #min_angle 0 -ийг тодорхойлох #max_angle -ийг тодорхойлох 170

Алхам 3: Мастер станцыг хэрхэн тохируулах талаар

Мастер станцыг хэрхэн тохируулах вэ
Мастер станцыг хэрхэн тохируулах вэ
Мастер станцыг хэрхэн тохируулах вэ
Мастер станцыг хэрхэн тохируулах вэ
Мастер станцыг хэрхэн тохируулах вэ
Мастер станцыг хэрхэн тохируулах вэ

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

Юуны өмнө та мэдрэгч 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 -р зургийг үз).

хөвөх зай froms2 = sin (радиан (өнцөг)) * зай;

float distancefroms3 = cos (radians (angle_candidate)) * distance_candidate; // Тригонометрийн нөхцөл 1 ABS (зайны зай2 + зайн зай3 - хоорондын зай2 ба3) <= хөвөх

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

float distancefroms1 = sin (радиан (өнцөг)) * зай; хөвөх зай froms2 = cos (радиан (өнцөг_кандидат)) * зай_кандидат; // Тригонометрийн 2 нөхцөл (absfroms1 + distancefroms2 - хоорондын зай1 ба 2) <= float (max_diference_distance)

Тригонометрийн 1 ба 2 -р нөхцөлтэй тохирч буй нэр дэвшигчид (зай, өнцөг, id_node) нь 1, 2, 3 мэдрэгч станцуудаар илрүүлсэн объектуудыг тодорхойлдог

Үүний дараа үр дүнг мастер станц боловсруулах график руу илгээж тэдгээрийг төлөвлөж байна.

Алхам 4: Материалын жагсаалт

Image
Image

Нэг мэдрэгч станц эсвэл нэг объектод шаардлагатай материалын жагсаалт дараах байдалтай байна.

  • Нано самбар
  • Хэт авианы мэдрэгч
  • Бичил servo мотор
  • NRF24L01 утасгүй модуль
  • NRF24L01 адаптер

мөн мастер станцын материалын жагсаалт дараах байдалтай байна.

  • Нано самбар
  • NRF24L01 утасгүй модуль
  • NRF24L01 адаптер

Зөвлөмж болгож буй: