Мазмуну:
- Жабдуулар
- 1 -кадам: Ultrasonic VS Infrared Sensor
- 2 -кадам: схемалык
- 3 -кадам: сенсор мүнөздүү
- 4 -кадам: Сериялык байланыш
- 5 -кадам: Qt Application
- 6 -кадам: Arduino Source Code
Video: Ардуино менен инфракызыл радар: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Бул кичинекей долбоордо мен сизге Arduino менен үйдө жөнөкөй радарды кантип түзүүнү көрсөткүм келет. Интернетте көптөгөн окшош долбоорлор бар, бирок алардын баары аралыкты өлчөө үчүн УЗИ сенсорун колдонуп жатышат. Бул долбоордо мен аралыкты өлчөө үчүн инфракызыл сенсорду колдоном.
Менин максатым - аны менен абдан жөнөкөй жана арзан LIDAR системасын түзүү жана картографиялык түзүлүштү ишке ашыруу.
Жабдуулар
- Arduino (Мен Maple Mini колдондум)
- Sharp расстояние сенсор (мен Sharp GP2Y0A02YK0F колдондум)
- Микро Серво (9г)
- Нан тактасы, зымдар
- Кошумча: 4.7k каршылыгы, 100nF конденсатору
1 -кадам: Ultrasonic VS Infrared Sensor
УЗИ менен инфракызыл сенсорлорунун негизги айырмасы - УЗИ сенсорунун аралыкты кененирээк өлчөөсү. Андыктан тоскоолдуктун ордун так аныктай албайт. Бул ~ +-30 ° бурчтук диапазондо жайгашкан эң жакын нерсенин алыстыгын өлчөй турганын билдирет.
Албетте, бул Sharp сенсор жакшы дегенди билдирбейт. Кээде бул мүлк абдан пайдалуу болушу мүмкүн (мисалы, жерден бийиктигин өлчөө үчүн дрондор тарабынан колдонулат). Туура тандоо толугу менен сиздин долбоордун талаптарына жараша болот.
2 -кадам: схемалык
Бөлүктөрдүн ортосундагы байланышты түзүү абдан жөнөкөй. PWM Чыгуусун жана Arduino тактаңыздагы аналогдук киргизүүнү тандап, Servo жана Sharp аралык сенсорлорун ошол казыктарга туташтырыңыз. Мен бул үчүн төмөнкү төөнөгүчтөрдү колдондум:
- PA0: Sharp аралык сенсор үчүн аналогдук киргизүү
- PA9: Servo үчүн PWM Output
Кээде Sharp IR Sensor ызы -чуу чыгарышы мүмкүн, андыктан ага жөнөкөй Low Pass чыпкасын коюуга туура келет. Мен аналогдук пиндеги ызы -чууну азайтуу үчүн 4.7k каршылыгын жана 100nF конденсаторун колдондум. Мындан тышкары, мен коддогу өлчөнгөн маанини бир нече жолу окуп, орточо эсеп менен чыпкаладым.
3 -кадам: сенсор мүнөздүү
Тилекке каршы, колдонулган инфракызыл алыстык сенсорунун сызыктуу эмес мүнөздөмөсү бар. Бул аралыкты алуу үчүн өлчөнгөн ADC маанисин туруктуу мааниге көбөйтүү жана ага дагы бир туруктуу маанини кошуу жетишсиз экенин билдирет.
Сенсордун маалымат баракчасы мүнөздөмөнү камсыз кылса да, мен аны конкреттүү долбоордо өзүм өлчөөнү жактырам (бул колдонулган чыңалуудан көз каранды болушу мүмкүн). Бул үчүн мен өлчөнгөн ADC баллынан жана ар бир 10 см аралыктан жуптарды жасадым. (Менин сенсорум 12 смден туура аралыкты өлчөй алды).
Мен бул жуптарды коддуу линиялык интерполяция менен туура аралыкты алуу үчүн колдондум.
Документтин аягында ADC баасын өлчөө үчүн мүнөздүү өлчөө учурунда жөнөкөй Arduino кодун таба аласыз.
4 -кадам: Сериялык байланыш
Мен сериялык байланышты өлчөнгөн бурч-аралык баалуулуктарын ЖКга жөнөтүү үчүн колдондум. Мен бир нече байтты жана ар кандай билдирүүлөрдү жөнөтүшүм керек болгондуктан, мен жөнөкөй байланыш протоколун иштеп чыктым.
Бул прокотол ар кандай билдирүү түрлөрүн жалпы жол менен аныктоого мүмкүндүк берет. Бул долбоордо мен 2 билдирүү түрүн колдондум:
- Параметрлер: Ардуинодо максималдуу аралык жана тоскоолдуктардын саны сыяктуу аныкталган PC тиркемесине параметрлерди жөнөтүү үчүн колдонулат.
- Тоскоолдук: Табылган тоскоолдукту жөнөтүү үчүн колдонулат. Бул servo бурчу жана өлчөнгөн аралык менен аныкталат. X-y позициясы PC тиркемеси боюнча эсептелинет.
5 -кадам: Qt Application
Arduino менен баарлашуу жана өлчөнгөн чекиттерди радар сыяктуу тартуу үчүн мен Qt (C ++) компьютер тиркемесин жасадым. Ал кээ бир параметрлерди (Arduinoдо аныкталган) жана өлчөнгөн аралык чекиттерин алат.
Сиз ошондой эле тиркемени жана анын баштапкы кодун жүктөп алсаңыз болот.
6 -кадам: Arduino Source Code
Сиз макростар менен коддун жогору жагындагы кээ бир параметрлерди ыңгайлаштырсаңыз болот.
Эскертүү, эгер сиз Sharp расстояние мүнөздөмөсүн өзгөртсөңүз, distAdcMap массивинин маанилерин өзгөртүүгө туура келет!
- InfraRadar.c: Радар коду. Көчүрүп, Arduino долбооруңузга чаптаңыз.
- InfraRadarMeasurement.c: мүнөздүү өлчөө үчүн код. Көчүрүп, Arduino долбооруңузга чаптаңыз. ADC баалуулуктарын текшерүү үчүн Serial Console колдонуңуз.
Сунушталууда:
Ардуино менен инфракызыл сенсорду колдонуу: 8 кадам (сүрөттөр менен)
Инфракызыл сенсорду Arduino менен колдонуу: Инфракызыл сенсор деген эмне? IR сенсор - бул IR сигналдарын стандарттар менен аныкталган белгилүү бир жыштык диапазондорунда сканерлеп, аларды электрдик сигналга айландыруучу электрондук аспап (адатта сигналдын пини деп аталат). . IR сигналы
Ардуино лазердик инфракызыл термометр: 7 кадам (сүрөттөр менен)
Ардуино лазердик инфракызыл термометр: Бул долбоордо мен сизге 3D басылган корпусу бар санарип лазердик инфракызыл термометрди кантип курууну көрсөтөм
Ардуино менен инфракызыл үйдү автоматташтыруу: 5 кадам
Ардуино менен инфракызыл үйдү автоматташтыруу: ARDUINO HOME AUTOMATION Үйдү автоматташтыруу - бул адатта кол менен жасай турган нерсеңизди автоматтык түрдө жасоону билдирет. Адатта, сиз которуштургучту өйдө көтөрө аласыз, эгерде сиз пультту бассаңыз, жарыгыңыз автоматтык түрдө келет
Резина боосу менен машине иштетүү, инфракызыл сезүү, ТВ коргонуучу робот: 5 кадам (сүрөттөр менен)
Резина боосу менен машине иштетүү, инфракызыл сезүү, ТВ коргоочу РОБОТ: Интегралдык микросхемаларды колдонбостон, бул робот стандарттуу сыналгынын пультунан инфракызыл сигналды күтөт, андан кийин резина тилкелеринин топтомун тез күйгүзөт. Эскертүү: "Иш столунун сайтын көрүү" Эгерде сиз видеону көрбөсөңүз. Жоопкерчиликтен баш тартуу: Бул долбоор
Ардуино менен инфракызыл матрицага сырсөз киргизүү системасы: 13 кадам
Arduino менен Infrared Matrix Password Input System: ICStation командасы ICStation Compatible Board Arduino негизинде Infrared Matrix Password Input System менен тааныштырат. Бул DC 5v электр булагынын астында иштейт жана паролду киргизүү үчүн 4 *4 Matrix Keyboard же инфракызыл алыстан башкаруу пультун колдонот жана бизди