Мазмуну:

Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү: 6 кадам (сүрөттөр менен)
Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү: 6 кадам (сүрөттөр менен)

Video: Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү: 6 кадам (сүрөттөр менен)

Video: Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү: 6 кадам (сүрөттөр менен)
Video: Ханеда эл аралык аэропорту ар дайым биздин кардарлардын муктаждыктарын билип турат. 🇰🇬 2024, Июль
Anonim
Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү
Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү
Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү
Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү
Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү
Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү
Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү
Үйдө болуу симулятору жана коопсуздукту көзөмөлдөө түзмөгү

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

Биз үйүбүздүн ар кандай бөлмөлөрүнө орнотулган түзмөктөрдүн тармагын конфигурациялай алабыз, алардын баары негизги түзмөк тарабынан башкарылат.

Бул долбоор бул функцияларды бир түзмөктө бириктирет (СҮРӨТ 1):

  1. Бул катышуу симулятору: түзмөк бир лампочканы күйгүзүп жана өчүрөт (1 -СУРОТ) жана ИК өткөргүчтү (2 -СУРОТ) колдонуп, 38 КГц ИКнын башкаруу коддорун ИК менен башкарылган түзмөктөргө (ТВ, видеомагнитофон, лампалар,…)
  2. Бул кыймыл детектору: түзмөктө кыймылдарды аныктоо үчүн PIR сенсору бар (СУРОТ 3)

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

Башкы аппараттын негизги өзгөчөлүктөрү төмөнкүлөр:

  • Бул ар бир кул түзмөгүн башкаруу үчүн буйруктардын пландалган коопсуздугун колдонот. Мисалы: 1 -станциядагы жарык туш келди убакыт аралыгында күн сайын күйүп турат же 2 -станция телевизорду күйгүзүп, бир канча убакыттан кийин каналын алмаштырат.
  • Бул кыймыл аныкталганда кул станциялардан сигналдарды алат жана бизге жана электрондук кат жөнөтөт
  • Бул Web системасын булуттан алыстан башкаруу жана жаңыртуу үчүн конфигурациялайт

Сизге жагат жана кимдир бирөө үчүн пайдалуу болот деп үмүттөнөм.

1 -кадам: Кулдук түзмөктү куруу

Кулчулук түзмөк куруу
Кулчулук түзмөк куруу
Кулчулук түзмөк куруу
Кулчулук түзмөк куруу
Кулчулук түзмөк куруу
Кулчулук түзмөк куруу

Кул түзмөк куруу үчүн бизге төмөнкүлөр керек болот:

  • Электр кутуча
  • ARDUINO NANO же шайкеш ARDUINO NANO микроконтроллери
  • 480
  • Эстафета
  • 38 КГц IR өткөргүч
  • PIR сенсор
  • nRF24L01 модулу + антенна
  • NRF24L01 модулу үчүн адаптер
  • Электр энергиясы 5В, 0,6 А.
  • Лампа кармагыч
  • Электр лампасы
  • Кабелдер
  • Терминалдык блок

Аны орнотуу кадамдары төмөнкүлөр (ар бир пин туташуусу үчүн Fritzing чиймесин караңыз):

  1. СУРОТТО 1: лампа кармагычтын электр кутусундагы тешикти ачуу
  2. СҮРӨТ 2: протокол 480ди NANO микроконтроллери, IR өткөргүч жана электр менен камсыздоо
  3. СҮРӨТ 3: лампа кармагычтын фазалык өткөргүчүн реленин NC терминалына жана нейтралдуу өткөргүчтү терминалдык блоктогу нейтралдуу кирүүгө туташтырыңыз. Андан кийин, реленин жалпы терминалын терминалдык блоктун киришинин фазалык өткөргүчүнө туташтырыңыз
  4. СҮРӨТ 4: IR өткөргүчүн жана PIR сенсорун NANO микроконтроллерине туташтырыңыз. 3 -кадамды караңыз, сиз башкаргыңыз келген түзмөктүн IR коддорун конфигурациялоо
  5. СҮРӨТ 5: nRF24L01 адаптерин электр кутусунун сыртына орнотуп, аны NANO микроконтроллерине туташтырыңыз. Бул сүрөттө көрүнүп тургандай, кабелдер тешик аркылуу электр кутусуна кирет, ал USB программалоо кабелин NANO микроконтроллерине туташтыруу үчүн колдонулат.

2 -кадам: Master түзмөгүн куруу

Негизги түзмөктү куруу
Негизги түзмөктү куруу
Негизги түзмөктү куруу
Негизги түзмөктү куруу
Негизги түзмөктү куруу
Негизги түзмөктү куруу

Негизги түзмөктү куруу үчүн бизге төмөнкүлөр керек болот:

  • Электр кутуча
  • ARDUINO MEGA 2560 R3 же туура келген ARDUINO MEGA 2560 R3 микроконтроллери
  • WiFi NodeMCU Lua Amica V2 ESP8266 модулу
  • RTC DS3231
  • 170
  • Эстафета
  • 38 КГц IR өткөргүч
  • PIR сенсор
  • nRF24L01 модулу + антенна
  • NRF24L01 модулу үчүн адаптер
  • Электр энергиясы 5В, 0,6 А.
  • Лампа кармагыч
  • Электр лампасы
  • Кабелдер
  • Терминалдык блок

Аны орнотуу кадамдары мурунку кадамга абдан окшош, анткени башкы түзмөк негизинен көбүрөөк функциялары бар кулдук түзмөк (ар бир пин туташуусу үчүн Fritzing чиймесин караңыз):

  • СУРОТТО 1: лампа кармагыч учун электр кутусунун тешигин ачуу
  • СҮРӨТ 2, СУРОТ 3: ESP8266 модулун protoboard 170ке орнотуп, сүрөттөрдө көрүп тургандай MEGA 2560 микроконтроллерине коюңуз
  • СҮРӨТ 4: жыгачтын бир бөлүгүн электрдик кутунун ичине чаптаңыз. Жыгачтын үстүнө ESP8266 менен MEGA 2560 микроконтроллери, DS3231 сааттык модулу жана nRF24L01 адаптери орнотулат.
  • СҮРӨТ 5: электр менен жабдууну орнотуу жана реалдуу. Лампа кармагычтын фазалык өткөргүчүн реленин NC терминалына жана нейтралдуу өткөргүчтү терминалдык блоктун нейтралдуу киришине туташтырыңыз. Андан кийин, реленин жалпы терминалын терминалдык блоктун киришинин фазалык өткөргүчүнө туташтырыңыз.

3 -кадам: Мастерди жана Кулдук түзмөктөрдү конфигурациялоо

Мастер жана кулдук түзмөктөрдү конфигурациялоо
Мастер жана кулдук түзмөктөрдү конфигурациялоо

Түзмөктөрдү конфигурациялоо үчүн, сиз төмөнкү кадамдарды жасашыңыз керек:

STEP 3.1 (эки түзмөк)

IRremote, RF24Network, RF24, DS3231 жана Time китепканаларын ARDUINO IDEге орнотуңуз

3.2 -КАДАМ (кулдук түзмөк үчүн гана)

Тармактагы даректи конфигурациялоо. Жөн гана "mavjudligi_slave.ino" эскизинен төмөнкү кодду издеп, сегиздик форматта дарек бериңиз. 0ден чоң даректерди гана колдонуңуз, анткени 0 дареги башкы түзмөк үчүн сакталган

const uint16_t this_node = 01; // Octal форматындагы биздин кулдук аппараттын дареги

"Mavjud_slave.ino" эскизин микроконтроллерге жүктөңүз.

3.3 -КАДАМ (бир гана башкы түзмөк үчүн) (IR контролдоо коддору менен тааныштыруу)

Эгерде сиз 38KHz IR контролдук коддору менен башкарылган түзүлүштү колдонууну кааласаңыз, анда алардын айрымдарын билишиңиз керек.

Болбосо, сиз IR контролдоо коддорун түзмөгүңүздөн алышыңыз керек.

Бул үчүн сизге 38 кГц IR кабыл алгыч керек, бир NANO микроконтроллерине "ir_codes.ino" эскизин жүктөп, баарын СУРОТТО көрүнүп тургандай туташтырыңыз.

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

(12 бит) Декоддолгон SONY: A90 (HEX), 101010010000 (BIN) // POWER баскычы

(12 бит) SONY декоддолгон: C10 (HEX), 110000010000 (BIN) // 4 баскычы (12 бит) SONY: 210 (HEX), 1000010000 (BIN) // 5 баскычы

Бул учурда алыстан башкаруу пульти SONY IR протоколун колдонот жана биз пульттун кубат баскычын басканда 12 бит узундугундагы IR кодун "0xA90" алабыз же алыстан башкаруу пультунда 4 баскычын басканда биз IRди алабыз код "0xC10".

Мен жок дегенде кубаттуулукту жана бир нече баскыч номерлерин издөөнү сунуштайм.

IR коддорун алгандан кийин, сиз аларды төмөнкүдөй түрдө киргизишиңиз керек:

БИРИНЧИ ЖОЛ

Эгерде сиз Wi -Fi тармагын конфигурациялаган болсоңуз, аны веб -баракча аркылуу жасай аласыз (Кадамды караңыз: Веб -сервер)

ЭКИНЧИ ЖОЛ

Болбосо, "ir_codes.ino" файлынан кийинки кодду издеп, маалыматты жаңыртуу керек. Төмөндөгү коддо сиз жогоруда алынган маалыматты башкы түзмөк үчүн кантип киргизе аларыбызды көрө аласыз (дарек = 0)

/******************************************/

/******* IR контролдоо коддору ***************** / /******************** **********************/ // protocol_id, bit_of_bit, master аппараттын 10 IR контролдук коду (дарек = 0) SONY, 12, 0xA90, 0xC10, 0x210, 0, 0, 0, 0, 0, 0, 0, // protocol_id, bit_of_bits, кулдук түзмөк үчүн 10 IR башкаруу коду (дарек = 1) БЕЛГИСИЗ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, кулдук түзмөк үчүн 10 IR башкаруу коду (дарек = 2) БЕЛГИСИЗ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, кулдук түзмөк үчүн 10 IR башкаруу коду (дарек = 3) БЕЛГИСИЗ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, Кул түзмөк үчүн 10 IR башкаруу коду (дарек = 4) БЕЛГИСИЗ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ********************************* / / ********* IR контролдоо коддорун токтотуу ** ************ / / ********************************** *********/

Эскиз төмөнкү IR протоколдору менен иштөө үчүн конфигурацияланган:

  • NEC
  • SONY
  • RC5
  • RC6
  • LG
  • JVC
  • WHYNTER
  • SAMSUNG
  • SHARP
  • ТАМАК
  • DENON
  • LEGO_PF

"Ir_codes.ino" файлында сиз SAMSUNG жана SONY протоколдору үчүн кээ бир IR башкаруу коддорун таба аласыз.

/***************************************************************************/

// КЭЭР IR_PROTOCOLS ЖАНА КОДТОР // (SAMSUNG, bit_of_bit, баскыч POWER, 1, 2, 3 -баскыч) // SAMSUNG, 32, 0xE0E010EF, 0xE0E020DF, 0xE0E0609F, 0xE0E0A05F_ (SONE 2, PONE 1, 2), 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** ************************************************ *******************/

МААНИЛҮҮ: киргизилген биринчи IR контролдоо коду аппаратты өчүрүү үчүн IR контролдоо коду болушу керек. Бул аппарат үчүн пландаштырылган эч кандай аракет жок болгондо, кожоюн кулдарга жөнөтөт

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

3.4 -КАДАМ (башкы түзмөк үчүн гана) (БАШКЫ СИМУЛЯЦИЯ ПЛАНДАНДЫРУУ)

Сиз катышуунун симуляциясын төмөнкү жол менен киргизе аласыз:

БИРИНЧИ ЖОЛ

Эгерде сиз Wi -Fi тармагын конфигурациялаган болсоңуз, аны веб -баракча аркылуу жасай аласыз (Кадамды караңыз: Веб -сервер)

ЭКИНЧИ ЖОЛ

Кийинки кодду "ir_codes.ino" файлынан издеп, маалыматты жаңыртуу керек.

Симуляцияны пландаштыруунун форматы төмөнкүчө:

(hour_init_interval1), (hour_end_interval1), (hour_init_interval2), (hour_end_interval2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light)

/************ БАШКЫ СИМуляция ПЛАНДАНУУ ************/

7, 8, 17, 3, 5, 60, 10, 40, // башкы түзмөк (дарек = 0) 0, 0, 17, 23, 3, 30, 5, 10, // кулдук түзмөк (дарек = 1) 0, 0, 0, 0, 0, 0, 0, 0, // кулдук түзмөк (дарек = 2) 0, 0, 0, 0, 0, 0, 0, 0, // кулдук түзмөк (дарек = 3) 0, 0, 0, 0, 0, 0, 0, 0 // кулдук түзмөк (дарек = 4) /************ АКЫРКЫ БАРДЫК СИМуляторун ********** **********/

Жогорудагы мисалда башкы түзмөктүн симуляциясын пландаштыруу төмөнкүдөй:

  • (hour_init_interval1 = 7) Биринчи интервал симуляциясы күн сайын саат 7: 00дө башталат
  • (hour_end_interval1 = 8) Биринчи интервалдын симуляциясы ошол эле күнү эртең мененки 8: 00дө аяктайт
  • (hour_init_interval2 = 17) Экинчи интервалдын симуляциясы саат 17: 00дө башталат. күн сайын
  • (hour_end_interval2 = 3) Экинчи интервалдын симуляциясы кийинки күндүн таңкы 3:00 бүтөт
  • (min_delay_ir = 5) (max_delay_ir = 60) IR контролдоо коддорунун туш келди жөнөтүүлөрүнүн ортосундагы мүнөттөрдөгү кечигүү убактысы 5 менен 60тын ортосундагы кокус сан
  • (min_delay_light = 10) (max_delay_light = 40) Жарыкты күйгүзүү менен өчүрүү ортосундагы мүнөттөрдөгү кечигүү убактысы 10 менен 40тын ортосундагы туш келди сан

жана 2 дареги бар кулдук түзүлүштүн симуляциясын пландаштыруу төмөндөгүдөй:

  • (hour_init_interval1

    = 0) Биринчи интервал симуляциясы аныкталган эмес

  • (hour_end_interval1 = 0) Биринчи интервал симуляциясы аныкталган эмес
  • (hour_init_interval2 = 17) Симуляция саат 17: 00дө башталат. күн сайын
  • (hour_end_interval2 = 23) Симуляция саат 23: 00дө аяктайт. ошол эле күнү
  • (min_delay_ir = 3)

    (max_delay_ir

    = 30) IR контролдоо коддорунун туш келди жөнөтүлүшүнүн ортосундагы мүнөттөрдөгү кечигүү убактысы 3төн 30га чейинки туш келди сан

    (min_delay_light = 5)

    (макс_күн_жарыгы

    = 10) Жарыкты күйгүзүү менен өчүрүү ортосундагы мүнөттөрдөгү кечигүү убактысы 5тен 10го чейинки туш келди сан

3.5 -КАДАМ (башкы түзмөк үчүн гана) (ЧЫНЫГЫ СААТТЫ КОНФИГУРАЦИЯЛОО)

Бул жолдун ачкычтарынын бири - бул убакыт. Эскиз чуркай баштаганда ARDUINOнун убактысын коюшубуз керек. Бул үчүн бизге реалдуу убакыт сааты модулу керек. Бир саат модулу I32C протоколун колдонуп, үч маалымат кабели менен микроконтроллерге туташпаса, колдонула турган резервдик батарейканы толтуруучу DS3231 болуп саналат.

DS3231ди колдонуудан мурун, бул модулда убакытты белгилөөңүз керек. Ал үчүн башкы түзмөктө "DS3231_set.ino" эскизин иштетүү керек.

КАДАМ 3.6 (башкы түзмөк үчүн гана) (ESP8266 модулун конфигурациялоо)

Бул модулда иштеп жаткан эскиз жергиликтүү wifi тармагыңызга туташууга жана веб -серверди конфигурациялоого аракет кылат.

Ошентип, жергиликтүү WiFi тармагыңызга кирүү үчүн жана "ESP8266" тармагындагы бардык түзмөктөр тарабынан аныкталган кыймылдарды жөнөтө турган Gmail электрондук почта дарегин конфигурациялоо үчүн "mavjudligi_web.ino" эскизиндеги төмөнкү маалыматты жаңыртуубуз керек. жана эскертмелерди алгыңыз келген электрондук почта дареги (ESP8266 Gmail Sender инструктивдүү)

const char* ssid = "жергиликтүү wifi тармагыңыздын ssid";

const char* password = "жергиликтүү WiFi тармагыңыздын сырсөзү"; const char* to_email = "кыймылды аныктоо жөнүндө билдирүүлөрдү алууну каалаган электрондук почта"; WiFiServer сервери (80); // угуу үчүн колдонулган порт

жана "Gsender.h" эскизинде төмөнкү маалыматтар.

const char*EMAILBASE64_LOGIN = "*** Gmail'ге кирүү коду BASE64 ***";

const char*EMAILBASE64_PASSWORD = "*** сиздин Gmail сырсөзүңүз BASE64 *** коддолгон"; const char*FROM = "*** сиздин gmail дарегиңиз ***";

МААНИЛҮҮ: бул код Arduino 2.5.0 версиясы үчүн ESP8266 өзөгү менен иштебейт. Убактылуу чечим үчүн 2.4.2 негизги версиясын колдонуңуз

STEP 3.7 (бир гана башкы түзмөк үчүн)

Мурунку кадамды жасагандан кийин 3.3, 3.4, 3.5 жана 3.6 эскиздерин NANO микроконтроллерине жана "SPhere_web.ino "эскизин ESP8266 модулуна жүктөңүз.

4 -кадам: Системаны тестирлөө

Баары биз каалагандай иштээрин текшерүү үчүн "mavjudligi_master.ino" эскизи тест режиминде иштей алат.

Сиз белгилүү бир түзмөктү эки жол менен сынай аласыз:

БИРИНЧИ ЖОЛ: эгер сиз Wi -Fi тармагын колдонбосоңуз, анда кийинки кодду "mavjudligi_master.ino" файлынан издеп, "bool_test_activated" өзгөрмөсүнүн баштапкы маанисин "чыныгы" кылып өзгөртүшүңүз керек жана биринин дарегин жаңыртыңыз кийинки код линиясында сыноо жана эскизди башкы түзмөктөгү ARDUINO микроконтроллерине жүктөө үчүн түзмөк.

логикалык bool_test_activated = жалган; // баштапкы сыноо режимине чыныгыга өзгөртүү

int device_to_test = 0; // тестирлөө үчүн кулдук аппараттын дареги

Сыноо режиминен чыгып, эскизди кайра жүктөө керек болгондо маанини жалганга өзгөртүүнү унутпаңыз

ЭКИНЧИ ЖОЛ: Эгерде сиз wifi тармагын колдонсоңуз, анда тесттик режимди иштетүү үчүн веб -баракчаны колдоно аласыз. "Веб -сервер" кадамын караңыз

Эгерде текшериле турган аппарат IR контролдоо коддорун жөнөтө турган болсо, анда мастерди же кулдук аппаратты IR башкаруучу аппараттын алдына коюңуз (ТВ, радио…).

Бул режим төмөнкүчө иштейт:

  • ЖАРЫКТЫ СЫНОО. Белгилүү түзмөктүн жарыгы ар бир 10 секундда күйүп -өчүп турушу керек.
  • IR КОДДОРУН ТЕСТТӨӨ. Эскиз кокусунан мурда киргизилген IR кодун тандайт жана ал IR башкарылган түзмөккө ар 10 секунд сайын жөнөтүп турат. Демек, сиз ал аппарат IR кодуна туура келген аракетти жасап жаткандыгын текшеришиңиз керек
  • КЫЙМЫЛДЫН ДЕТЕКТОРУН СЫНОО. Эгерде түзмөк PIR сенсорунун алдында кыймылды аныктаса, анда сигналды башкы түзмөккө жөнөтөт жана анын жарыгы бир нече жолу жарк этип башташы керек

Бул көрсөтмөнүн аягындагы видеодо сиз иштеп жаткан тест режимин көрө аласыз.

5 -кадам: Web Server

Web Server
Web Server
Web Server
Web Server
Web Server
Web Server

Системаны көзөмөлдөө жана баары туура иштеп жаткандыгын текшерүү үчүн, ESP8266 модулу Web Server катары конфигурацияланган. Тармакка алыстан кирүү үчүн башка кошумча программалык камсыздоонун кереги жок, жөн гана веб -браузерде роутериңиздин IP дарегин териңиз. Маршрутизаторуңузда ESP8266 модулуна кирүү үчүн порт багыттоону сиз конфигурациялаган статикалык жергиликтүү IPди конфигурациялагансыз.

Бул модуль AR2INO микроконтроллерине I2C протоколун колдонуу менен туташкан.

Сиз баштапкы веб -баракчаны СҮРӨТ 1де көрө аласыз:

  • СИСТЕМА МАМЛЕКЕТИ бөлүмү бизге система жөнүндө маалыматты көрсөтөт:

    • Системанын датасы жана убактысы. Дата менен убакыттын өз убагында болгону абдан маанилүү
    • Бар болуу симуляторунун абалы (иштетилген же өчүрүлгөн), акыркы катышуу аракетинин датасы жана убактысы жана аракетти аткарган түзмөктүн дареги (2 -СУРОТ)
    • Кыймыл детекторунун абалы (иштетилген же өчүрүлгөн) жана кыймылдын түзүлүш боюнча аныкталышынын тарыхы: эсептегич жана акыркы кыймылды аныктоонун датасы жана убактысы (3 -СУРОТ) Бул сүрөттө 1 дареги бар түзмөктө 1 аныкталганын көрө алабыз кыймыл жана акыркы 16:50:34 болгон
  • БУЙРУКТАР бөлүмү бизге төмөнкүлөрдү кылууга мүмкүндүк берет:

    • Бар болуу симуляторун иштетүү үчүн
    • Кыймыл детекторун иштетүү үчүн
    • Сыноону баштоо жана токтотуу үчүн түзмөктү тандоо үчүн (4 -СҮРӨТ)
  • PRESENCE COMMAND бөлүмү бизге төмөнкүлөрдү кылууга мүмкүндүк берет:

    Белгилүү бир түзмөктүн симуляциясын пландаштырууну киргизүү же жаңыртуу. 5 -СҮРӨТТӨ адрес түзмөгү үчүн катышуунун симуляциясын кантип жаңыртууну көрө аласыз 1. Саптын форматы төмөнкүдөй: (addr_device), (hour_init1), (end_init1), (hour_init2), (end_init2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light). Бардык сандар бүтүн сандар. Эгерде сиз жарактуу сап киргизген болсоңуз, анда "АКЫРКЫ" текстинин алдында жаңы катышуу симуляциясын пландаштырууну көрөсүз, антпесе сиз "АКЫРКЫ: ЭМЕС ЭМЕС" билдирүүсүн көрөсүз

  • IR CODE COMMAND бөлүмү бизге төмөнкүлөрдү кылууга мүмкүндүк берет:

    Белгилүү бир түзмөккө IR контролдоо кодун киргизүү же жаңыртуу үчүн. 6 -СҮРӨТТӨ сиз дарек түзмөгү үчүн жаңы IR контролдоо кодун кантип жаңыртууну же киргизүүнү көрө аласыз 1. Саптын форматы мындай: (addr_device), (IR_protocol), (protocol_bits_length), (index_IR_control_code), (IR_control_code). (IR_protocol) - бул кийинки чоңдуктарды гана кабыл алуучу регистр (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF) жана (IR_control_code) - он алтылык сан. Система 10 IR контролдоо кодун сактоо үчүн конфигурациялангандыктан, (index_IR_control_code) 1ден 10го чейинки бүтүн сан болуп саналат. Мурдагыдай эле, эгер сиз жарактуу сап форматын киргизген болсоңуз, анда "АКЫРКЫ" текстинин алдында жаңы IR башкаруу кодун көрөсүз, антпесе сиз "АКЫРКЫ: ЭМЕС" деген билдирүүнү көрөсүз

Жергиликтүү Wi -Fi тармагынан бул веб -баракчага кирүү үчүн, роутериңиз ESP8266га веб -браузерде дайындаган IPди териңиз. Бардык сүрөттөрдөн менин роутерим тарабынан дайындалган IP 192.168.43.120 экенин көрө аласыз.

Жергиликтүү Wi -Fi тармагыңызга алыстан жетүү үчүн, роутериңизде кирүү маалыматын угуу үчүн колдоно турган портуңузду конфигурациялап, аны жергиликтүү тармагыңыздагы ESP8266га багыттооңуз керек. Андан кийин, веб -браузерге роутериңиздин IP дарегин териңиз.

6 -кадам: Баарын түшүндүрүү үчүн бир мисал

Image
Image
Баарын түшүндүрүү үчүн бир мисал
Баарын түшүндүрүү үчүн бир мисал

Мен бардыгын түшүндүрүү үчүн конкреттүү мисал түздүм

Мен төмөнкү түзмөктөрдү кургам (2 -СҮРӨТ)

  • NANO микроконтроллерин колдонгон бир IR башкаруучу түзмөк, стол тенниси боюнча топтун ичиндеги RGB жана бир IR алуучу модулу (СУРОТ 1). Биз IR пультунун 1ден 7ге чейин башкаруу баскычын басканда, пинг-понг топу түсүн өзгөртөт.
  • Негизги түзмөк (дарек 0)
  • Бир кулдук түзмөк (дарек 1)

Жогоруда айтылгандардын баары менен биз долбоордун бардык өзгөчөлүктөрүн сынап көрөбүз. Симуляцияны пландаштыруу төмөнкүдөй болушу мүмкүн:

  1. Кул түзмөгү башкарган топ 17: 00дөн баштап түстөрүн өзгөртөт. 23:00 чейин жана эртең мененки саат 7: 00дөн 8: 00гө чейин 1ден 1ге чейинки ар бир туш келди интервал.
  2. Кулдук түзмөк башкарган жарык кечки саат 17: 00дөн тартып күйүп -өчөт. 23:00 чейин жана эртең мененки саат 7: 00дөн 8: 00гө чейин 1ден 2ге чейинки ар бир туш келди мүнөт
  3. Негизги түзмөк көзөмөлдөгөн жарык саат 16: 00дөн тартып күйүп жана өчөт. кийинки күнү саат 1: 00гө чейин 1ден 2ге чейинки ар бир туш келди мүнөт

"Ir_codes.ino" эскизин аткаргандан кийин, IR алыстан башкаруучу IR протоколу "NEC" экенин, IR коддорунун узундугу 32 битти жана 1ден 7ге чейинки баскычтар үчүн IR контролдук коддорун он алтылык форматта экенин байкадык. алар:

1 баскычы = FF30CF

2 баскычы = FF18E7

3 баскычы = FF7A85

4 баскычы = FF10EF

5 баскычы = FF38C7

6 баскычы = FF5AA5

BUTTON 7 = FF42BD

Сиз системаны эки жол менен конфигурациялай аласыз:

БИРИНЧИ ЖОЛ: веб -баракчаны колдонуу (бул көрсөтмөнүн аягындагы видеону караңыз)

ЭКИНЧИ ЖОЛ: "ir_codes.ino" файлын жаңыртуу жана кийин жүктөө:

/******************************************/

/******* IR контролдоо коддору ***************** / /******************** **********************/ // protocol_id, bit_of_bit, master аппараттын 10 IR контролдук коду (дарек = 0) NEC, 32, 0xFF30CF, 0xFF18E7, 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // protocol_id, number_of_bits, кулдук түзмөк үчүн 10 IR башкаруу коду (дарек = 1) БЕЛГИСИЗ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, кулдук түзмөк үчүн 10 IR башкаруу коду (дарек = 2) БЕЛГИСИЗ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, кулдук түзмөк үчүн 10 IR башкаруу коду (дарек = 3) БЕЛГИСИЗ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, Кул түзмөк үчүн 10 IR башкаруу коду (дарек = 4) БЕЛГИСИЗ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ********************************* / / ********* IR контролдоо коддорун токтотуу ** ************ / / ********************************** *********/

/************ БАШКЫ СИМуляция ПЛАНДАНУУ ************/

0, 0, 16, 1, 0, 0, 1, 2, // башкы түзмөк (дарек = 0) 7, 8, 17, 23, 1, 1, 1, 2, // кулдук түзмөк (дарек = 1) RGB шар 0, 0, 0, 0, 0, 0, 0, 0, // кулдук түзмөк (дарек = 2) 0, 0, 0, 0, 0, 0, 0, 0, // кулдук түзмөк (дарек = 3) 0, 0, 0, 0, 0, 0 0 ************/

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