Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Хэт авианы VS хэт улаан туяаны мэдрэгч
- Алхам 2: Схем
- Алхам 3: Мэдрэгчийн шинж чанар
- Алхам 4: Цуваа холбоо
- Алхам 5: Qt програм
- Алхам 6: Arduino эх код
Видео: Arduino -той хэт улаан туяаны радар: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Энэхүү жижиг төсөлд би 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 програм
Arduino -той харилцаж, хэмжсэн цэгүүдийг радар шиг зурахын тулд би Qt (C ++) дээр PC програм хийсэн. Энэ нь зарим параметрүүдийг (Arduino дээр тодорхойлсон) болон хэмжсэн зайны цэгүүдийг хүлээн авдаг.
Та мөн програм болон түүний эх кодыг татаж авах боломжтой.
Алхам 6: Arduino эх код
Та кодын дээд хэсэгт байгаа зарим параметрүүдийг макро ашиглан тохируулах боломжтой.
Хэрэв та Sharp зайн мэдрэгчийн шинж чанарыг өөрчилвөл distAdcMap массивын утгыг өөрчлөх шаардлагатай болно гэдгийг анхаарна уу.
- InfraRadar.c: Радар код. Үүнийг хуулж, Arduino төсөлдөө оруулна уу.
- InfraRadarMeasurement.c: Онцлог хэмжих код. Үүнийг хуулж аваад Arduino төсөлдөө оруулна уу. ADC -ийн утгыг шалгахын тулд Serial Console ашиглана уу.
Зөвлөмж болгож буй:
Хэт улаан туяаны мэдрэгчийг Arduino ашиглан ашиглах: 8 алхам (зурагтай)
Хэт улаан туяаны мэдрэгчийг Arduino ашиглан ашиглах: Хэт улаан туяаны мэдрэгч гэж юу вэ? IR мэдрэгч нь стандартаар тодорхойлогдсон тодорхой давтамжийн муж дахь IR дохиог сканнердаж гаралтын зүү дээрх цахилгаан дохио болгон хувиргадаг электрон төхөөрөмж юм. . IR дохио
Arduino лазер хэт улаан туяаны термометр: 7 алхам (зурагтай)
Arduino лазер хэт улаан туяаны термометр: Энэхүү төсөл дээр би 3D хэвлэмэл хаалт бүхий дижитал лазер хэт улаан туяаны термометрийг хэрхэн яаж хийхийг танд үзүүлэх болно
Arduino хэт улаан туяаны термометрийн буу БСХС -ийн хайрцаг: 4 алхам (зурагтай)
Arduino хэт улаан туяаны термометрийн буу БСХС-ийн хайрцаг: Энэхүү төсөл нь Arduino-ийн тусламжтайгаар хэт улаан туяаны термометр хийх зориулалттай бөгөөд хэлхээг БСХС-ийн хайрцагт хийсэн эмнэлгийн хэт улаан туяаны термометр юм. энэ намайг чадна
Arduino дээр суурилсан контактгүй хэт улаан туяаны термометр - Arduino ашиглан IR суурилсан термометр: 4 алхам
Arduino дээр суурилсан контактгүй хэт улаан туяаны термометр | Arduino ашиглан IR суурилсан термометр: Сайн байна уу залуусаа энэ зааварчилгаанд бид arduino ашиглан контактгүй термометр хийх болно. Заримдаа шингэн/хатуу бодисын температур хэт өндөр эсвэл бага байдаг тул түүнтэй холбоо тогтооход хэцүү байдаг. тэр үед температур
Adafruit SI1145 хэт ягаан туяа/харагдахуйц гэрэл/хэт улаан туяаны мэдрэгч - Arduino ба LCD: 4 алхам
Adafruit SI1145 хэт ягаан туяа/харагдахуйц гэрэл/хэт улаан туяаны мэдрэгч - Arduino ба LCD: Энэхүү төсөл нь хэт ягаан туяаны одоогийн хэмжээг тооцоолохын тулд Adafruit SI1145 хэт ягаан туяа/харагдахуйц гэрэл/хэт улаан туяаны мэдрэгчийг ашигладаг. Хэт ягаан туяа шууд мэдрэгддэггүй. Үүний оронд энэ нь харагдахуйц гэрэл ба хэт улаан туяаны заалтын функц гэж тооцогддог. Би үүнийг гадаа туршиж үзэхэд энэ нь