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

Хэт авианы тусламжтайгаар саад бэрхшээлийг асинхрон байдлаар илрүүлэх: 4 алхам
Хэт авианы тусламжтайгаар саад бэрхшээлийг асинхрон байдлаар илрүүлэх: 4 алхам

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

Видео: Хэт авианы тусламжтайгаар саад бэрхшээлийг асинхрон байдлаар илрүүлэх: 4 алхам
Видео: Railway on the Roof of the World: Qinghai–Tibet line 2024, Долдугаар сарын
Anonim
Хэт авианы тусламжтайгаар саад бэрхшээлийг асинхрон байдлаар илрүүлэх
Хэт авианы тусламжтайгаар саад бэрхшээлийг асинхрон байдлаар илрүүлэх

Би хөгжилтэй байхын тулд байшин дотор бие даан шилжихийг хүсч буй роботыг бүтээж байна.

Энэ бол урт ажил бөгөөд би алхам алхмаар хийж байна.

Энэхүү зааварчилгаа нь Arduino Mega -ийн тусламжтайгаар саад бэрхшээлийг илрүүлэхэд чиглэгддэг

HC-SR04 vs HY-SRF05 хэт авианы мэдрэгч нь хямд бөгөөд ашиглахад хялбар боловч нарийн төвөгтэй робот дахь микроконтроллерийн хүрдэнд нэгтгэхэд хэцүү болж магадгүй юм. Би саад бэрхшээл илрүүлэх ажлыг асинхрон байдлаар явуулахыг хүсч байсан.

_

Би энэ роботын онцлог шинж чанаруудын талаар 3 зааварчилгаа хэвлүүлсэн:

  • Дугуйны кодлогч хийх
  • WIFI гарцаа хий
  • Инерцийн модулийн нэгжийг ашиглах

Мөн роботыг нутагшуулахын тулд хиймэл оюун ухаан, хэт авианы аппаратыг хослуулах тухай баримт бичиг.

Алхам 1: Хэт авианы мэдрэгч ба микроконтроллерын хувьд яг ямар асуудал гардаг вэ?

Хэт авианы мэдрэгч ба микроконтроллерын хувьд яг ямар асуудал гардаг вэ?
Хэт авианы мэдрэгч ба микроконтроллерын хувьд яг ямар асуудал гардаг вэ?
Хэт авианы мэдрэгч ба микроконтроллерын хувьд яг ямар асуудал гардаг вэ?
Хэт авианы мэдрэгч ба микроконтроллерын хувьд яг ямар асуудал гардаг вэ?

Синхрон хүлээлт ба Arduino хязгаарлалтууд

Микроконтроллеруудын код нь гогцоонд ажилладаг бөгөөд олон урсгалтай холболтыг дэмждэггүй. Хэт авианы мэдрэгч нь дохионы үргэлжлэх хугацаа дээр суурилдаг. Энэ хугацаа нь 30 м хүртэл үргэлжилдэг бөгөөд микроконтроллер нь олон мотор, мэдрэгчтэй ажиллах шаардлагатай болдог (жишээлбэл дугуй кодлогчтой servo ба DC мотор гэх мэт).

Тиймээс би асинхроноор ажилладаг объектыг хөгжүүлэхийг хүссэн юм.

Алхам 2: Энэ нь хэрхэн ажилладаг вэ?

Энэ яаж ажилдаг вэ ?
Энэ яаж ажилдаг вэ ?

Энэ нь саад тотгорыг илрүүлэх зорилгоор Атмегад зориулагдсан болно. Энэ нь 4 хүртэлх хэт авианы мэдрэгчийг дэмждэг.

Үе үе тасалдсаны ачаар систем нь 4 хүртэлх хэт авианы мэдрэгчийг хянах боломжтой. Гол код нь зөвхөн мэдрэгчийг нөхцөл ба босго дээр идэвхжүүлэхийг тодорхойлох ёстой. Гол төлөв зөвхөн нөхцөл (босго) гарч ирэхэд л тасалдах болно.

Үндсэн функцууд нь:

  • Анхааруулга нь саад тотгорыг илрүүлэх үндсэн хэрэгсэл бөгөөд 4 мэдрэгчийн дор хаяж 1 нь босгоны доорх зайг илрүүлсэн тохиолдолд тасалдал өгдөг.
  • Монитор бол 4 хүртэлх мэдрэгчийн зайны нөхцлийг хослуулан таслах боломжийг олгодог өргөтгөсөн функц юм. Боломжит нөхцлүүд нь босго давсан, доогуур, тэнцүү эсвэл тэнцүү биш байна.

Алхам 3: Техникийн дэлгэрэнгүй мэдээлэл

Таймер4 -ийг ашигла, ингэснээр 6 7 8 -р зүүг ХОУХ болгон ашиглах боломжгүй.

Мэдрэгч бүрийн хувьд объект гох PIN, тасалдлын ПИН хэрэгтэй.

Мэдрэгчийн орой дээр ПИН -ийг тасалдуулж байгаа нь програм хангамжийг ашиглахын тулд объектод өөр тасалдлын ПИН хэрэгтэй болно.

Алхам 4: Хэрхэн хэрэгжүүлэх вэ?

Хэрхэн хэрэгжүүлэх вэ?
Хэрхэн хэрэгжүүлэх вэ?

Дээрх шиг мэдрэгчийг холбоно уу

Энэ GitHub репозитороос татаж авах

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • ЖишээEchoObstacleDetection.ino

IDE номын санд EchoObstacleDetection лавлах үүсгэж,.cpp ба.h -ийг зөөж болно

Туршаад үзээрэй

ExampleEchoObstacleDetection.ino -г нээнэ үү.

Энэ бол 2 хэт авианы мэдрэгч бүхий саад тотгорыг илрүүлэх энгийн жишээ юм.

Гаралтыг цуваа дэлгэц дээр чиглүүлдэг. Эхэндээ энэ нь 2 мэдрэгчийн илрүүлсэн зайг хэвлэж, дараа нь босгон дээрх зайнаас хамаарч дохио өгдөг.

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