Мазмуну:

Ардуино менен инфракызыл сенсорду колдонуу: 8 кадам (сүрөттөр менен)
Ардуино менен инфракызыл сенсорду колдонуу: 8 кадам (сүрөттөр менен)

Video: Ардуино менен инфракызыл сенсорду колдонуу: 8 кадам (сүрөттөр менен)

Video: Ардуино менен инфракызыл сенсорду колдонуу: 8 кадам (сүрөттөр менен)
Video: Non-Contact Long Range MLX90614-DCI Temperature Sensor with Arduino 2024, Сентябрь
Anonim
Infrared сенсорун Arduino менен колдонуу
Infrared сенсорун Arduino менен колдонуу

Инфракызыл (ака IR) сенсор деген эмне?

IR сенсору - бул стандарттык ченемдер менен аныкталган белгилүү бир жыштык диапазонунда IR сигналдарын сканерлеп, аларды электрдик сигналга айландыруучу электрондук аспап. IR сигналдары негизинен телевизордун алыстан башкаруу пультунда же башка ушул сыяктуу электрондук түзүлүштөрдө иштеген сыяктуу кыска аралыктарга (адатта бир нече метрге) буйруктарды аба аркылуу берүү үчүн колдонулат.

IR байланыш протоколу

Ар бир сигнал белгилүү бир кодду билдирет. Электр сигналдары жөнөтүүчү жөнөткөн чыныгы маалыматка/кодго кайра которулушу мүмкүн. Сиз сыналгыңыздын пультундагы баскычты басканыңызда, ал баскычтын кодуна туура келген сигналды чыгарат (мисалы, күйгүзүү/өчүрүү, үнүн жогорулатуу ж.б.) жана аны ресиверге жөнөтөт (бул учурда сыналгыңыз). Жөнөтүүчү да, алуучу да коддордун топтомуна макул болушту, ошондуктан алуучу ар бир коддун негизинде эмне кылууну билет. Коддун модуляциялануу жолу (моделдөө) ар кандай стандартта аныкталган жана ар бир сенсор өндүрүүчүсү, адатта, ар кандай түзмөктөрдө колдонулушу үчүн, аларга шайкеш келген продукцияны чыгарууга аракет кылат. Белгилүү стандарттык протоколдордун бири NECтен. Сиз IR протоколдорунун кыскача тарыхын Википедиядан Керектөөчүнүн IR аталышынан таба аласыз.

1 -кадам: IR сенсору кандай көрүнөт?

IR сенсору кандай көрүнөт?
IR сенсору кандай көрүнөт?
IR сенсору кандай көрүнөт?
IR сенсору кандай көрүнөт?
IR сенсору кандай көрүнөт?
IR сенсору кандай көрүнөт?

IR сенсорлору ар кандай пакеттерде бар. Бул жерде сиз IR алуучунун типтүү таңгагын көрө аласыз.

2 -кадам: IR Sensor Breakout Board/модулу

IR Sensor Breakout Board/модулу
IR Sensor Breakout Board/модулу
IR Sensor Breakout Board/модулу
IR Sensor Breakout Board/модулу
IR Sensor Breakout Board/модулу
IR Sensor Breakout Board/модулу
IR Sensor Breakout Board/модулу
IR Sensor Breakout Board/модулу

Ошондой эле аларды IR модулу/eBay, Aliexpress же Amazon боюнча сатып алсаңыз болот. Мындай модулдар, адатта, жогоруда айтылган сенсорлордун бирин жакшы панель достук пакети менен бирге, сенсор сигналды аныктаганда жарк эте турган LED менен коштолот. Муну менен сиз кандайдыр бир маалымат өткөрүлүп жаткандыгын байкайсыз. Мен бул модулдардын биринен баштоону сунуштайм.

Эскертүү: эгерде сизде чийки IR сенсору болсо, анда эч нерсе өзгөрбөйт, сенсордун маалымат барагын текшерип турганыңыздан башка, аны туура зымдап жатканыңызды текшериңиз, антпесе сизде жыты бар кооз көк түтүн болушу мүмкүн. саат Эгер мен эмнени билебиз;)

3 -кадам: керектүү тетиктер жана компоненттер

Керектүү тетиктер жана компоненттер
Керектүү тетиктер жана компоненттер

Бул жерде сиз бул окуу куралын бүтүрүү үчүн керек болгон компоненттердин тизмесин таба аласыз:

eBay шилтемелери:

  • 1 x Arduino Uno:
  • 1 х IR сенсордук модуль алыстан башкарылган:
  • 4 х 220 ом каршылыгы:
  • 4 х LED:
  • 8 x Dupont кабели:
  • 1 x Solderless нан:
  • 1 x Mini breadboard (милдеттүү эмес):

Amazon.com шилтемелери:

  • 1 x Arduino Uno:
  • 1 х IR сенсордук модуль алыстан башкарылган:
  • 1 х Solderless нан:
  • 4 х 220 ом каршылыгы:
  • 4 х LED:
  • 8 x Dupont кабели:
  • 1 x Mini breadboard (милдеттүү эмес):

4 -кадам: IR сенсорун Arduino менен туташтыруу

IR сенсорун Arduino менен туташтыруу
IR сенсорун Arduino менен туташтыруу
IR сенсорун Arduino менен туташтыруу
IR сенсорун Arduino менен туташтыруу
IR сенсорун Arduino менен туташтыруу
IR сенсорун Arduino менен туташтыруу

IR сенсорунун Arduino менен туташуусун орнотуу абдан жөнөкөй. VCC жана GND пинден тышкары, сенсордо Arduino санарип казыктарынын бирине туташуу керек болгон бир гана чыгуучу пин бар. Бул учурда ал 13 -пинге туташат.

Мен IR сенсорунун модулун жана чийки IR сенсорунун орнотулушун көрсөтүүгө аракет кылдым. Сүрөттөрдөн көрүнүп тургандай, сенсор модулундагы VCC жана GND казыктарынын абалы чийки сенсорго карама -каршы. Бирок бул сенсор үчүн андай эмес болушу мүмкүн, андыктан мурунку кадамда айтылгандай, чийки сенсор колдонулганда, биринчи маалымат барагын текшериңиз.

5 -кадам: Алыстан башкаруунун ар бир ачкычына туура келген кодду табыңыз

Алыстан башкаруунун ар бир ачкычына туура келген кодду табыңыз
Алыстан башкаруунун ар бир ачкычына туура келген кодду табыңыз
Алыстан башкаруунун ар бир ачкычына туура келген кодду табыңыз
Алыстан башкаруунун ар бир ачкычына туура келген кодду табыңыз
Алыстан башкаруунун ар бир ачкычына туура келген кодду табыңыз
Алыстан башкаруунун ар бир ачкычына туура келген кодду табыңыз

Ардуинону алыстан башкаруу баскычын басканда бир нерсе кылууга программалоо үчүн, адегенде ошол ачкычка туура келген код болушу керек. Негизги код адатта он алтылык катары берилген сан. Ар бир алыстан башкаргычтын өзүнүн ачкыч коддору бар, ал эми эки контролер бир эле кодду ар кандай максатта колдонушу мүмкүн. Башка жыштык диапазондорун колдонуу менен бирге ар кандай ачкыч коддорго ээ болуу, ар кандай түзмөктөрдүн эки алыстан контролерунун кийлигишүүсүн камсыз кылат. Мына ошондуктан сиз телеканалыңызды алмаштырганда, DVD ойноткучуңуз такыр жооп бербейт.

IR пультуңуздун коддорун аныктоо үчүн, адегенде сиз баскычты басканыңызда кодду сенсордон окууга аракет кылган жөнөкөй эскизди иштетишиңиз керек жана аны сериялык порт аркылуу компьютериңизге жөнөтө аласыз, ал жерде Serial Monitor куралдарын колдоно аласыз. Arduino IDE. Бул бөлүмгө тиркелген эскиз ушуну кылат. Бул кодду көрүү үчүн ар бир баскычты басуу жана коддордун тизмесин бир жерге жазуу жакшы болмок, ошондо келечекте бул кодду кайра иштетпейсиз. Сүрөттөгү таблица катары көргөн негизги коддордун тизмеси чындыгында менин арзан IR пультундагы баскычтарды басканда алган коддор.

Сиз ошондой эле ir-key-code-logger менин Arduino веб редакторумда бөлүшүлгөн чыныгы булак кодуна кире аласыз.

Эскертүү: FFFFFF сыяктуу кодду көрсөңүз, коркпоңуз. Бул баскычты бир аз басып, кармап турганыңызды билдирет. Биз ага кийинчерээк кайра киребиз. Азырынча аларды этибарга албай, башка коддорго көңүл буруңуз.

6 -кадам: IR Remote колдонуп LEDлерди көзөмөлдөңүз

IR Remote колдонуп LED диапазонун башкарыңыз
IR Remote колдонуп LED диапазонун башкарыңыз
IR Remote колдонуп LED диапазонун башкарыңыз
IR Remote колдонуп LED диапазонун башкарыңыз
IR Remote колдонуп LED диапазонун башкарыңыз
IR Remote колдонуп LED диапазонун башкарыңыз

Эми бизде ар бир баскычтын коду бар, аларды кантип колдоно аларыбызга көңүл бурууга убакыт келди. Адатта сиз IR пультун колдонуп, Arduinoго чыракты күйгүзүү же өчүрүү, роботту белгилүү бир багытта жылдыруу, бир нерсени LCD/OLED экранда көрсөтүү ж.б буйруктарды жөнөтүү үчүн колдоносуз. ар кандай түстөгү 4 светодиоддон турган схема. Биз алардын ар бирин IR пультунун атайын баскычы менен күйгүзүп же өчүргүбүз келет. Схемада көрүнүп тургандай, сиз Arduino'ду LED жана сенсорго төмөнкүдөй туташтырышыңыз керек:

Arduino GND -> IR сенсор GND.

Arduino VCC -> IR сенсор VCC.

Arduino 13 -> IR сенсорунун сигнал чыгаруу.

Arduino 2 -> Көк LEDдын аноду (көк LEDдин кыска пини)

Arduino 3 -> Жашыл LED аноду (жашыл LEDдин кыска пини)

Arduino 4 -> Сары LEDдин аноду (сары LEDдин кыска пини)

Arduino 5 -> кызыл LED аноду (кызыл LEDдин кыска пини)

Arduino GND -> 220 Омдук резистор аркылуу бардык светодиоддордун катоддору (LEDлердин узунураак пини)

Сиз бул схемага туура келген кодду тиркелген файлдан же менин Arduino веб редакторунан ir-led-control сайтынан таба аласыз.

7 -кадам: Мүчүлүштүктөрдү оңдоо

Долбооруңузду түзүү жана кадамдарды аткаруу учурунда көптөгөн кызыктай жагдайларга туш болушуңуз мүмкүн. Бул жерде IR сенсору менен иштөөдө пайда болушу мүмкүн болгон кээ бир жалпы каталардын тизмеси келтирилген.

Баскычты басканда FFFFFF алуу

Баскычты басканда, көбүнчө FFFFFF сыяктуу кодду билдирерин байкаса болот. Бул бир баскычты басып, аны бир азга, атүгүл кыска убакытка чейин кармаганда болот. Сценарий боюнча, сиз алгач баскычты басканыңызда, IR пульту баскычтын кодун жөнөтөт жана сиз баскычты кармап турганыңызда, ал FFFFFF жөнөтүүнү кайталайт, бул колдонуучу дагы эле жакында басылган баскычты басат дегенди билдирет. Макул болмок. Сиз аларды жөн эле таштап койсоңуз болот. Чыныгы код - бул FFFFFFтин алдында Сериялык Монитордо.

IR Sensor эч кандай реакция кылбайт жана күн жылый баштады окшойт

Күчтү кыскыла !!! Эгер сиз ачкыч кодунун эскизинин туура экенине ишенсеңиз, анда көйгөй зымдарыңыздын туура эмес орнотулушунан улам болушу мүмкүн. Менин башыма келген сценарий менин 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 долбооруңузда колдонууга аракет кылыңыз.
  • Баскычты басуу менен бардык LED ди күйгүзүүгө аракет кылыңыз, андан кийин башка баскычты колдонуп өчүрүңүз
  • Алыстан башкаруунун өйдө/ылдый баскычын колдонуп, LEDлерди күйгүзүп/өчүрмөйүнчө бирден -бирден күйгүзүңүз
  • Светофорду светодиод менен түзүңүз жана аны пультуңуздун жардамы менен башкарыңыз
  • Эгерде сизде кичинекей DC мотору бар болсо, IR пульту аркылуу анын айлануу багытын баштоого/токтотууга же өзгөртүүгө аракет кылыңыз
  • Сыналгыңыздын пультун роботту башкарууга же андагы кээ бир сенсорлорду/кыймылдаткычтарды иштетүүгө/өчүрүүгө колдонсоңуз болот

Мага комментарийлерде айтып коюңуз, IR пультун колдонуп эмне кылмаксыз (же сиз буга чейин кылдыңыз).

Сунушталууда: