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

Arduino -той хэт улаан туяаны радар: 6 алхам
Arduino -той хэт улаан туяаны радар: 6 алхам

Видео: Arduino -той хэт улаан туяаны радар: 6 алхам

Видео: Arduino -той хэт улаан туяаны радар: 6 алхам
Видео: Energy Efficiency project - Хэт улаан туяаны туршилт 2024, Арваннэгдүгээр
Anonim
Image
Image

Энэхүү жижиг төсөлд би Arduino ашиглан гэртээ энгийн радар хэрхэн бүтээхийг харуулахыг хүсч байна. Интернет дээр үүнтэй төстэй олон төслүүд байдаг боловч тэд бүгд хэт авианы мэдрэгч ашиглан зайг хэмждэг. Энэ төсөлд би хэт улаан туяаны мэдрэгч ашиглан зайг хэмждэг.

Миний зорилго бол түүнтэй хамт маш энгийн бөгөөд хямд LIDAR системийг бий болгож, зураглалын төхөөрөмжийг хэрэгжүүлэх явдал юм.

Хангамж

  • Arduino (би Maple Mini ашиглаж байсан)
  • Хурц зайн мэдрэгч (би Sharp GP2Y0A02YK0F ашигласан)
  • Бичил Servo (9 гр)
  • Талхны самбар, утас
  • Нэмэлт: 4.7k эсэргүүцэл, 100nF конденсатор

Алхам 1: Хэт авианы VS хэт улаан туяаны мэдрэгч

Схем
Схем

Хэт авианы болон хэт улаан туяаны зайн мэдрэгчийн гол ялгаа нь хэт авианы мэдрэгч нь зайг илүү өргөн хүрээнд хэмждэгт оршино. Тиймээс энэ нь саад бэрхшээлийн байрлалыг яг таг тодорхойлох боломжгүй юм. Энэ нь ~ +-30 ° өнцгийн хүрээнд байрладаг хамгийн ойр объектын зайг хэмждэг гэсэн үг юм.

Мэдээжийн хэрэг, энэ нь Sharp мэдрэгч илүү сайн гэсэн үг биш юм. Заримдаа энэ өмч нь маш ашигтай байж болох юм (жишээлбэл, дроноос газрын өндрийг хэмжихэд ашигладаг). Зөв сонголт нь таны төслийн шаардлагаас хамаарна.

Алхам 2: Схем

Схем
Схем
Схем
Схем

Хэсэг хоорондын холболтыг хийх нь маш энгийн. Arduino самбар дээрх ХОУХШ -ийн гаралт ба аналог оролтыг сонгоод Servo ба Sharp зайны мэдрэгчийг эдгээр тээглүүрт холбоно уу. Би энэ зорилгоор дараах тээглүүрүүдийг ашигласан.

  • PA0: Sharp зай мэдрэгчийн аналог оролт
  • PA9: Servo -ийн ХОУХШ -ийн гаралт

Заримдаа Sharp IR мэдрэгч нь дуу чимээ ихтэй байдаг тул та энгийн нэвтрүүлэх шүүлтүүр тавих хэрэгтэй болно. Би аналог зүү дээрх дуу чимээг багасгахын тулд 4.7k эсэргүүцэл ба 100nF конденсатор ашигласан. Үүнээс гадна би кодын хэмжсэн утгыг олон удаа уншиж, дунджийг тооцоолж шүүсэн.

Алхам 3: Мэдрэгчийн шинж чанар

Мэдрэгчийн онцлог
Мэдрэгчийн онцлог
Мэдрэгчийн онцлог
Мэдрэгчийн онцлог

Харамсалтай нь хэт улаан туяаны зайн мэдрэгч нь шугаман бус шинж чанартай байдаг. Энэ нь зайг олж авахын тулд хэмжсэн ADC утгыг тогтмол утгаар үржүүлж, өөр тогтмол утгыг нэмэх нь хангалтгүй гэсэн үг юм.

Мэдрэгчийн мэдээллийн хуудас нь шинж чанарыг өгдөг боловч би үүнийг тодорхой төсөлд өөрөө хэмжихийг илүүд үздэг (энэ нь ашигласан хүчдэлээс хамаарч болно). Үүний тулд би хэмжсэн ADC утга ба 10 см тутамд зайнаас хос хос хийсэн. (Миний мэдрэгч 12 см -ээс зөв зайг хэмжих боломжтой байсан).

Би эдгээр хосуудыг кодын шугаман интерполяцийн тусламжтайгаар зөв зайг олж авахад ашигласан.

Баримт бичгийн төгсгөлд та шинж чанарыг хэмжих явцад ADC утгыг хэмжих энгийн Arduino кодыг олох болно.

Алхам 4: Цуваа холбоо

Цуваа холбоо
Цуваа холбоо

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

Энэхүү прокотол нь янз бүрийн мессежийн төрлийг ерөнхий байдлаар тодорхойлох боломжийг олгодог. Энэ төсөлд би 2 төрлийн мессеж ашигласан.

  • Параметрүүд: Arduino дээр тодорхойлсон хамгийн их зай, саад бэрхшээлийн тоо гэх мэт параметрүүдийг PC Application руу илгээхэд ашигладаг.
  • Саад: Илэрсэн саадыг илгээхэд ашигладаг. Энэ нь servo -ийн өнцөг болон хэмжсэн зайг тодорхойлдог. X-y байрлалыг PC програмаар тооцоолно.

Алхам 5: Qt програм

Qt програм
Qt програм

Arduino -той харилцаж, хэмжсэн цэгүүдийг радар шиг зурахын тулд би Qt (C ++) дээр PC програм хийсэн. Энэ нь зарим параметрүүдийг (Arduino дээр тодорхойлсон) болон хэмжсэн зайны цэгүүдийг хүлээн авдаг.

Та мөн програм болон түүний эх кодыг татаж авах боломжтой.

Алхам 6: Arduino эх код

Та кодын дээд хэсэгт байгаа зарим параметрүүдийг макро ашиглан тохируулах боломжтой.

Хэрэв та Sharp зайн мэдрэгчийн шинж чанарыг өөрчилвөл distAdcMap массивын утгыг өөрчлөх шаардлагатай болно гэдгийг анхаарна уу.

  • InfraRadar.c: Радар код. Үүнийг хуулж, Arduino төсөлдөө оруулна уу.
  • InfraRadarMeasurement.c: Онцлог хэмжих код. Үүнийг хуулж аваад Arduino төсөлдөө оруулна уу. ADC -ийн утгыг шалгахын тулд Serial Console ашиглана уу.

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