Sisällysluettelo:

Kodin läsnäolosimulaattori ja turvaohjauslaite: 6 vaihetta (kuvilla)
Kodin läsnäolosimulaattori ja turvaohjauslaite: 6 vaihetta (kuvilla)

Video: Kodin läsnäolosimulaattori ja turvaohjauslaite: 6 vaihetta (kuvilla)

Video: Kodin läsnäolosimulaattori ja turvaohjauslaite: 6 vaihetta (kuvilla)
Video: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, Heinäkuu
Anonim
Kodin läsnäolosimulaattori ja turvavalvontalaite
Kodin läsnäolosimulaattori ja turvavalvontalaite
Kodin läsnäolosimulaattori ja turvavalvontalaite
Kodin läsnäolosimulaattori ja turvavalvontalaite
Kodin läsnäolosimulaattori ja turvavalvontalaite
Kodin läsnäolosimulaattori ja turvavalvontalaite
Kodin läsnäolosimulaattori ja turvavalvontalaite
Kodin läsnäolosimulaattori ja turvavalvontalaite

Tämän projektin avulla voimme simuloida läsnäoloa ja havaita liikkeitä kotona.

Voimme määrittää kodin eri huoneisiin asennettujen laitteiden verkoston, joita kaikkia ohjaa päälaite.

Tämä projekti yhdistää nämä ominaisuudet yhdelle laitteelle (KUVA 1):

  1. Se on läsnäolosimulaattori: laite kytkee päälle ja pois yhden lampun (KUVA 1) ja lähettää IR -lähettimen (KUVA 2) avulla 38 KHz: n IR -ohjauskoodeja infrapunaohjattuihin laitteisiin (televisio, videonauhuri, lamput,…)
  2. Se on liiketunnistin: laitteessa on PIR -anturi, joka havaitsee liikkeet (KUVA 3)

Koko järjestelmää ohjaa päälaite, joka lähettää signaaleja muille orjalaitteille, jotka ovat verkossa, sytyttämään ja sammuttamaan valot ja aktivoimaan hallitut IR -laitteet ajastetun läsnäolosimulaation mukaisesti.

Päälaitteen pääominaisuudet ovat seuraavat:

  • Se käyttää ajastettua komentojen ohjausta jokaisen orjalaitteen ohjaamiseen. Esimerkiksi: orja -aseman 1 valo syttyy joka päivä satunnaisen ajanjakson aikana tai orja -asema 2 kytkee television päälle ja vaihtaa kanavaa jonkin ajan kuluttua.
  • Se vastaanottaa signaaleja orja-asemilta, kun liike havaitaan, ja lähettää meille ja sähköpostin
  • Se määrittää Web -palvelimen ohjaamaan ja päivittämään koko järjestelmää etänä pilvestä

Toivottavasti pidät ja olet hyödyllinen jollekin.

Vaihe 1: Orjalaitteen rakentaminen

Orjalaitteen rakentaminen
Orjalaitteen rakentaminen
Orjalaitteen rakentaminen
Orjalaitteen rakentaminen
Orjalaitteen rakentaminen
Orjalaitteen rakentaminen

Orjalaitteen rakentamiseksi tarvitsemme seuraavaa:

  • Sähkölaatikko
  • ARDUINO NANO tai yhteensopiva ARDUINO NANO -mikro -ohjain
  • Protoboard 480
  • Rele
  • 38 KHz: n IR -lähetin
  • PIR -anturi
  • nRF24L01 -moduuli + antenni
  • Sovitin nRF24L01 -moduulille
  • Virtalähde 5V, 0,6 A
  • Lampun pidike
  • Hehkulamppu
  • Kaapelit
  • Riviliitin

Sen asentaminen on seuraava (katso Fritzing -piirustus jokaisesta nastaliitännästä):

  1. KUVA 1: avaa reikä lampunpitimen sähkökoteloon
  2. KUVA 2: asenna protoboard 480 NANO -mikrokontrollerin, infrapunalähettimen ja virtalähteen kanssa
  3. KUVA 3: kytke lampunpitimen vaihejohdin releen NC -liittimeen ja nollajohdin riviliittimen nollaan. Kytke sen jälkeen releen yhteinen napa riviliittimen tulon vaihejohtimeen
  4. KUVA 4: liitä infrapunalähetin ja PIR -anturi NANO -mikrokontrolleriin. Katso vaihe 3 määrittääksesi ohjattavan laitteen IR -koodit
  5. KUVA 5: asenna nRF24L01 -sovitin sähkörasian ulkopuolelle ja liitä se NANO -mikro -ohjaimeen. Kuten tästä kuvasta näkyy, kaapelit menevät sähkörasiaan reiän kautta, jota käytetään myös USB -ohjelmointikaapelin liittämiseen NANO -mikrokontrolleriin

Vaihe 2: Päälaitteen rakentaminen

Päälaitteen rakentaminen
Päälaitteen rakentaminen
Päälaitteen rakentaminen
Päälaitteen rakentaminen
Päälaitteen rakentaminen
Päälaitteen rakentaminen

Päälaitteen rakentamiseen tarvitsemme seuraavat:

  • Sähkölaatikko
  • ARDUINO MEGA 2560 R3 tai yhteensopiva ARDUINO MEGA 2560 R3 -mikro -ohjain
  • WiFi NodeMCU Lua Amica V2 ESP8266 -moduuli
  • RTC DS3231
  • Protoboard 170
  • Rele
  • 38 KHz: n IR -lähetin
  • PIR -anturi
  • nRF24L01 -moduuli + antenni
  • Sovitin nRF24L01 -moduulille
  • Virtalähde 5V, 0,6 A
  • Lampun pidike
  • Hehkulamppu
  • Kaapelit
  • Riviliitin

Asennusvaiheet ovat hyvin samankaltaisia kuin edellinen, koska päälaite on pohjimmiltaan orjalaite, jolla on enemmän ominaisuuksia (katso Fritzing -piirustus jokaisesta nastaliitännästä):

  • KUVA 1: avaa reikä lampunpitimen sähkökoteloon
  • KUVA 2, KUVA 3: asenna ESP8266 -moduuli protoboardiin 170 ja aseta se MEGA 2560 -mikro -ohjaimen päälle, kuten kuvista näkyy
  • KUVA 4: liitä puukappale sähkölaatikon sisään. Asenna puukappaleen päälle MEGA 2560 -mikro -ohjain, jossa on ESP8266, kellomoduuli DS3231 ja nRF24L01 -sovitin
  • KUVA 5: asenna virtalähde ja todella. Kytke lampunpitimen vaihejohdin releen NC -liittimeen ja nollajohdin riviliittimen neutraalituloon. Kytke sen jälkeen releen yhteinen napa riviliittimen tulon vaihejohtimeen.

Vaihe 3: Pää- ja orjalaitteiden määrittäminen

Pää- ja orjalaitteiden määrittäminen
Pää- ja orjalaitteiden määrittäminen

Voit määrittää laitteet seuraavasti:

VAIHE 3.1 (molemmat laitteet)

Asenna IRremote-, RF24Network-, RF24-, DS3231- ja aikakirjastot ARDUINO IDE -laitteeseesi

VAIHE 3.2 (vain orjalaite)

Määritä verkon osoite. Etsi vain seuraava koodi luonnoksesta "present_slave.ino" ja anna osoite oktaalimuodossa. Käytä vain suurempia osoitteita kuin 0, koska osoite 0 on varattu päälaitteelle

const uint16_t this_node = 01; // Orjalaitteemme osoite Octal -muodossa

Lataa luonnos "klātbūtne_orja.ino" mikro -ohjaimeen.

VAIHE 3.3 (vain päälaite) (IR -OHJAUSKOODIEN ESITTELY)

Jos aiot käyttää 38KHz: n IR -ohjauskoodien ohjaamaa laitetta läsnäolon simuloimiseksi, sinun on tiedettävä joitakin niistä.

Muussa tapauksessa sinun on hankittava infrapunaohjauskoodit laitteeltasi.

Tätä varten tarvitset 38 kHz: n IR -vastaanottimen, lataa yhteen NANO -mikrokontrolleriin luonnos "ir_codes.ino" ja liitä kaikki kuten KUVA 1

Osoita sitten kaukosäädin infrapunavastaanottimeen, paina mitä tahansa painiketta ja näet sarjamonitorissa jotain vastaavaa:

(12 bittiä) Dekoodattu SONY: A90 (HEX), 101010010000 (BIN) // POWER -painike

(12 bittiä) Dekoodattu SONY: C10 (HEX), 110000010000 (BIN) // 4 -painike (12 bittiä) Dekoodattu SONY: 210 (HEX), 1000010000 (BIN) // 5 -painike

Tässä tapauksessa kauko -ohjain käyttää SONY IR -protokollaa ja kun painamme kaukosäätimen virtapainiketta, saamme IR -koodin "0xA90", jonka pituus on 12 bittiä, tai kun painamme kauko -ohjaimen painiketta 4, saamme IR koodi "0xC10".

Suosittelen ainakin etsimään virtaa ja useita painikkeiden numeroita IR -ohjauskoodi läsnäolon simuloimiseksi.

Kun olet saanut IR -koodit aiemmin, sinun on lisättävä ne seuraavalla tavalla:

ENSIMMÄINEN TAPA

Jos olet määrittänyt wifi -verkon, voit tehdä sen verkkosivun avulla (katso vaihe: Web -palvelin)

TOINEN TAPA

Muussa tapauksessa sinun on etsittävä seuraava koodi tiedostosta "ir_codes.ino" ja päivitettävä tiedot. Alla olevasta koodista näet, kuinka voimme tuoda yllä olevat tiedot vain päälaitteelle (osoite = 0)

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

/******* IR -ohjauskoodit ***************** / /******************** **********************/ // protokollatunnus, bittien lukumäärä, 10 päälaitteen IR -ohjauskoodia (osoite = 0) SONY, 12, 0xA90, 0xC10, 0x210, 0, 0, 0, 0, 0, 0, 0, // protokolla_tunnus, bittien lukumäärä, 10 IR -ohjauskoodia orjalaitteelle (osoite = 1) Tuntematon, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokolla_tunnus, bittien lukumäärä, 10 IR -ohjauskoodia orjalaitteelle (osoite = 2) Tuntematon, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokollan_tunnus, bittien lukumäärä, 10 IR -ohjauskoodia orjalaitteelle (osoite = 3) Tuntematon, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokollan_tunnus, bittien lukumäärä, 10 IR -ohjauskoodia orjalaitteelle (osoite = 4) Tuntematon, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ********************************* / / ********* Lopetus IR -ohjauskoodit ** ************ / / ************************************ *********/

Luonnos on määritetty toimimaan seuraavien IR -protokollien kanssa:

  • NEC
  • SONY
  • RC5
  • RC6
  • LG
  • JVC
  • WHYNTER
  • SAMSUNG
  • TERÄVÄ
  • Lautasen
  • DENON
  • LEGO_PF

Tiedostosta "ir_codes.ino" löydät joitain IR -ohjauskoodeja SAMSUNG- ja SONY -protokollille.

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

// SOME IR_PROTOCOLS AND CODES // (SAMSUNG, bittien lukumäärä, painike POWER, painike 1, 2, 3) // SAMSUNG, 32, 0xE0E010EF, 0xE0E020DF, 0xE0E0609F, 0xE0E0A05F // (SONY, numero 2, painike, 1 painike, 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** ************************************************** *******************/

TÄRKEÄÄ: ensimmäisen käyttöön otetun IR -ohjauskoodin on oltava IR -ohjauskoodi laitteen sammuttamiseksi. Isäntä lähettää sen orjille, kun tälle laitteelle ei ole suunniteltu mitään toimintoa

Jos joku keho tietää tai joku on saanut joitakin IR -ohjauskoodeja joistakin yllä luetelluista protokollista, lähetä kommentti tähän ohjeeseen, jossa on seuraavat tiedot: protokollan tunnus, protokollan pituus ja IR -ohjauskoodit.

VAIHE 3.4 (vain päälaitteelle) (ESITTELYESIMERKINNÄN SUUNNITTELU)

Voit esitellä läsnäolosimulaation suunnittelun seuraavalla tavalla:

ENSIMMÄINEN TAPA

Jos olet määrittänyt wifi -verkon, voit tehdä sen verkkosivun avulla (katso vaihe: Web -palvelin)

TOINEN TAPA

Sinun on etsittävä seuraava koodi tiedostosta "ir_codes.ino" ja päivitettävä tiedot.

Läsnäolosimulaation suunnittelumuoto on seuraava:

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

/************ Läsnäolon simulointisuunnittelu ************/

7, 8, 17, 3, 5, 60, 10, 40, // päälaite (osoite = 0) 0, 0, 17, 23, 3, 30, 5, 10, // orjalaite (osoite = 1) 0, 0, 0, 0, 0, 0, 0, 0, // orjalaite (osoite = 2) 0, 0, 0, 0, 0, 0, 0, 0, // orjalaite (osoite = 3) 0, 0, 0, 0, 0, 0, 0, 0 // orjalaite (osoite = 4) /************ END PRESENCE SIMULATOR ********** **********/

Yllä olevassa esimerkissä päälaitteen läsnäolosimulaation suunnittelu on seuraava:

  • (hour_init_interval1 = 7) Ensimmäinen aikavälisimulaatio alkaa joka päivä klo 7.00
  • (hour_end_interval1 = 8) Ensimmäinen intervallisimulaatio päättyy saman päivän kello 8.00
  • (hour_init_interval2 = 17) Toinen aikavälisimulaatio alkaa klo 17.00. joka päivä
  • (hour_end_interval2 = 3) Toinen aikavälisimulaatio päättyy seuraavan päivän kello 3.00
  • (min_delay_ir = 5) (max_delay_ir = 60) IR -ohjauskoodien satunnaisten lähetysten välinen viiveaika minuutteina on satunnaisluku välillä 5 ja 60
  • (min_delay_light = 10) (max_delay_light = 40) Valon kytkemisen ja sammuttamisen välinen viiveaika minuutteina on satunnainen luku välillä 10-40

ja osoitteen 2 orjalaitteen läsnäolosimulaation suunnittelu on seuraava:

  • (hour_init_interval1

    = 0) Ensimmäistä aikavälisimulaatiota ei ole määritelty

  • (hour_end_interval1 = 0) Ensimmäistä aikavälisimulaatiota ei ole määritelty
  • (hour_init_interval2 = 17) Simulaatio alkaa klo 17.00. joka päivä
  • (hour_end_interval2 = 23) Simulaatio päättyy klo 23.00. saman päivän
  • (min_delay_ir = 3)

    (max_viive_ir

    = 30) IR -ohjauskoodien satunnaisten lähetysten välinen viiveaika minuutteina on satunnaisluku välillä 3 ja 30

    (min_viive_valo = 5)

    (enimmäisviiveaika)

    = 10) Valon kytkemisen ja sammuttamisen välinen viiveaika minuutteina on satunnainen luku välillä 5 ja 10

VAIHE 3.5 (vain päälaitteelle) (REAL AIKAKELLON MÄÄRITTÄMINEN)

Yksi tämän projektin avaimista on aika. Meidän on asetettava ARDUINOn aika, jolloin luonnos alkaa toimia. Tätä varten tarvitsemme reaaliaikaisen kellomoduulin. Yksi kellomoduuli on DS3231, joka tukee vara -akkua, ja sitä voidaan käyttää, ellei sitä ole yhdistetty mikrokontrolleriin kolmella datakaapelilla I2C -protokollaa käyttäen.

Ennen DS3231: n käyttöä sinun on asetettava aika tässä moduulissa. Tätä varten sinun on suoritettava päälaitteessa luonnos "DS3231_set.ino".

VAIHE 3.6 (vain päälaitteelle) (ESP8266 -Moduulin konfigurointi)

Tässä moduulissa käynnissä oleva luonnos yrittää muodostaa yhteyden paikalliseen wifi -verkkoon ja määrittää verkkopalvelimen.

Joten meidän on päivitettävä seuraavat tiedot luonnoksessa "klātbūtne_web.ino" päästäksesi paikalliseen wifi-verkkoon ja määrittämään Gmail-sähköpostiosoite, josta ESP8266 lähettää kaikkien verkon laitteiden havaitsemat liikkeet ja sähköpostiosoite, johon haluat vastaanottaa ilmoitukset (ESP8266 Gmail Sender -ohje)

const char* ssid = "paikallisen wifi -verkon ssid";

const char* password = "paikallisen wifi -verkon salasana"; const char* to_email = "sähköposti, johon haluat saada ilmoituksia liikkeen havaitsemisesta"; WiFi -palvelinpalvelin (80); // portti, jota käytettiin kuuntelemaan

ja seuraavat tiedot luonnoksessa "Gsender.h".

const char*EMAILBASE64_LOGIN = "*** Gmail -kirjautumiskoodisi BASE64 -järjestelmässä ***";

const char*EMAILBASE64_PASSWORD = "*** Gmail -salasanasi koodaus BASE64 ***"; const char*FROM = "*** gmail -osoitteesi ***";

TÄRKEÄÄ: tämä koodi ei toimi ESP8266 -ytimen kanssa Arduinon versiossa 2.5.0. Käytä väliaikaista ratkaisua ydinversio 2.4.2

VAIHE 3.7 (vain päälaite)

Kun olet tehnyt edellisen vaiheen 3.3, 3.4, 3.5 ja 3.6, lataa luonnos "present_master.ino" NANO -mikrokontrolleriin ja luonnos "present_web.ino" ESP8266 -moduuliin

Vaihe 4: Järjestelmän testaus

Jos haluat testata, toimiiko kaikki haluamallamme tavalla, luonnos "present_master.ino" voidaan suorittaa testitilassa.

Voit testata tiettyä laitetta kahdella tavalla:

ENSIMMÄINEN tapa: jos et käytä wifi -verkkoa, sinun on etsittävä seuraava koodi tiedostosta "klātbūtne_master.ino", vaihda "tosi" -muuttujan "bool_test_activated" alkuarvo ja päivitä yhden osoite testataksesi seuraavassa koodirivissä ja lataa luonnos päälaitteen ARDUINO -mikrokontrolleriin.

boolean bool_test_activated = epätosi; // vaihda tosi -arvoon init -testitilaan

int device_to_test = 0; // orjalaitteen osoite testattavaksi

Älä unohda muuttaa arvoa epätosi, kun haluat poistua testitilasta ja ladata luonnoksen uudelleen

TOINEN TAPA: Jos käytät wifi -verkkoa, voit aktivoida testitilan verkkosivun avulla. Katso vaihe "Verkkopalvelin"

Jos testattava laite lähettää infrapunaohjauskoodeja, aseta isäntä- tai orjalaite infrapunaohjatun laitteen (televisio, radio…) eteen.

Tämä tila toimii seuraavalla tavalla:

  • VALON TESTAUS. Tietyn laitteen valon on sytytettävä ja sammuttava 10 sekunnin välein.
  • IR -KOODIEN TESTAUS. Luonnos valitsee satunnaisesti aiemmin syötetyn IR -koodin ja lähettää sen infrapunaohjatulle laitteelle 10 sekunnin välein. Joten sinun on testattava, tekeekö laite vastaanotettua IR -koodia vastaavaa toimintoa
  • LIIKETUNNISTIMEN TESTAUS. Jos laite havaitsee liikettä PIR -anturinsa edessä, se lähettää signaalin päälaitteelle ja sen valon on alkava vilkkua useita kertoja

Tämän ohjeen lopussa olevasta videosta näet testitilan käynnissä.

Vaihe 5: Verkkopalvelin

Verkkopalvelin
Verkkopalvelin
Verkkopalvelin
Verkkopalvelin
Verkkopalvelin
Verkkopalvelin

Jotta voit hallita järjestelmää ja testata, toimiiko kaikki oikein, ESP8266 -moduuli on määritetty verkkopalvelimeksi. Et tarvitse muita lisäohjelmia päästäksesi verkkoon etäyhteydellä, kirjoita vain verkkoselaimen reitittimen IP -osoite. Reitittimessäsi olet aiemmin määrittänyt portinsiirron ESP8266 -moduulin käyttämiseksi käyttämällä määrittämääsi staattista paikallista IP -osoitetta.

Tämä moduuli on liitetty ARDUINO -mikrokontrolleriin I2C -protokollaa käyttäen.

Näet ensimmäisen verkkosivun KUVASSA 1:

  • JÄRJESTELMÄTILA -osiossa on tietoja järjestelmästä:

    • Järjestelmän päivämäärä ja kellonaika. On erittäin tärkeää, että päivämäärä ja kellonaika ovat ajoissa
    • Läsnäolosimulaattorin tila (käytössä tai pois käytöstä), viimeisen läsnäolotoiminnon päivämäärä ja kellonaika sekä toiminnon suorittaneen laitteen osoite (KUVA 2)
    • Liiketunnistimen tila (käytössä tai pois käytöstä) ja historiallinen liiketunnistus laitteittain: laskuri ja viimeisen liiketunnistuksen päivämäärä ja kellonaika (KUVA 3) Tässä kuvassa näkyy, että laitteessa, jonka osoite on 1, on havaittu 1 liike ja viimeinen oli klo 16.50:34
  • KOMENNOT -osiossa voit tehdä seuraavat toimet:

    • Läsnäolosimulaattorin aktivointi
    • Liiketunnistimen aktivointi
    • Laitteen valitseminen testin aloittamiseksi ja pysäyttämiseksi (KUVA 4)
  • OLETUSKOMENTO -osion avulla voimme tehdä seuraavaa:

    Esitellä tai päivittää tietyn laitteen läsnäolosimulaation suunnittelu. KUVASSA 5 näet, kuinka päivität osoitelaitteen 1 läsnäolosimulaation suunnittelun. Merkkijonomuoto on seuraava: (addr_device), (hour_init1), (end_init1), (hour_init2), (end_init2), (min_delay_ir), (enimmäisviiveaika), (vähimmäisviiveaika), (enimmäisviiveaika). Kaikki numerot ovat kokonaislukuja. Jos olet lisännyt kelvollisen merkkijonon, näet uuden läsnäolosimulaation suunnittelun ennen tekstiä "LAST", muuten näet viestin "LAST: NOT VALID"

  • IR CODE COMMAND -osiossa voimme tehdä seuraavat toimet:

    Tietyn laitteen IR -ohjauskoodin käyttöönotto tai päivittäminen. KUVASSA 6 näet kuinka päivität tai otat käyttöön uuden IR -ohjauskoodin osoitelaitteelle 1. Merkkijonomuoto on seuraava: (addr_device), (IR_protokolla), (protocol_bits_length), (index_IR_control_code), (IR_control_code). (IR_protokolla) on kirjainkoolla merkitsevä merkkijono, joka hyväksyy vain seuraavat arvot (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF) ja (IR_control_code) on heksadesimaaliluku. Koska järjestelmä on määritetty tallentamaan 10 IR -ohjauskoodia, (index_IR_control_code) on kokonaisluku 1 ja 10. Kuten ennenkin, jos olet lisännyt kelvollisen merkkijonomuodon, näet uuden IR -ohjauskoodin ennen tekstiä "LAST", muuten näet viestin "LAST: NOT VALID"

Pääset tälle verkkosivulle paikallisesta wifi -verkostasi kirjoittamalla IP -osoitteen, jonka reitittimesi on määrittänyt ESP8266: lle verkkoselaimessa. Kaikista kuvista näet, että reitittimeni antama IP -osoite on 192.168.43.120.

Jos haluat käyttää etäyhteyttä paikallisen wifi -verkon ulkopuolella, sinun on määritettävä reitittimessäsi portti, jota aiot käyttää saapuvien tietojen kuuntelemiseen ja ohjaamaan sen paikallisen verkon ESP8266 -laitteeseen. Kirjoita sen jälkeen vain reitittimesi IP -osoite verkkoselaimeen.

Vaihe 6: Esimerkki kaikkien selventämiseksi

Image
Image
Esimerkki kaikkien selventämiseksi
Esimerkki kaikkien selventämiseksi

Olen suunnitellut yhden esimerkin selventämään kaikkea

Olen rakentanut seuraavat laitteet (KUVA 2)

  • Yksi infrapunaohjattu laite, jossa käytetään NANO-mikrokontrolleria, RGB-ledi pingispallon sisällä ja yksi IR-vastaanotinmoduuli (KUVA 1). Kun painamme IR-kaukosäätimen ohjauspainiketta 1-7, pingispallopallo muuttaa väriä.
  • Päälaite (osoite 0)
  • Yksi orjalaite (osoite 1)

Kaiken edellä mainitun avulla aiomme testata kaikkia projektin ominaisuuksia. Läsnäolosimulaation suunnittelu voisi olla:

  1. Orjalaitteen ohjaama pallo vaihtaa väriä klo 17.00 alkaen. klo 23.00 asti ja aamulla klo 7.00–8.00 joka satunnainen minuutin välein välillä 1–1.
  2. Orjalaitteen ohjaama valo syttyy ja sammuu klo 17.00 alkaen. klo 23.00 asti ja aamulla klo 7.00–8.00 joka satunnainen minuutin välein 1–2
  3. Päälaitteen ohjaama valo syttyy ja sammuu klo 16.00 alkaen. seuraavan päivän kello 1.00 joka satunnainen minuutin välein 1-2

Luonnoksen "ir_codes.ino" suorittamisen jälkeen olemme saaneet selville, että IR -kaukosäätimen käyttämä IR -protokolla on "NEC", IR -koodien pituus on 32 bittiä ja painikkeiden IR -ohjauskoodit heksadesimaalimuodossa 1-7 ovat:

PAINIKE 1 = FF30CF

PAINIKE 2 = FF18E7

PAINIKE 3 = FF7A85

PAINIKE 4 = FF10EF

PAINIKE 5 = FF38C7

PAINIKE 6 = FF5AA5

PAINIKE 7 = FF42BD

Voit määrittää järjestelmän kahdella tavalla:

ENSIMMÄINEN tapa: verkkosivun käyttäminen (katso video tämän ohjeen lopussa)

TOINEN tapa: päivittää tiedosto "ir_codes.ino" ja ladata sen jälkeen:

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

/******* IR -ohjauskoodit ***************** / /******************** **********************/ // protokollatunnus, bittien lukumäärä, 10 päälaitteen IR -ohjauskoodia (osoite = 0) NEC, 32, 0xFF30CF, 0xFF18E7, 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // protokolla_tunnus, bittien lukumäärä, 10 orjalaitteen IR -ohjauskoodia (osoite = 1) Tuntematon, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokolla_tunnus, bittien lukumäärä, 10 IR -ohjauskoodia orjalaitteelle (osoite = 2) Tuntematon, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokollan_tunnus, bittien lukumäärä, 10 IR -ohjauskoodia orjalaitteelle (osoite = 3) Tuntematon, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protokollan_tunnus, bittien lukumäärä, 10 IR -ohjauskoodia orjalaitteelle (osoite = 4) Tuntematon, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ********************************* / / ********* Lopetus IR -ohjauskoodit ** ************ / / ************************************ *********/

/************ Läsnäolon simulointisuunnittelu ************/

0, 0, 16, 1, 0, 0, 1, 2, // päälaite (osoite = 0) 7, 8, 17, 23, 1, 1, 1, 2, // orjalaite (osoite = 1) RGB -pallo 0, 0, 0, 0, 0, 0, 0, 0, // orjalaite (osoite = 2) 0, 0, 0, 0, 0, 0, 0, 0, // orjalaite (osoite = 3) 0, 0, 0, 0, 0, 0, 0, 0 // orjalaite (osoite = 4) /************ END PRESENCE SIMULATOR ******** ************/

Suositeltava: