Како дизајнирати гласовно активирану кућну аутоматизацију?

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



Гласовно контролисана кућна аутоматизација

Како аутоматизовати кућне апарате помоћу Ардуина?

Како имамо основну идеју, кренимо сада ка сакупљању компонената, њиховом састављању да направимо коло и писању кода за аутоматизацију ваших кућних апарата.



Корак 1: Коришћене компоненте (хардвер)

  • Ардуино уно
  • ХЦ-05 Блуетоотх модул
  • 2Н2222 НПН транзистор
  • 12В релејни модул
  • 1к-охм отпорник
  • 12В адаптер за наизменичну и једносмерну струју
  • 1Н4007 ПН-спојна диода
  • Јумпер Вирес

Корак 2: Коришћене компоненте (софтвер)

  • Протеус 8 Профессионал (Може се преузети са Ево )

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



Корак 3: Проучавање компонената

Како смо направили списак компонената које ћемо користити у нашем пројекту. Померимо се корак напред и прођите кроз кратку студију како ове компоненте функционишу.



  1. Ардуино УНО: Ардуино УНО је плоча микроконтролера која се састоји од микрочипа АТМега 328П и коју је развио Ардуино.цц. Ова плоча има сет дигиталних и аналогних пинова за податке који се могу повезати са другим плочама за проширење или склоповима. Ова плоча има 14 дигиталних пинова, 6 аналогних пинова и програмабилних са Ардуино ИДЕ (интегрисано развојно окружење) путем УСБ кабла типа Б. За напајање му је потребно 5В НА и а Ц Цоде да раде.

    Ардуино УНО

  2. ХЦ-05 бежични Блуетоотх серијски примопредајник : У овом пројекту нам је потребна бежична комуникација, па ћемо користити Блуетоотх технологију, а за тај модул који ће се користити је ХЦ-05. Овај модул има неколико програмабилних брзина преноса, али задата брзина преноса је 9600 бпс. Може се конфигурисати као мастер или славе, док други модул ХЦ-06 може радити само у славе моду. Овај модул има четири пина. Један за ВЦЦ (5В), а преостала три за ГНД, ТКС и РКС. Подразумевана лозинка овог модула је 1234 или 0000 . Ако желимо да комуницирамо између два микроконтролера или комуницирамо са било којим уређајем са Блуетоотх функцијом као што је Телефон или Лаптоп ХЦ-05, помаже нам у томе. Неколико андроид апликација је већ доступно што овај процес чини много лакшим.

    ХЦ-05 Блуетоотх модул

  3. Блуетоотх контрола гласа за Ардуино : Ову апликацију је развио СимплеЛабсИН за гласовне Ардуино пројекте. Ова апликација за Андроид користиће функцију препознавања гласа телефона и претвориће гласовне команде у текст и пренети низ путем Блуетоотх-а. Апликацију можете преузети са Ево

    БТ Воице Цонтрол Апп



  4. Модул релеја од 12 В: Ако неко жели да пребаци високонапонска оптерећења са микроконтролера, ова 12В релејна плоча то може учинити. Садржи 8 к 12В релеја назначених на 10А / 250В АЦ (ДЦ 30В / 10А). Сваки релејни модул се укључује / искључује оптички изолованим дигиталним улазом који се може директно повезати са излазним пином микроконтролера. За укључивање улаза потребан је само напон од приближно 1,0 В, али може поднети улазне напоне до 12 В. То га чини идеалним за уређаје од 5В и 3.3В. Модул релеја можете купити у складу са бројем уређаја којима желите да управљате. На пример, ако желите да контролишете 4 уређаја, купите 4 релејни модул.

    12В релејни модул

Корак 4: Разумевање дизајна кола са дијаграмом кола

Прво, морамо да повежемо ХЦ-05 са Ардуино УНО. Пошто Блуетоотх користи УАРТ протокол, морамо да користимо РКС и ТКС пинове Ардуина. Користићемо библиотеку „СофтвареСериал“ да дефинишемо сопствене РКС и ТКС пинове (Пин 2 је РКС, а Пин 3 је ТКС). РКС пин Блуетоотх модула и ТКС пин Ардуина ће бити искључени. Друго, повезаћемо релеје са Ардуином. Користили смо готову релејну плочу са 4 канала, тако да морамо повезати улазе појединачних релеја на Ардуино. За повезивање оптерећења на релејни модул погледајте доњи дијаграм:

Састављање круга модула релеја

Четири оптерећења су повезана са релејним модулом ради демонстрације и будите изузетно опрезни док користите АЦ мрежу са релејном плочом. Само за демонстрацију смо се пребацили НА наизменична оптерећења:

Кружни дијаграм

Корак 5: Принцип рада пројекта

У овом пројекту се гласовне команде користе за управљање различитим уређајима. Саставите хардвер према претходно датом дијаграму кола. Саставите све компоненте на табли. Након успостављања потребних веза, укључите напајање струјног кола и упарите Блуетоотх телефона са Блуетоотх модулом ХЦ-05. Пре упаривања инсталирајте горе поменуту апликацију у свој паметни телефон.

Сада повежите телефон са Блуетоотх модулом. Кликните на опцију “ Цоннецт Робот “И изаберите одговарајући Блуетоотх уређај. Ако уређаји нису раније упарени, упарите их сада уношењем пин-а 0000 или 1234.

Упаривање паметног телефона

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

Глас препознат

Када апликација препозна стринг, она ће послати низ као „упалити лампицу #“, а стварна порука коју прими Блуетоотх модул има овај тип формата ( “* Порука #” ). Разлог за додавање знака „*“ и „#“ на почетку и на крају низа је идентификација почетка и краја поруке. Примљена порука се упоређује са неким предефинисаним низовима и ако се порука подудара са њима, догодиће се одговарајућа радња попут „укључивања“ и искључивања.

У овом пројекту користили смо следеће команде: „укључи АЦ“, „искључи АЦ“, „укључи светло“, „угаси светло“, „укључи ТВ“, „искључи телевизор“, „укључи вентилатор “,„ Укључи све “и„ искључи све “.

Корак 6: Почетак рада са Ардуином

Ако раније нисте били упознати са Ардуино ИДЕ-ом, не брините јер у наставку можете видети јасне кораке сагоревања кода на плочи микроконтролера помоћу Ардуино ИДЕ-а. Можете преузети најновију верзију Ардуино ИДЕ са овде и следите доле наведене кораке:

1). Када је плоча Ардуино повезана са рачунаром, отворите „Контролна табла“ и кликните на „Хардвер и звук“. Затим кликните на „Уређаји и штампачи“. Пронађите име порта на који је повезана ваша Ардуино плоча. У мом случају је „ЦОМ14“, али на вашем рачунару може бити другачије.

Проналажење луке

2). Сада отворите Ардуино ИДЕ. Из алата подесите Ардуино плочу на Ардуино / Генуино УНО.

Одбор за постављање

3). Из истог менија Алат подесите број порта који сте видели на контролној табли.

Подешавање порта

4). Да бисмо користили ову апликацију којом управља глас, потребна нам је посебна библиотека која ће бити укључена у Ардуино ИДЕ. Ова библиотека је у прилогу доњег линка, заједно са кодом. Да бисте укључили библиотеку, идите на Скица> Укључи библиотеку> Додај ЗИП. Библиотека .

Укључи библиотеку

5). Преузмите доленаведени код и копирајте га у свој ИДЕ. Да бисте учитали код, кликните на дугме за отпремање.

Код можете преузети до кликните овде.

Корак 7: Разумевање кода

Кодекс није тако сложен, али ипак, неки од његових делова су укратко описани у наставку.

1. У почетку је укључена библиотека која омогућава серијску комуникацију на другим дигиталним пиновима Ардуина, користећи софтвер за копирање функционалности. Два пина су иницијализована за употребу са Блуетоотх модулом. Четири пина су иницијализована да се користе за кућне уређаје повезане на систем, а променљива низа је иницијализована за серијско складиштење података који долазе преко Блуетоотх-а.

#инцлуде цонст инт ркПин = 2; // Иницијализација писнс за блуетоотх модул цонст инт ткПин = 3; СофтвареСериал миСериал (ркПин, ткПин); инт ац = 4; // Иницијализација пинова за кућне апарате инт лигхт = 5; инт фан = 6; инт тв = 7; Стринг подаци;

2 воид сетуп () је функција у којој постављамо иницијализоване пинове да се користе као ИНПУТ и ОУТПУТ. Брзина преноса података такође је овде иницијализована. Брзина преноса је брзина којом Ардуино плоча комуницира са повезаним компонентама. У нашој функцији поставили смо све игле повезане на уређаје ЛОВ.

воид сетуп () {Сериал.бегин (9600); миСериал.бегин (9600); пинМоде (наизменична струја, ИЗЛАЗ); пинМоде (светло, ИЗЛАЗ); пинМоде (вентилатор, ИЗЛАЗ); пинМоде (тв, ИЗЛАЗ); дигиталВрите (ац, ЛОВ); дигиталВрите (светло, ЛОВ); дигиталВрите (вентилатор, ЛОВ); дигиталВрите (тв, ЛОВ); }

3. воид лооп () је функција која се понавља у петљи. Овде су постављени сви услови да би систем правилно функционисао. Следеће Док() петља се користи за преузимање података који серијски долазе на микроконтролер.

вхиле (1) // Добијање уноса серијски {вхиле (миСериал.аваилабле ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

Испод су постављени сви услови за укључивање свих прикључених електричних уређаја, како наређује корисник. Ови услови су прилично једноставни и саморазумљиви.

иф (дата == '* укључи АЦ') {дигиталВрите (ац, ХИГХ); Сериал.принтлн ('ац он'); } иначе иф (дата == '* искључити наизменичну струју') {дигиталВрите (ац, ЛОВ); Сериал.принтлн ('ац офф'); } иначе ако (подаци == '* укључи светло') {дигиталВрите (светло, ВИСОКО); Сериал.принтлн ('светло упаљено'); } иначе ако (подаци == '* искључити светло') {дигиталВрите (светло, ЛОВ); Сериал.принтлн ('искључено светло'); } иначе ако (подаци == '* укључи вентилатор') {дигиталВрите (вентилатор, ВИСОК); Сериал.принтлн ('вентилатор укључен'); } иначе ако (подаци == '* искључити вентилатор') {дигиталВрите (вентилатор, ЛОВ); Сериал.принтлн ('вентилатор искључен'); } иначе ако (подаци == '* укључи телевизор') {дигиталВрите (тв, ХИГХ); Сериал.принтлн ('ТВ укључен'); } иначе ако (подаци == '* укључи телевизор') {дигиталВрите (тв, ЛОВ); Сериал.принтлн ('тв офф'); } елсе иф (подаци == '* укључити све') {дигиталВрите (ац, ХИГХ); дигиталВрите (светло, ВИСОКО); дигиталВрите (вентилатор, ВИСОК); дигиталВрите (тв, ВИСОКО); Сериал.принтлн ('све укључено'); } иначе иф (подаци == '* искључити све') {дигиталВрите (ац, ЛОВ); дигиталВрите (светло, ЛОВ); дигиталВрите (вентилатор, ЛОВ); дигиталВрите (тв, ЛОВ); Сериал.принтлн ('све искључено'); }}

Апликације

  1. Систем за аутоматизацију куће који се активира гласом помоћи ће нам да контролишемо различита оптерећења (електричне уређаје) једноставним гласовним командама.
  2. Особе са инвалидитетом могу добити много користи од овог пројекта као да нису у могућности да шетају около могу да дају гласовну команду и окрену се НА или ВАН апарат.
  3. Овај пројекат се такође може проширити додавањем различитих сензора (светлости, дима итд.).