Съдържание:
- Консумативи
- Стъпка 1: Ултразвуков VS инфрачервен сензор
- Стъпка 2: Схеми
- Стъпка 3: Характеристика на сензора
- Стъпка 4: Серийна комуникация
- Стъпка 5: Приложение Qt
- Стъпка 6: Изходният код на Arduino
Видео: Инфрачервен радар с Arduino: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
В този малък проект бих искал да ви покажа как можете да създадете прост радар у дома с Arduino. В интернет има много подобни проекти, но всички те използват ултразвуков сензор за измерване на разстоянието. В този проект използвам инфрачервен сензор за измерване на разстоянието.
Моята цел е да създам много проста и евтина LIDAR система с нея и да внедря картографиращо устройство.
Консумативи
- Arduino (използвах Maple Mini)
- Сензор за рязко разстояние (използвах Sharp GP2Y0A02YK0F)
- Микро серво (9g)
- Платформа, проводници
- По избор: 4.7k резистор, 100nF кондензатор
Стъпка 1: Ултразвуков VS инфрачервен сензор
Основната разлика между ултразвукови и инфрачервени сензори за разстояние е, че ултразвуковият сензор измерва разстоянието в по -широк диапазон. Следователно той не е в състояние точно да определи позицията на препятствие. Това означава, че измерва разстоянието до най-близкия обект, който се намира в диапазон от ъгъл ~ +-30 °.
Разбира се, това не означава, че сензорът Sharp е по -добър. Понякога това свойство може да бъде много полезно (например използвано от дронове за измерване на височина от земята). Правилният избор зависи изцяло от изискванията на вашия проект.
Стъпка 2: Схеми
Създаването на връзка между части е много лесно. Изберете ШИМ изход и аналогов вход на вашата платка Arduino и свържете Servo и Sharp сензорите за разстояние към тези щифтове. За тази цел използвах следните щифтове:
- PA0: Аналогов вход за сензор за рязко разстояние
- PA9: ШИМ изход за серво
Понякога IR сензорът Sharp може да има шумен изход, затова трябва да поставите обикновен нискочестотен филтър върху него. Използвах 4.7k резистор и 100nF кондензатор, за да намаля шума на аналоговия щифт. Освен това също филтрирах измерената стойност в кода, като я прочетох няколко пъти и изчислих средната стойност.
Стъпка 3: Характеристика на сензора
За съжаление използваният инфрачервен сензор за разстояние има нелинейни характеристики. Това означава, че за да получите разстоянието, не е достатъчно да умножите измерената стойност на ADC с постоянна стойност и да добавите към нея друга постоянна стойност.
Въпреки че листът с данни на сензора предоставя характеристиката, предпочитам да го измервам сам в конкретния проект (може да зависи от използваното напрежение). За целта направих двойки от измерената стойност на ADC и разстояние за всеки 10 см. (Моят сензор успя да измери правилното разстояние от 12 см).
Използвах тези двойки в кода, за да получа правилното разстояние с линейна интерполация.
Ще намерите прост код на Arduino в края на документа, за да измерите стойността на ADC по време на характерното измерване.
Стъпка 4: Серийна комуникация
Използвах серийна комуникация, за да изпратя измерените стойности на ъгъл-разстояние до компютъра. Тъй като трябва да изпращам множество байтове и различен тип съобщения, проектирах прост комуникационен протокол.
Този протокол позволява дефиниране на различни типове съобщения по общ начин. В този проект използвах 2 типа съобщения:
- Параметри: Използва се за изпращане на параметри към компютърно приложение, определени на Arduino като максимално разстояние и брой препятствия в кръг.
- Препятствие: Използва се за изпращане на открито препятствие. Той се идентифицира по ъгъла на серво и измереното разстояние. Позицията x-y ще бъде изчислена от компютърно приложение.
Стъпка 5: Приложение Qt
За да комуникирам с Arduino и да нарисувам измерените точки като радар, направих компютърно приложение в Qt (C ++). Той получава някои параметри (дефинирани на Arduino) и измерените точки на разстоянието.
Можете също да изтеглите приложението и неговия изходен код.
Стъпка 6: Изходният код на Arduino
Можете да персонализирате някои параметри в горната част на кода с макроси.
Имайте предвид, че ако промените характеристиката на сензора за разстояние Sharp, трябва да промените стойностите на масива distAdcMap !
- InfraRadar.c: Код на радар. Копирайте и го поставете във вашия Arduino проект.
- InfraRadarMeasurement.c: Код за характеристично измерване. Копирайте и го поставете във вашия Arduino проект. Използвайте Serial Console, за да проверите ADC стойностите.
Препоръчано:
IOT ThermoGun - интелигентен инфрачервен термометър за тяло - Ameba Arduino: 3 стъпки
IOT ThermoGun - интелигентен инфрачервен термометър за телесна температура - Ameba Arduino: С COVID -19, който все още причинява хаос в световен мащаб, причинявайки хиляди смъртни случаи, милиони хоспитализирани, всяко полезно медицинско устройство е в голямо търсене, особено битово медицинско устройство като безконтактен термометър ?? . Ръчният термометър обикновено е включен
Използване на инфрачервен сензор с Arduino: 8 стъпки (със снимки)
Използване на инфрачервен сензор с Arduino: Какво е инфрачервен (известен още като IR) сензор? IR сензорът е електронен инструмент, който сканира IR сигнали в определени честотни диапазони, определени от стандартите, и ги преобразува в електрически сигнали на изходния си щифт (обикновено се нарича сигнален щифт) . IR сигналът
Лазерен инфрачервен термометър Arduino: 7 стъпки (със снимки)
Лазерен инфрачервен термометър Arduino: В този проект ще ви покажа как да изградите цифров лазерен инфрачервен термометър с персонализиран 3D отпечатан корпус
Arduino инфрачервен термометър пистолет MDF случай: 4 стъпки (със снимки)
Arduino инфрачервен термометър пистолет MDF случай: Този проект е за производство на инфрачервен термометър с Arduino, веригата е поставена в калъф MDF прилича на медицински инфрачервен термометър на пазара. Инфрачервеният термометър GY-906 се използва за измерване на температурата на обекта без контакт, може да означава
Инфрачервен термометър на базата на Arduino - Инфрачервен термометър, използващ Arduino: 4 стъпки
Инфрачервен термометър на базата на Arduino | Инфрачервен термометър, използващ Arduino: Здравейте, момчета, в тази инструкция ще направим безконтактен термометър, използващ arduino. Тъй като понякога температурата на течността/твърдото вещество е твърде висока или твърде ниска, а след това е трудно да се установи контакт с нея и да се прочете температура тогава в този пейзаж