Категорије: Кућна аутоматизација, Склопови микроконтролера
Број прегледа: 17351
Коментари на чланак: 0

Даљински управљач микроконтролера: ИР даљинац, Ардуино, ЕСП8266, 433 МХз

 

Питање даљинског или даљинског управљања електричном опремом је увек било и биће релевантно, без обзира да ли у систему постоје алати за аутоматизацију или не. За организацију даљинског управљања уопште није битно да ли је микроконтролер, све зависи од неопходних функција додељених управљаном уређају. У овом чланку сазнаћете опште информације о даљинском управљању микроконтролером.

Даљински управљач микроконтролера

Врсте

Постоје две главне врсте даљинске комуникације:


Ожичено. Када се контрола покретача смештених у једној просторији (или не у соби) врши са управљачке плоче или са дугмета на другом месту. У овом случају је обезбеђена електрична проводничка веза управљачких кругова и актуатора (релеји, контактори, који укључују механизме, као што су мотори или системи, на пример, осветљење).


Бежични. У овом извођењу није потребно електрично повезивање управљачког и извршног круга. У бежичним круговима постоје два уређаја: предајник или даљински управљач (РЦ) и пријемник, који је део контролисаног круга. Бежично управљање је заузврат уобичајено у две верзије:

  • Оптичким сигналом. Такви системи постоје у сваком дому, па контролишете рад телевизора, клима уређаја и осталих кућанских апарата.

  • Радио сигналом. Постоји већ низ опција: Блуетоотх, ЗигБее, Ви-Фи, 433 МХз предајник-пријемник и друге варијације на ову тему.

Вриједно је напоменути да помоћу модерних техничких средстава можете управљати микроконтролером, и са даљинског управљача и путем Интернета на локалној мрежи или приступом из било којег мјеста на свијету.



ИР даљински

Почињемо са разматрањем најједноставнијом и класичнијом верзијом. Управљање уређајем преношењем кода из треперећег низа ИР ЛЕД-а на оптички пријемник инсталиран на уређају. Вриједи напоменути да инфрацрвени спектар није видљив људском оку, али већина фото и видео камера то види.

Пошто већина камера види инфрацрвену везу, можете да проверите исправност даљинских управљача. Да бисте то учинили, једноставно усмјерите даљински управљач тако да одашиљач гледа у камеру и притисните тастере. Обично се на екрану види бели сјај с љубичастом нијансом.

Ова контрола има очигледан недостатак - даљински управљач морате усмјерити према пријемнику. А ако су батерије на даљинском управљачу понестане, онда морате и да циљате, јер су операције све мање и мање.

Предности су једноставност, велика одржавање, како предајник тако и пријемник. Појединости можете пронаћи демонтажом покварених даљинских управљача и телевизора како бисте то примијенили у властитим пројектима.

Типични сензор је следећи. Пошто се прима оптички сигнал, потребно је искључити активирање из вањских извора светлости, као што су сунце, лампе за осветљење и други. Такођер је вриједно напоменути да се инфрацрвени сигнал прима углавном на фреквенцији од 38 кХз.

ИР сензор

Ево спецификација једног од инфрацрвених сензора:

  • носећа фреквенција: 38 кХз;

  • напон напајања: 2,7 - 5,5 В;

  • тренутна потрошња: 50 μА.

И њен дијаграм повезаности:

Дијаграм везе ИР сензора

Даљински управљач може користити било ко са сличним принципом рада, а даљинске управљаче из:

  • Телевизори

  • ДВД плаиери

  • радио касетофони;

  • од савремених расветних уређаја, као што су паметни лустери и ЛЕД траке и још много тога.

Контролна табла

Ево примера употребе таквог сензора са Ардуином

Примјер ИР сензора Ардуино

Да би микроконтролер, у нашем случају Ардуин, разумео сигнал са сензора, потребно је да користите библиотеку ИРремоте.х. На пример како читати сигнал са сензора, ево кода за препознавање истих очитавањем серијског порта микроконтролера из Ардуино ИДЕ:

#инцлуде "ИРремоте.х" // повежите библиотеку да ради са ИР сигналом.

ИРрецв ирцв (2); // означава излаз на који је пријемник спојен

децоде_ресултати резултата;

воид сетуп () {

Сериал.бегин (9600); // подесите брзину ЦОМ порта

ирцв.енаблеИРИн (); // започните пријем

}

воид лооп () {

иф (нере.воде код (и резултати)) {// ако су подаци дошли

Сериал.принтлн (ресултс.валуе, ХЕКС); // испис података

ирцв.ресуме (); // прихвати следећу наредбу

  }

}

Као резултат, када флешујете ардуино и почнете да „светлите“ у пријемнику помоћу даљинског управљача, видећемо следећу слику на монитору серијског порта:

Монитор серијског порта

Ово су кодови који шаљу дугмад у шестерокутном облику. На тај начин можете сазнати које дугме на даљинском управљачу који код шаље, тако да нема посебних захтева за коришћени даљински управљач, јер га можете препознати и придружити. Узгред, ово је идеја за пројекат обученог универзалног даљинског управљача, такви су и раније продати. Али сада у доба Интернета, количина технологије која се контролише на овај начин се смањује сваке године.

И помоћу овог кода можете препознати сигнале и управљати оптерећењем:

#инцлуде "ИРремоте.х"

ИРрецв ирцв (2); // означава излаз на који је пријемник спојен

децоде_ресултати резултата;

воид сетуп () {

ирцв.енаблеИРИн (); // започните пријем

}

воид лооп () {

иф (нере.воде код (и резултати)) {// ако су подаци дошли

Свитцх (ресултс.валуе) {

кућиште 0кФФА857:

дигиталВрите (13, ВИСОКО);

одмор;

цасе 0кФФЕ01Ф:

дигиталВрите (13, НИЗ);

одмор;

    }   

ирцв.ресуме (); // прихвати следећу наредбу

  }

}

Главна ствар у коду је препознавање путем Свитцх функције, понекад се називају и "прекидач". То је аналоган гранама иф, али има лепши облик за перцепцију. Случај - ово су опције, "ако такав код стигне, онда ..." Код контролише 13 пинова за одређене сигнале. Подсјетим да је уграђени ЛЕД на плочи АРДУИНО повезан на пин 13, тј. аутор кода је контролисао ЛЕД.

Можете контролирати било шта користећи високи или ниски дигитални пин преко транзистора напајања (о чему смо писали у два чланка раније овде и овде) са оптерећењем једносмерне струје или преко тријаца и погонског склопа за истосмерно оптерећење можете користити и релеје и контакторе, уопште, читаво поље за машту.


Пријем и пренос радио сигнала

За употребу са микроконтролерима уобичајени су предајници са радним фреквенцијама од 433 МХз или 315 МХз, могу постојати и друге фреквенције, зависно од одређене плоче, али оне су најчешће. Систем се састоји од два чвора - пријемника и предајника, што је и логично.

Пријем и пренос радио сигнала

На слици је предајник приказан у горњем десном углу, а пријемник у доњем левом делу. Њихово име за претрагу: 433МХз радио модул, МКС-05В / КСД-РФ-5В (пријемник и предајник).

Обухват, као што је то обично случај код модула, је осликан на плочи, попут предајника:

Радио предајник

Пријемник није тако очигледан, јер подаци на штампаној плочи пишу преко два пина, у ствари један од њих се не користи.

Радио пријемник

На пример, дајемо дијаграм и код за укључивање ЛЕД-а са једне Ардуино плоче спојене на другу сличну плочу, без жица. Пријемник и предајник повезани су на исти начин на обе плоче:

Пријемник и предајник на табли

Уређај

Модул

Ардуино игле

Пријемник

Вцц

ГНД

ПОДАЦИ

+ 5В

ГНД

2

Одашиљач

Вцц

ГНД

ПОДАЦИ

+ 5В

ГНД

2 

Затим требате повезати библиотеку РЦсвитцх.х у Ардуино ИДЕ

За почетак пишемо програм предајника:

#инцлуде <РЦСвитцх.х>

РЦСвитцх миСвитцх = РЦСвитцх(); // креирајте објекат за рад са предњим делом

воид сетуп () {

    миСвитцх.енаблеТрансмит(2); // реците програму на који је пин канал информација повезан

}

воид лооп () {

миСвитцх.сенд (Б0100,4);

кашњење (1000);

миСвитцх.сенд (Б1000, 4);

    кашњење (1000);

} 

Предајник може пренијети бинарни код, али његове вриједности могу се записати у децималном облику.

миСвитцх.сенд (Б0100,4);

и

миСвитцх.сенд (Б1000, 4);

ово су наредбе за пренос, миСвитцх је име одашиљача које смо назначили на почетку кода, а слање је наредба за пренос. Аргументи за ову функцију су:

Име предајника.сенд (вредност, величина пакета импулса који се шаљу у ваздух);

Б1000 - симбол Б - значи бинарни облик, могао би се записати као број 8, тј. у децималном запису. Друга опција је била да се напише „1000“ као низ (у наводницима).

Затим пишемо шифру за пријемник (упаљена је у плочу на коју је пријемник повезан):

#инцлуде <РЦСвитцх.х>

РЦСвитцх миСвитцх = РЦСвитцх ();

воид сетуп () {

пинМоде (3, ИЗЛАЗ);

миСвитцх.енаблеРецеиве (0);

}

воид лооп () {

ако (миСвитцх.аваилабле ()) {

инт вредност = миСвитцх.гетРецеиведВалуе ();

иф (вредност == Б1000)

дигиталВрите (3, ХИГХ);

друго ако (вредност == Б0100)

дигиталВрите (3, НИЗ);

миСвитцх.ресетАваилабле ();

    }

}

Овде изјављујемо да је прихваћена вредност смештена у променљивој вредности у низу миСвитцх.гетРецеиведВалуе (). А чињеница да је пријемник повезан са 2. пином овде је описана од стране миСвиитцх.енаблеРецеиве (0).

Остатак кода је основни, ако се прими сигнал 0100, тада је пин број 3 постављен на високо (лог. Јединица), а ако је 1000, онда на низак (лог. Нула).

Занимљиво:

У ретку миСвитцх.енаблеТрансмит (0) програму кажемо да је пријемник повезан са 2. пином и да је укључен режим пријема. Они који су пажљивије приметили су да аргумент ове методе није пин број „2“, већ „0“, чињеница је да метода енаблеТрансмит (број) не прихвата ПИН број, већ број прекида, већ у атмега328, који је стављен на Ардуино Уно, нано, промини и неколико других, на другом пину (ПортД пин ПД2) виси прекид са бројем нула. То можете видети у Атмега пиноут-у који је применљив на Ардуино плочу, а бројеви пинова су исписани у ружичастим оквирима.

Атмега пиноут

Ова метода преноса и примања веома је једноставна и јефтина; пар пријемника и предајника кошта око 1,5 долара у тренутку писања.


Ви-Фи, Адруино и ЕСП8266

За почетак, ЕСП8266 је микроконтролер са хардверском подршком за Ви-Фи, Продаје се као посебан чип и лемљење на плочу, као ардуино. Има 32-битно језгро, програмира се преко серијског порта (УАРТ).

Плоче обично имају 2 или више бесплатних ГПИО пинова и увек постоје игле за фирмвер, то се мора обавити преко УСБ до серијског адаптера. Потпуно списак команди којима управља АТ тимови могу се наћи на званичној веб локацији ЕСП8266 и на гитхуб-у.

ЕСП8266

Постоји и занимљивија опција, НодеМЦУ плоче, имају могућност флексирања путем УСБ-а, јер УСБ-УАРТ конвертор је већ на плочи, обично је израђен на ЦП2102 чипу. Ноде МЦУ је фирмвер, нешто попут оперативног система, пројекат заснован на скриптном језику Луа.

НодеМЦУ Боард

Фирмвер може да извршава Луа скрипте било прихватањем на серијском порту или репродукцијом алгоритама сачуваних у Фласх меморији.

Успут, он има свој систем датотека, мада у њему нема директорија, тј. само датотеке без фасцикли. У меморији се могу сачувати не само скрипте, већ и различити подаци, тј. плоча може да чува податке, на пример, снимљене од сензора.

Плоча ради са интерфејсима:

  • 1-Вире;

  • И2Ц;

  • СПИ

  • УАРТ.

Има читав низ функција:

  • модул за шифровање;

  • планер задатака;

  • сат у реалном времену;

  • протокол синхронизације сата путем Интернет СНТП-а;

  • тајмери;

  • АДЦ канал (један);

  • репродуковање аудио датотека;

  • генеришу на излазима ПВМ сигнал (до 6);

  • користите утичнице, постоји подршка за ФатФС, тј. можете повезати СД картице и тако даље.

ЕСП-12Е

Ево кратког списка онога што одбор може да ради:

  • акцелерометри АДКСЛ345;

  • ХМЦ5883Л магнетометри

  • жироскопи Л3Г4200Д;

  • сензори температуре и влаге АМ2320, ДХТ11, ДХТ21, ДХТ22, ДХТ33, ДХТ44;

  • сензори температуре, влажности, атмосферског притиска БМЕ280;

  • сензори температуре и атмосферског притиска БМП085;

  • многи дисплеји који раде на И2Ц, СПИ аутобусима. Са способношћу за рад са различитим фонтовима;

  • ТФТ приказује ИЛИ9163, ИЛИ9341, ПЦФ8833, СЕПС225, ССД1331, ССД1351, СТ7735;

  • паметне ЛЕД и ЛЕД контролери - ВС2812, тм1829, ВС2801, ВС2812.

Поред употребе језика Луа, плочу можете програмирати и испод Ардуино ИДЕ-а.

ЕСП8266 се може користити као самостални уређај или као модул за бежичну комуникацију са Ардуином.

Модул за бежичну комуникацију са Ардуином

Разматрање свих функција и карактеристика овог одбора имаће читав низ чланака.

Дакле, ова плоча је одлична опција за даљинско управљање путем Ви-Фи-ја. Опсег је на пример огроман, на пример, да се паметни телефон користи као контролна табла за брзу радио-управљану машину или четворокоптер, даљинско управљање осветљењем, до уређења мрежа за цијелу кућу и управљања сваком утичницом, свјетиљком итд. кад би само било довољно игле.

Најједноставнији начин рада са микроконтролером је употреба једне плоче ЕСП8266. Испод је дијаграм једноставног ви-фи прикључка.

Шема најједноставнијег вифи прикључка

Да бисте саставили овај круг, потребан вам је релејни модул, или конвенционални релеј који је повезан преко пинова кроз транзистор. Прво вам треба програм за паметни телефон РобоРемоФрее,. У њему ћете конфигурирати везу са ЕСП-ом и направити интерфејс за контролу утичнице. Да бисте описали како да га употребите, требате написати посебан чланак, па сада пустимо овај материјал.

У ЕСП-у учитавамо следећи фирмвер, кроз ЕСПлорер програм (програм за рад са плочом)

--Вифи АП Сеттуп

вифи.сетмоде (вифи.СТАТИОНАП)

цфг = {}

цфг.ссид = "ЕСПТЕСТ"

цфг.пвд = "1234567890"

вифи.ап.цонфиг (цфг)

- Постави Пин мод

ми_пин_нуммбер = 1

--гпио.моде (ми_пин_нуммбер, гпио.ОУТПУТ)

гпио.моде (ми_пин_нуммбер, гпио.ОПЕНДРАИН)

- Креирајте сервер

св = нет.цреатеСервер (нет.ТЦП)

пријемник функција (сцк, подаци)

ако је стринг.суб (подаци, 0, 1) == "1" тада

--гпио.врите (ми_пин_нуммбер, гпио.ХИГХ)

гпио.врите (ми_пин_нуммбер, гпио.ЛОВ)

друго

ако је стринг.суб (подаци, 0, 1) == "0" онда

--гпио.врите (ми_пин_нуммбер, гпио.ЛОВ)

гпио.врите (ми_пин_нуммбер, гпио.ХИГХ)

крај

крај

испис (подаци)

крај

ако је св

св: слусање (333, функција (цонн)

цонн: он („прими“, пријемник)

цонн: сенд ("Здраво!")

крај)

крај

- Креирајте ХТТП сервер

хттп = нет.цреатеСервер (нет.ТЦП)

функција прима_хттп (сцк, подаци)

испис (подаци)

локални захтев = стринг.матцх (подаци, "([^ \ р, \ н] *) [\ р, \ н]", 1)

ако је захтев == 'ГЕТ / на ХТТП / 1.1' тада

--гпио.врите (ми_пин_нуммбер, гпио.ХИГХ)

гпио.врите (ми_пин_нуммбер, гпио.ЛОВ)

крај

ако је захтјев == 'ГЕТ / офф ХТТП / 1.1' тада

--гпио.врите (ми_пин_нуммбер, гпио.ЛОВ)

гпио.врите (ми_пин_нуммбер, гпио.ХИГХ)

крај

сцк: он („послано“, функција (сцк) сцк: затвори () скупљати смеће () крај)

локални одговор = "ХТТП / 1.0 200 ОК \ р \ нСервер: НодеМЦУ на ЕСП8266 \ р \ нЦонтент-Типе: тект / хтмл \ р \ н \ р \ н" ..

"<хтмл> <титле> НодеМЦУ на ЕСП8266 <боди>" ..

"<х1> НодеМЦУ на ЕСП8266 " ..

"<хр>" ..

"<а хреф=\"он\"> Укључено <а хреф=\"офф\"> Искључено " ..

" "

сцк: послати (одговор)

крај

ако хттп онда

хттп: слушај (80, функција (цонн)

цонн: он („прими“, прими_хттп)

крај)

крај

принт ("Започео.")

Сада можете да контролишете програм било из програма Роборемо, било преко веб прегледача, за то морате да упишете ИП адресу плоче у адресној траци у режиму ви-фи, 192.168.4.1.

У коду је исечак:

"<хтмл> <титле> НодеМЦУ на ЕСП8266 <боди>" ..

"<х1> НодеМЦУ на ЕСП8266 " ..

"<хр>" ..

"<а хреф=\"он\"> Укључено <а хреф=\"офф\"> Искључено " ..

" "

Ово је врста одговора који се издаје прегледачу приликом приступа плочи. Садржи ХТМЛ код, тј. Најједноставнија веб страница, слична оној на којој читате овај чланак.

Страница у прегледачу смартфона са оперативним системом Андроид ОС

Ево ове странице, лансиране у прегледач смартфона са оперативним системом Андроид. Горе наведено није потпуна инструкција, јер би вам била потребна огромна количина, уколико сте заинтересовани за ове информације - пишите коментаре и ми ћемо дефинитивно обавити преглед и написати чланак о раду с тим.

Погледајте и на електрохомепро.цом:

  • Повезивање и програмирање Ардуино-а за почетнике
  • Методе за читање и управљање Ардуино И / О портовима
  • Шта су Нектион екрани и како радити са њима?
  • Програмирани микроконтролери у ЈаваСцрипт-у: који одабрати, карактеристике ...
  • Врсте и распоред АВР микроконтролера

  •