Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Tarvikkeet
- Vaihe 2: Yhdistä Ardunio ja moduulit kuvan mukaisesti
- Vaihe 3: Lisää tarvittavat kirjastot Arduino IDE: hen
- Vaihe 4: Seuraavaksi meidän on hankittava anturien koodit
- Vaihe 5: Arduino -koodimalli
- Vaihe 6: Liitä vaiheessa 5 saamasi koodit Arduino -mallipohjaan
- Vaihe 7: Lataa muutettu.ino Arduinoosi ja testaa
- Vaihe 8: RTC -moduulin ajan asettaminen ja viritys- ja poiskytkentäaikojen muuttaminen
- Vaihe 9: Lisähuomautuksia
Video: Langaton Arduino -hälytysjärjestelmä, joka käyttää olemassa olevia antureita: 9 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tämä projekti voidaan rakentaa noin puolessa tunnissa ja maksaa noin 20,00 dollaria, jos sinulla on olemassa olevat 433Mhz tai 315Mhz langattomat hälytysanturit.
Se voi olla myös täysin uusi projekti langattomilla hälytysantureilla, kuten infrapuna -liiketunnistimilla ja reed -kytkimillä, helposti ja edullisesti verkossa. Etsi vain 433Mhz tai 315Mhz antureita, jotka käyttävät PT2262- tai EV1527 -koodausta.
Olen varma, että monet minun kaltaiseti ovat ostaneet langattomilla antureilla varustetun GSM/2G -hälytysjärjestelmän ja olivat siihen tyytyväisiä, mutta kun 2G/GSM -verkko sammutettiin asuinpaikastani, minulle jäi hälytysjärjestelmä ei enää ohjelmoi tai edes aseta aikaa sille. Eräänä päivänä mietin, mitä voisin tehdä saadakseni hälytyksen toimimaan uudelleen, mieleeni tuli tarkistaa, voiko Arduino vastaanottaa signaaleja antureista. Törmäsin epäluotettavaan https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ ja havaitsin kokeilun jälkeen, että voisin vastaanottaa signaalit olemassa olevista antureistani. Aloitin prosessin rakentaa hälytysjärjestelmä, joka voisi korvata nykyisen hälytykseni ja parantaisi myös toiminnallisuutta. Yksi vanhan hälytyksen ongelmista ei ollut koskaan tietää tarkasti, mikä 25 anturista lähti, lisäämällä nestekidenäytön uuteen hälytysrakenteeseeni, nyt saan LCD -näytölle tekstin, joka osoittaa tarkasti, mikä anturi aktivoitiin. Uusi hälytys voidaan edelleen virittää manuaalisesti nykyisillä langattomilla näppäimistöillä, ja siinä on reaaliaikainen kello, jonka avulla se voi virittää ja kytkeä virran pois automaattisesti esiasetettuina vuorokaudenaikoina.
Tarvikkeet
Katso lopussa olevat lisähuomautukset varmistaaksesi, että käytät osien oikeaa versiota.
Arduino Uno tai vastaava
433 tai 315 MHz vastaanotinmoduuli Arduinolle
DS3231 reaaliaikainen kellomoduuli Arduinolle
I2C 16x2 LDC -moduuli Arduinolle
Langattomat hälytyskytkimet, liikeanturit ja kauko -ohjaimet halutulla tavalla
Pietsosummeri
LED- ja 220 ohmin vastus
Leipälauta (valinnainen, mutta suositeltava)
Sopiva virtalähde Arduinolle
Hyppyjohdot jne
PC, johon on asennettu Arduino IDE
Arduinon perustiedot
Vaihe 1: Tarvikkeet
Muutama kuva yllä olevista tarvikkeista tähän projektiin
Vaihe 2: Yhdistä Ardunio ja moduulit kuvan mukaisesti
Pietso Arduinon nastan 5 ja maan välissä
LED Arduinon nastan 8 ja 220 ohmin vastuksen välillä ja sitten maahan
433 tai 315 Mhz -vastaanotin, VCC - 5 V, GND maahan ja jompikumpi Arduinon 2 -nastaisista nastoista 2
I2C 16X2 LCD -moduuli VCC - 5 V, GND maahan, SCL SDA -nastat Arduinon SCL SDA: han (nasta A5 on SCL, nasta A4 on SDA)
DS3231 RTC -moduuli VCC - 5 V, GND maahan, SCL SDA -nastat Arduinon SCL SDA: han (toinen sarja sijaitsee useimpien Arduinon GND- ja AREF -nastojen yläpuolella)
Tiedän, että jotkut teistä eivät tarvitse enempää tietoa kuin tämä ja alla oleva luonnos, mutta kerron tarkemmin kaikille, jotka haluavat hieman lisäapua.
Vaihe 3: Lisää tarvittavat kirjastot Arduino IDE: hen
Arduino Sketch hälytyksen suorittamiseen käyttää joitain kirjastoja, joita ei ole jo asennettu Arduino IDE: hen oletuksena.
RCSwitch -kirjaston lisääminen Arduino IDE: hen. Avaa Arduino IDE ylävalikosta ja valitse "Luonnos", sitten avattavasta valikosta "Sisällytä kirjasto" ja valitse seuraavasta avattavasta valikosta "Hallitse kirjastoja". Kirjoita "Suodata haku" -kenttään "RCSW" ja napsauta seuraavaksi "rc-switch by sui77" -asennusta.
Yksityiskohtaiset ohjeet kirjastojen lisäämisestä osoitteessa
Tässä vaiheessa meidän on myös lisättävä kirjasto nimeltä Time, TimeAlarms, DS1307RTC ja LiquidCrystal_I2C, sama menettely kuin yllä, mutta etsitään jokaisen uuden kirjaston nimi ja asennetaan. Katso yllä olevat kuvakaappaukset, jos et ole varma, mitä kirjastoja haluat käyttää.
Reaaliaikainen DS3231-kello on yhteensopiva DS1307RTC-kirjaston kanssa ja käyttää sitä.
Vaihe 4: Seuraavaksi meidän on hankittava anturien koodit
Olen toimittanut alla olevan Arduino -koodin mallin, mutta sinun on löydettävä kunkin anturin arvot ja liitettävä ne koodiin.
Molemmilla sivustoilla on paljon tietoa näiden koodien saamisesta.
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Tässä kuitenkin lyhennetty versio;
Saadaksesi anturien ja kauko -ohjainten lähettämät koodit, liitä vaiheessa 1 koottu Arduino tietokoneeseen USB -kaapelilla ja avaa Arduino IDE. Siirry sitten Arduino IDE: n avattavaan "Tiedosto" -valikkoon ja siirry kohtaan "Esimerkit", vieritä esimerkkiluetteloa alaspäin, kunnes löydät "RCSWITCH", valitse sitten "ReceiveDemo_Advanced" -luonnos ja lataa se Arduinolle. Kun luonnos on ladattu onnistuneesti, avaa Arduino IDE: n sarjamonitori ja se on edelleen liitettynä tietokoneeseesi USB: n kautta. Käynnistä nyt ensimmäinen antureista, joille haluat saada koodin, RCSwitchin lähtö näkyy sarjamittari -ikkunassa. Tässä projektissa etsimme desimaalikoodeja, kuten kuvakaappaus 2 korostaa. Sinun on käynnistettävä anturi useita kertoja etsimällä useimmin näkyvää desimaaliarvoa, joskus eri arvot sekoitetaan todelliseen arvoon. satunnaisten radioaaltojen tai muiden samalla taajuudella toimivien laitteiden aiheuttamien häiriöiden vuoksi.
Huomaa anturin desimaalikoodi käytettäväksi seuraavassa vaiheessa. Toista kaikki anturit ja kauko -ohjaimet, joita haluat käyttää projektissa, ja seuraa, mikä koodi kullakin anturilla menee. Jos hälytys kytketään päälle ja pois päältä kauko -ohjaimilla, sinun on muistettava kunkin kaukosäätimen viritys- ja poiskytkentäpainikkeen eri koodit.
Vaihe 5: Arduino -koodimalli
Alla on kopio Arduino -koodistani.ino -tiedostona nimeltä Wireless_Alarm. Voit napsauttaa sitä ja sen pitäisi avautua Arduino IDE: ssä. En ole ohjelmoija, koodini on koottu osittain Arduino IDE: n esimerkeistä, se ei todennäköisesti ole erityisen tyylikäs, mutta se toimii ja on ollut luotettava pitkän ajan.
Muista tallentaa luonnos uudelleen, kun olet tehnyt muutokset sisällyttääksesi omien antureidesi koodit.
Vaihe 6: Liitä vaiheessa 5 saamasi koodit Arduino -mallipohjaan
Nyt vaiheet käyttämäsi antureiden ja kauko -ohjainten koodin mukauttamiseen.
Jos avaat Wireless_Alarm -luonnoksen IDE -laitteessasi, näet rivillä 111.
if (mySwitch.getReceivedValue () == 115166236) // Kädensijan painikkeen koodi
Jos nykyisessä koodissa lukee 115166236, sinun on korvattava tämä numero desimaalikoodilla kauko -ohjaimen käsivarsipainikkeelle, jonka tallennit vaiheessa 5.
Jos esimerkiksi vaiheessa 5 saat desimaalin 1154321, muokkaat riviä 111 nyt luettavaksi;
if (mySwitch.getReceivedValue () == 1154321) // Kädensijan painikkeen koodi
Noudata samaa menettelyä rivillä 125.
if (mySwitch.getReceivedValue () == 115166234) // Fobin poiskytkentäpainikkeen koodi
Korvaa vaiheessa 5 tallentamasi kaukosäätimen poiskytkentäpainikkeen koodi 115166234.
Jos haluat virittää ja purkaa useita kauko -ohjaimia, kopioi ja liitä rivit 111–136 niin monta kertaa kuin tarvitaan ja muuta sitten arvoja muiden kauko -ohjainten mukaan, mutta on parasta aloittaa yhdellä kaukosäätimellä, kunnes olet varma luonnos toimii.
Nyt hälytysantureiden koodaamiseen luonnoksessa rivillä 140
if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Toimenpide signaalin lähettäjän toimistokoteloon
Ota 1151640 ulos ja lisää yhden hälytysanturisi desimaaliarvo.
Sitten rivillä 158.
lcd.print (F ("Toimistokaappi")); // tulosta viesti lcd: lle tietääksesi mikä anturi on aktivoitu (ja mene etsimään murtovaras:)
Vaihda Office -kaappi sellaiseksi, jonka haluat näkyvän anturin nestekidenäytössä. Jos esimerkiksi haluat sen lukevan kitchendoor, tee rivi tältä;
lcd.print (F ("Kitchendoor")); // tulosta viesti lcd: lle tietääksesi, mikä anturi oli aktivoitu (ja mene etsimään murtovaras:)
Nimet eivät saa ylittää 16 merkkiä.
Rivien 165 ja 187 välissä on malli, joka kopioidaan ja liitetään niin monta kertaa kuin on tarpeen suoraan alla 187 oleville riveille. Korvaa numero mySwitch.getReceivedValue () == toisen vaiheessa 5 tallentamasi anturin desimaalilla ja muuta nimi "" sisällä lcd.print (F ("sensornamehere")); nimeen, jonka haluat antaa anturillesi.
Jos et käytä kauko-ohjaimia hälytyksen virittämiseen ja virittämiseen, voit jättää huomiotta rivit 111-136 tai laittaa // jokaisen ei-toivotun rivin alkuun, ja Arduino ei lue niitä.
Muista tallentaa tiedosto muutosten jälkeen.
Vaihe 7: Lataa muutettu.ino Arduinoosi ja testaa
Kun Arduino on edelleen liitettynä tietokoneeseesi USB: llä, lataa luonnos Arduino Boardille. Kun lataus on suoritettu onnistuneesti, nestekidenäytössä pitäisi näkyä "Hälytys pois päältä". Paina kauko -ohjaimen käsivarsipainiketta ja nestekidenäytössä lukee "Alarm On Armed" ja LED -merkkivalon tulee palaa, jotta voit tietää, että se on viritetty, käynnistä nyt anturi, kun se on viritetty, nestekidenäytön pitäisi lukea Hälytys ja aikaleima ja anturin sijainnin, äänimerkin pitäisi kuulua 2 minuutin ajan, ellet paina poiskytkentäpainiketta. Jos et saa tätä tulosta, tarkista vaiheessa 5 saamasi koodit ja edellisessä vaiheessa koodiin tekemäsi muutokset, tarkista myös kaikkien komponenttien johdotus. Jos nestekidenäyttö ei lue ollenkaan, LCD -moduulin takana on kontrastisäätö. Kun kontrasti on asetettu oikein, jos nestekidenäyttö ei edelleenkään lue, yritä muuttaa nestekidenäytön osoitetta 0x3f: stä 0x27: ksi luonnoksen rivillä 12. Nestekidenäytön vianmääritys tässä I2C LCD -opetusohjelma
Vaihe 8: RTC -moduulin ajan asettaminen ja viritys- ja poiskytkentäaikojen muuttaminen
Toivottavasti RTC oli jo asetettu oikeaan aikaan, mutta jos et avaa IDE: tä, valitse 'Tiedosto' ja napsauta avattavasta valikosta "Esimerkit", vieritä alas kohtaan "DS1307RTC" ja valitse "SetTime" -luonnos, lataa luonnos Arduino ja se asettaa reaaliaikaisen kellon tietokoneeltasi tulevan ajan kanssa. Sitten sinun on ladattava Wireless_Alarm -luonnos uudelleen Arduinoosi.
Antamani Wireless_Alarm.ino on oletusarvoisesti asettanut hälytyksen kytkeytymään automaattisesti päälle joka ilta kello 22.15 ja kytkeytymään pois päältä kello 6.00 joka aamu. Jos haluat muuttaa näitä aikoja, muokkaa luonnosta riveillä 71 ja 72. Aika on suluissa Alarm.alarmRepeat muodossa HH, MM, SS. muuta tämä sinulle sopivaan aikaan.
Alarm.alarmRepeat (6, 00, 0, MorningAlarm); // DISARM -aika
Alarm.alarmRepeat (22, 15, 0, EveningAlarm); // ARM -aika
Joten jos haluat muuttaa aseistojen poistoajan 9.15am: ksi ja aseistusajan 17.30: ksi, koodi näyttäisi tältä
Alarm.alarmRepeat (9, 15, 0, MorningAlarm); // DISARM -aika
Alarm.alarmRepeat (17, 30, 0, EveningAlarm); // ARM -aika
Jos et halua hälytyksen kytkeytyvän päälle ja pois päältä, aseta // kahden rivin eteen ja niitä ei käytetä.
//Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // DISARM -aika
//Alarm.alarmRepeat(22, 15, 0, EveningAlarm); // Arm -aika
Hälytyksen merkkiäänen ajan voi muuttaa muuttamalla riviä 22
const pitkä väli = 120000; // millisaviolle hälytysääniä varten
Väli on millisekuntia, joten 120000 = 120 sekuntia, vaihtamalla 120000 arvoon 30000 hälytysääni kuuluu 30 sekunnin ajan.
Solenoidi sireenin, vilkkuvalon, suuren äänenvoimakkuuden jne. Käynnistämiseksi voidaan myös kytkeä nastaan 7 tai nastaan 9, ja se toimii yllä määritetyn "jakson" ajan. Muista, että Arduino -nastan maksimikuorma ei saa ylittää 40 mA.
Vaihe 9: Lisähuomautuksia
Kun valitset Arduinolle 433 tai 315 MHz vastaanotinmoduulin, sinun on valittava taajuus, joka vastaa käytettäviä hälytysantureita. Ehdotan, että ostat moduulin, jossa on pienet kierukka -antennit parhaan suorituskyvyn saavuttamiseksi, tai vaihtoehtoisesti 17,3 mm: n pituiset suorat lanka -antennit lisäävät suorituskykyä.
16x2 LCD -moduulin kanssa sinun on käytettävä 4 -nastaista I2C -LCD -näyttöä, jotta voit käyttää tässä annettuja ohjeita ja koodia. Se voidaan tehdä 16 -nastaisella tavallisella LCD -näytöllä, mutta se ei toimi täällä olevien johtojen tai koodin kanssa.
Langattomien hälytysreed -kytkimien, liikeanturien ja kauko -ohjainten on oltava 433 MHz tai 315 MHz, jotta ne vastaavat vastaanotinta, jota aiot käyttää, ja niiden tulee käyttää PT2262- tai EV1527 -koodausta.
Hälytys on laajennettavissa ja mukautettavissa, olen jo lisännyt SD -kortin tallentamaan, kun anturit laukeavat, muuttanut nestekidenäytön syttymään vain, kun painiketta pidetään painettuna, ja lisännyt 100dB: n sireenin, mutta en ole lisännyt tähän tietoja artikkelin pitämiseksi mahdollisimman lyhyt ja yksinkertainen. Toivon, että tästä hälytyksestä tekemäni työn jakaminen hyödyttää toisia.
Vastailen mielelläni kaikkiin kysymyksiin.
Kiitos.
Suositeltava:
Kuinka saavuttaa vastus/kapasiteetti käyttämällä jo olemassa olevia komponentteja!: 6 vaihetta
Kuinka saavuttaa vastus/kapasitanssi käyttämällä jo olemassa olevia komponentteja !: Tämä ei ole vain toinen sarja/rinnakkainen vastuslaskin! Tämä ohjelma laskee kuinka yhdistää nykyisin tarvittavat vastukset/kondensaattorit saavuttaaksesi tarvitsemasi vastus/kapasitanssi -arvon. Oletko koskaan tarvinnut teknisiä tietoja
Halloween -pelottelukone, joka käyttää PIR: ää, 3D -tulostettua kurpitsaa ja troll Arduino -yhteensopivaa äänikepparia/käytännöllistä vitsilautaa: 5 vaihetta
Halloween -pelottelukone, joka käyttää PIR: ää, 3D -painettua kurpitsaa ja peikko Arduino -yhteensopivaa äänikepparia/käytännöllistä vitsilautaa: Troll -lauta, jonka on luonut Patrick Thomas Mitchell EngineeringShock Electronicsista, ja se rahoitettiin täysin Kickstarterilla aivan liian kauan sitten. Sain palkintoni muutama viikko aikaisemmin auttaakseni kirjoittamaan joitain esimerkkejä käytöstä ja rakentamaan Arduino -kirjaston kokeiluun
Opi tekemään kannettava akkukäyttöinen näyttö, joka voi myös käyttää Raspberry Pi: tä: 8 vaihetta (kuvilla)
Opi tekemään kannettava akkukäyttöinen näyttö, joka voi käyttää myös Raspberry Pi -laitetta: Oletko koskaan halunnut koodata pythonia tai saada näyttölähdön Raspberry Pi -robotillesi liikkeellä ollessasi tai tarvitset kannettavan kannettavan toissijaisen näytön tai kamera? Tässä projektissa rakennamme kannettavan akkukäyttöisen näytön ja
Automaattinen rautatien ylitysjärjestelmä, joka käyttää Arduino -pohjaista sulautettua alustaa: 9 vaihetta
Automaattinen rautateiden ylitysjärjestelmä Arduino -pohjaisen sulautetun alustan avulla: Joulu on vain viikon päässä! Kaikki ovat kiireisiä juhlien ja lahjojen saamisen kanssa, mikä muuten on entistä vaikeampaa saada loputtomilla mahdollisuuksilla ympärillämme. Entä jos valitset klassisen lahjan ja lisäät ripauksen DIY
Arduino PIR -turvajärjestelmä, joka käyttää autosarjaa: 7 vaihetta (kuvilla)
Arduino PIR -turvajärjestelmä, joka käyttää autosarjaa: Okei, joten tässä projektissa aiomme tehdä varashälytyksen PIR -anturin, Arduinon, releen ja auton torven avulla