Съдържание:
- Стъпка 1: Как изглежда инфрачервен сензор?
- Стъпка 2: Платка/модул за пробив на IR сензора
- Стъпка 3: Необходими части и компоненти
- Стъпка 4: Свързване на IR сензор към Arduino
- Стъпка 5: Намерете кода, съответстващ на всеки ключ на дистанционното управление
- Стъпка 6: Управлявайте набор от светодиоди с помощта на IR дистанционно управление
- Стъпка 7: Отстраняване на неизправности
- Стъпка 8: Какво да направите по -нататък?
Видео: Използване на инфрачервен сензор с Arduino: 8 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Какво е инфрачервен (известен още като IR) сензор?
IR сензор е електронен инструмент, който сканира IR сигнали в определени честотни диапазони, определени от стандартите, и ги преобразува в електрически сигнали на своя изходен щифт (обикновено наричан сигнален щифт). Инфрачервените сигнали се използват главно за предаване на команди по въздуха на къси разстояния (обикновено няколко метра) като това, с което вече сте работили на дистанционното управление на телевизора или други подобни електронни устройства.
IR комуникационен протокол
Всеки сигнал представлява определен код. Електрическите сигнали могат да бъдат преобразувани обратно в действителните данни/код, изпратен от изпращача. Когато натиснете бутон на дистанционното управление на телевизора, той генерира сигнал, съответстващ на кода на бутона (напр. Вкл./Изкл., Увеличаване на звука и т.н.) и го изпраща към приемник (в този случай към вашия телевизор). И подателят, и получателят се договориха за набор от кодове, така че получателят да знае какво да прави въз основа на всеки код. Начинът, по който кодът трябва да бъде модулиран (моделиран) като сигнал, е дефиниран в различни стандарти и всеки производител на сензори обикновено се опитва да произведе продукт, съвместим с тях, така че да може да се използва в различни устройства. Един от най -известните стандартни протоколи е от NEC. Можете да намерите кратка история на IR протоколите в Wikipedia под заглавие Consumer IR.
Стъпка 1: Как изглежда инфрачервен сензор?
IR сензорите се предлагат в различни опаковки. Тук можете да видите някои типични опаковки за IR приемник.
Стъпка 2: Платка/модул за пробив на IR сензора
Можете също така да ги закупите като IR модул/пробивна дъска в eBay, Aliexpress или Amazon. Такива модули обикновено включват един от споменатите по -горе сензори с приятен пакет, подходящ за макет, заедно със светодиод, който ще мига, когато сензорът открие сигнал. По този начин ще забележите дали се прехвърлят някакви данни. Силно препоръчвам да започнете с един от тези модули.
Забележка: ако имате суров IR сензор, нищо няма да се промени, освен че трябва да проверите листа с данни на сензора, за да се уверите, че сте го свързали правилно, защото в противен случай може да имате красив син дим с миризма, която да продължи за час. Знаеш какво имам предвид;)
Стъпка 3: Необходими части и компоненти
Тук можете да намерите списъка с компоненти, които ще ви трябват, за да завършите този урок:
връзки към eBay:
- 1 x Arduino Uno:
- 1 x IR сензорен модул с дистанционно:
- 4 x 220 ома резистори:
- 4 x LED:
- 8 x кабел Dupont:
- 1 х планка без запояване:
- 1 х мини платка (по избор):
Връзки на Amazon.com:
- 1 x Arduino Uno:
- 1 x IR сензорен модул с дистанционно:
- 1 x Планка за запояване:
- 4 x 220 ома резистори:
- 4 x LED:
- 8 x Dupont кабел:
- 1 x Мини платка (по избор):
Стъпка 4: Свързване на IR сензор към Arduino
Настройката на връзка с IR сензор към Arduino е много проста. Освен VCC и GND щифт, сензорът има само един изходен щифт, който трябва да бъде свързан към един от цифровите щифтове на Arduino. В този случай той е свързан към щифт 13.
Опитах се да демонстрирам както модул за IR сензор, така и настройка на суров IR сензор. Както може да се види на снимките, позицията на щифтовете VCC и GND на сензорния модул е противоположна на необработения сензор. Въпреки това може да не е така за вашия сензор, така че както е споменато в предишната стъпка, в случай на използване на необработен сензор, първо проверете листа с данни.
Стъпка 5: Намерете кода, съответстващ на всеки ключ на дистанционното управление
За да програмирате Arduino да направи нещо, когато натиснете клавиш на дистанционното, първо трябва да имате кода, съответстващ на този ключ. Кодът на ключа е число, обикновено представено като шестнадесетично. Всяко дистанционно управление има свой собствен набор от ключови кодове, докато е възможно два контролера да споделят един и същ код за различни цели. Наличието на различни ключови кодове заедно с използването на различни честотни диапазони гарантира, че два дистанционни контролера на различни устройства няма да имат смущения. Ето защо, когато смените телевизионния си канал, вашият DVD плейър изобщо не реагира.
За да откриете кодовете за вашето IR дистанционно, първо трябва да изпълните проста скица, която се опитва да прочете кода от сензора, когато натиснете клавиш, и го изпраща през серийния порт на вашия компютър, където можете да получите достъп до него с помощта на инструменти за сериен монитор на Arduino IDE. Това прави скицата, приложена към този раздел. По -добре е да натиснете всеки бутон, за да видите кода и да запишете списъка с кодове някъде, така че да не се налага да го стартирате отново в бъдеще. Списъкът с ключови кодове, които виждате като таблица на снимката, всъщност са кодове, които получих при натискане на бутони на евтиното ми дистанционно управление.
Можете също така да получите достъп до действителния изходен код, споделен в моя уеб редактор на Arduino, в ir-key-code-logger.
Забележка: Не се страхувайте, ако видите код като FFFFFF някъде по средата. Това означава, че сте натиснали и задържили бутон за известно време. Ще се върнем към него по -късно. Засега просто ги игнорирайте и се съсредоточете върху други кодове.
Стъпка 6: Управлявайте набор от светодиоди с помощта на IR дистанционно управление
Сега, когато имаме код за всеки бутон, е време да се съсредоточим върху начина, по който можем да ги използваме. Обикновено използвате IR дистанционното, за да изпращате команди до Arduino, за да направите нещо като включване или изключване на лампа, преместване на робот в определена посока, показване на нещо на LCD/OLED екран и т.н. Тук се опитваме да демонстрираме процеса с помощта на проста верига, състояща се от 4 светодиода в различни цветове. Искаме да включим или изключим всеки от тях чрез специален бутон на IR дистанционното управление. Както можете да видите на схемата, трябва да свържете Arduino по следния начин към светодиоди и сензор:
Arduino GND -> IR сензор GND.
Arduino VCC -> IR сензор VCC.
Arduino 13 -> Изход за сигнал на IR сензор.
Arduino 2 -> Анод на синия светодиод (по -къс щифт на синия светодиод)
Arduino 3 -> Анод на зеления светодиод (по -къс щифт на зеления светодиод)
Arduino 4 -> Анод на жълтия светодиод (по -къс щифт на жълтия светодиод)
Arduino 5 -> Анод на червения светодиод (по -къс щифт на червения светодиод)
Arduino GND -> Катод на всички светодиоди чрез резистор 220 ома (по -дълъг щифт на светодиодите)
Можете да намерите кода, съответстващ на тази схема, в прикачения файл или в моя уеб редактор Arduino на ir-led-control.
Стъпка 7: Отстраняване на неизправности
Докато настройвате проекта си и следвате стъпките, може да срещнете много странни ситуации. Ето списъка с някои често срещани грешки, които може да получите при работа с IR сензор.
Получаване на FFFFFF при натискане на клавиш
При натискане на бутон може да забележите, че през повечето време той съобщава код като FFFFFF. Това се случва, когато натиснете бутон и го задържите за известно време, дори за кратък период от време. Сценарият е, че когато първоначално натиснете бутона, IR дистанционното изпраща кода на бутона и докато задържите бутона, той повтаря изпращането на FFFFFF, което означава, че потребителят все още натиска бутона, докладван наскоро. Това би било ОК. Можете просто да ги пропуснете. Действителният код е този, който имате точно преди FFFFFF на серийния монитор.
IR сензорът изобщо не реагира и изглежда се затопля
Прекъснете захранването !!! Ако сте сигурни, че скицата на регистратора на ключови кодове е правилна, тогава проблемът може би се дължи на грешната настройка на вашите проводници. Сценарият, който ми се случи, беше, че за моя IR модул (този, прикрепен към платката) бях свързал VCC и GND по обратния начин (поради това, че не използвах подходящи цветове за моите свързващи проводници). По този начин сензорният компонент изгоря и се вдигна хубав син дим. Купих пакет сурови IR сензори и се опитах да го сменя и сега работи като чар:). За съжаление направих същата грешка, когато тествах със суров IR сензор и този път нищо не се случи, освен сензорът да се затопли. Затова винаги проверявайте веригата, преди да включите захранването!
Понякога сензорът открива код, който никога не съм виждал досега
Това е един от най -често срещаните проблеми. Най -вероятно това се дължи на една от следните причини:
Не насочвате IR дистанционното директно към сензора
Това ще доведе до появата на някои нови кодове (предимно по -дълги кодове), които никога досега не сте получавали и обикновено не съвпадат с дължината на кодовете, които вече имате. Затова не забравяйте винаги да насочвате дистанционното към вашия сензор.
Използвате евтино IR дистанционно (като това, което използвах в този урок)
Вместо да използвате евтини непредсказуеми дистанционни управления, можете да опитате същия сценарий, като използвате дистанционното управление на телевизора или DVD плейъра или IR дистанционното управление на всяко устройство, което имате. Обикновено те имат добро качество на сигнала/хардуера (и разбира се са по -скъпи) и според моя опит обикновено работят добре, дори ако не насочите дистанционното директно към сензора.
Как да разбера дали записаният код не е боклук
Кодовете обикновено се представят в шестнадесетичен формат. Ако ги преобразувате в съответната двоична стойност, ще забележите, че двоичното представяне на последния байт е отрицанието на байта идва преди това. Ако знаете това, можете да направите тази проверка във вашия код, за да се уверите, че кодът, който сте получили, всъщност е валиден или не. Като пример, ако имате FF7A85, двоичното му представяне ще бъде както по -долу:
1111 1111 0111 1010 1000 0101
Отляво надясно всяка партида от 4 цифри представлява представяне на знак в оригиналния шестнадесетичен номер. Както можете да видите, партидата, съответстваща на 7, е 0111, а партидата, съответстваща на 8, е 1000, което е точното му отрицание. Под отрицание имам предвид, че всички 0 ще бъдат 1 и всички 1 ще бъдат заменени с 0. Същото важи и за следващия, който е A (1010) и 5 (0101).
Стъпка 8: Какво да направите по -нататък?
Сега е твой ред. Всичко зависи от вашето въображение да видите какво можете да направите с този малък прост сензор в ръката си. Ето няколко идеи за начало:
- Използвайте IR дистанционното управление на едно от устройствата, които имате у дома (телевизор, стерео и т.н.) и се опитайте да го използвате във вашия проект Arduino
- Опитайте се да включите всички светодиоди наведнъж, като натиснете клавиш и след това ги изключете с помощта на друг клавиш
- Използвайте бутона нагоре/надолу на дистанционното управление, за да включите/изключите светодиодите един по един, докато всички те се включат/изключат
- Създайте светофар със светодиоди и го управлявайте с помощта на дистанционното
- Ако имате под ръка малък DC мотор, опитайте да стартирате/спрете или промените посоката на въртене чрез IR дистанционно
- Можете да използвате дистанционното на телевизора си, за да управлявате робота си или да активирате/деактивирате някои сензори/задействащи устройства на него
Кажете ми за коментарите, какво бихте направили (или вече сте направили) с помощта на IR дистанционно.
Препоръчано:
DIY сензор за дишане с Arduino (проводим плетен сензор за разтягане): 7 стъпки (със снимки)
DIY сензор за дишане с Arduino (проводим плетен сензор за разтягане): Този DIY сензор ще приеме формата на проводим плетен сензор за разтягане. Той ще се увие около гърдите/стомаха ви и когато гърдите/стомаха ви се разширят и свият, сензорът и съответно входните данни, които се подават към Arduino. Така
Инфрачервен термометър на базата на Arduino - Инфрачервен термометър, използващ Arduino: 4 стъпки
Инфрачервен термометър на базата на Arduino | Инфрачервен термометър, използващ Arduino: Здравейте, момчета, в тази инструкция ще направим безконтактен термометър, използващ arduino. Тъй като понякога температурата на течността/твърдото вещество е твърде висока или твърде ниска, а след това е трудно да се установи контакт с нея и да се прочете температура тогава в този пейзаж
Направи си сам „Измервателен уред за използване на компютър ROG Base“Използване на Arduino и Python: 5 стъпки (със снимки)
Направи си сам „Измерител за използване на компютър ROG Base“Използване на Arduino и Python: ************************************* +На първо място, тези инструкции са написани от неносещ англоговорящ … не е професор по английски, така че, моля, информирайте за някаква граматическа грешка, преди да ми се подигравате.: P +и моля, не имитирайте
Използване на сензор за пръстови отпечатъци за присъствие на време в комбинация с решение XAMP: 6 стъпки (със снимки)
Използване на сензор за пръстови отпечатъци за посещаемост в комбинация с решение XAMP: За училищен проект търсехме решение как да проследим посещаемостта на учениците. Много от нашите студенти идват късно. Досадна работа е да се проверява тяхното присъствие. От друга страна, има много дискусии, защото учениците често ще казват
ПРОСТ СЕНЗОР НА СЛЪНЧЕВА СЕНЗОР: 6 стъпки (със снимки)
ПРОСТ СЕНЗОР НА СЛЪНЧЕВА СЛЪНЧЕТ: Следвайте стъпките, за да изградите успешно свой собствен сензор за светлина. Много полезен в автоматична система за осветление. Компоненти: 7805 регулатор IC SL100 транзисторен светодиод (за предпочитане червен) 150ohm резистор 9V захранващо реле (6V) LDR (общодостъпно такова) Свързване wi