INHOUDSOPGAWE:
- Voorrade
- Stap 1: Voorrade
- Stap 2: Verbind die Ardunio en modules soos in die prentjie
- Stap 3: Voeg nodige biblioteke by die Arduino IDE
- Stap 4: Vervolgens moet ons die kodes vir u sensors kry
- Stap 5: Arduino -kode -sjabloon
- Stap 6: Plak die kodes wat u in stap 5 gekry het, in die sjabloon Arduino -skets
- Stap 7: Laai die gewysigde.ino op na u Arduino en toets
- Stap 8: Stel die tyd in op die RTC -module en verander die tyd om die arm in en uit te skakel
- Stap 9: Bykomende aantekeninge
Video: Arduino draadlose alarmstelsel met bestaande sensors: 9 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Hierdie projek kan binne ongeveer 'n halfuur gebou word teen 'n koste van ongeveer $ 20,00 as u beskikbare 433Mhz of 315Mhz draadlose alarmsensors het.
Dit kan ook 'n volledige nuwe projek wees met draadlose alarmsensors, soos infrarooi bewegingsdetektore en rietskakelaars, maklik en goedkoop aanlyn beskikbaar. Soek net 433Mhz- of 315Mhz -sensors wat PT2262- of EV1527 -kodering gebruik.
Ek is seker daar is baie mense soos ek wat 'n GSM/2G alarmstelsel met draadlose sensors gekoop het en tevrede was daarmee, maar toe die 2G/GSM -netwerk afgeskakel is waar ek woon, het ek 'n alarmstelsel agtergelaat. nie meer programmeer of selfs die tyd daarop stel nie. Op 'n dag terwyl ek wonder wat ek kan doen om my alarm weer funksioneel te maak, het ek by my opgekom om te kyk of 'n Arduino seine van die sensors kan ontvang. Ek het op 'n onstuitbare https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ afgekom en na 'n paar eksperimente vasgestel dat ek die seine van my bestaande sensors kan ontvang. Ek het begin met die proses om 'n alarmstelsel te bou wat my bestaande alarm kan vervang en ook meer funksionaliteit bied. Een van die probleme met die ou alarm was nooit om presies te weet watter van die 25 sensors afgaan nie, deur 'n LCD -skerm by my nuwe alarm te voeg, kry ek nou teks op die LCD wat aandui presies watter sensor geaktiveer is. Die nuwe alarm kan nog steeds handmatig deur my bestaande draadlose keyfobs gewapen word en het 'n intydse klok om dit in staat te stel om outomaties in te skakel en uit te skakel op vooraf ingestelde tye van die dag.
Voorrade
Sien bykomende aantekeninge aan die einde om te verseker dat u die korrekte weergawe van hierdie onderdele gebruik.
Arduino Uno of soortgelyk
433 of 315 MHz ontvanger module voor Arduino
DS3231 Real Time Clock -module vir Arduino
I2C 16x2 LDC -module vir Arduino
Draadlose alarm rietskakelaars, bewegingsensors en afstandsbedienings vir sleutelknoppies soos benodig
Piezo -gonser
Weerstand met LED en 220 ohm
Broodbord (opsioneel, maar aanbeveel)
Geskikte kragtoevoer vir Arduino
Springdrade ens
PC met Arduino IDE geïnstalleer
Basiese kennis van Arduino
Stap 1: Voorrade
Enkele afbeeldings hierbo van die benodigdhede wat u benodig vir hierdie projek
Stap 2: Verbind die Ardunio en modules soos in die prentjie
Piezo tussen pen 5 van die Arduino en die aarde
LED tussen pen 8 van die Arduino en na 'n 220ohm -weerstand, dan na die aarde
433 of 315 Mhz ontvanger, VCC tot 5V, GND op aarde en een van die 2 datapenne na pin2 van die Arduino
I2C 16X2 LCD -module VCC tot 5V, GND tot grond, SCL SDA -penne na SCL SDA van die Arduino (pen A5 is SCL, pen A4 is SDA)
DS3231 RTC -module VCC tot 5V, GND tot grond, SCL SDA -penne na SCL SDA van die Arduino (daar is 'n 2de stel bo die GND- en AREF -penne van die meeste Arduino's)
Ek weet dat sommige van u nie meer inligting nodig het as die onderstaande skets nie, maar ek sal meer in detail ingaan vir almal wat 'n bietjie hulp wil hê.
Stap 3: Voeg nodige biblioteke by die Arduino IDE
Die Arduino -skets om die alarm uit te voer, gebruik sommige biblioteke wat standaard nie reeds op die Arduino IDE geïnstalleer is nie.
Om RCSwitch -biblioteek by die Arduino IDE te voeg. Open die Arduino IDE in die boonste spyskaart, kies "Skets", kies dan "Sluit biblioteek in", en kies "Beheer biblioteke" in die vervolg keuselys. Tik dan in die blokkie "Filter u soektog" "RCSW" en klik dan op install vir "rc-switch by sui77"
Gedetailleerde instruksies oor die toevoeging van biblioteke op
Terwyl ons besig is, moet ons ook die biblioteke met die naam Time, TimeAlarms, DS1307RTC en LiquidCrystal_I2C byvoeg, dieselfde prosedure as hierbo, maar soek die naam van elke nuwe biblioteek en installeer dit. Sien skermkiekies hierbo as u nie seker is watter biblioteke u moet gebruik nie.
Die DS3231-intydse klok is verenigbaar met en gebruik die DS1307RTC-biblioteek.
Stap 4: Vervolgens moet ons die kodes vir u sensors kry
Ek het die sjabloon van die Arduino -kode hieronder verskaf, maar u moet die waardes vir elkeen van u sensors vind en in die kode plak.
Daar is uitgebreide inligting oor hoe om hierdie kodes op beide hierdie webwerwe te bekom;
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Hier is egter my verkorte weergawe;
Om die kodes te kry wat u sensors en afstandsbedieners stuur, moet u die Arduino, soos in stap 1 saamgestel, via 'n USB -kabel aan 'n rekenaar koppel en die Arduino IDE oopmaak. Gaan dan in die Arduino IDE na die "File" aftreklys, gaan dan na "Voorbeelde", blaai deur die lys met voorbeeldsketse totdat u "RCSWITCH" vind, kies dan die "ReceiveDemo_Advanced" skets en laai dit op na die Arduino. Sodra die skets suksesvol opgelaai is, kan u die seriële monitor van die Arduino IDE oopmaak, terwyl dit steeds via USB aan u rekenaar gekoppel is. Skakel nou die eerste van die sensors waarvoor u die kode wil kry, die uitset van RCSwitch sal in die seriële monitorvenster verskyn. Vir hierdie projek is ons op soek na die desimale kodes soos aangedui in skermkiekie 2. U moet die sensor verskeie kere aktiveer en op soek na die desimale waarde wat die meeste voorkom, soms is daar verskillende waardes wat met die ware waarde gemeng word. deur inmenging van ewekansige radiogolwe of ander toestelle wat op dieselfde frekwensie werk.
Let op die desimale kode van die sensor vir gebruik in die volgende stap. Herhaal vir al die sensors en afstandsbedieningspanele wat u in die projek wil gebruik, en hou by watter kode by watter sensor pas. As u 'n afstandsbediening gebruik om die alarm in en uit te skakel, moet u let op die verskillende kodes vir die aan / uit -knoppie en die uitskakelknoppie van elke afstandsbediening.
Stap 5: Arduino -kode -sjabloon
Hieronder is 'n afskrif van my Arduino -kode as 'n.ino -lêer genaamd Wireless_Alarm. U kan daarop klik en dit moet in die Arduino IDE oopmaak. Ek is nie 'n programmeerder nie, my kode is gedeeltelik saamgestel uit die voorbeelde in die Arduino IDE, dit is waarskynlik nie besonder elegant nie, maar dit werk wel en is oor 'n lang tyd betroubaar.
Onthou om die skets weer te stoor nadat u die veranderings aangebring het om die kodes van u eie sensors in te sluit.
Stap 6: Plak die kodes wat u in stap 5 gekry het, in die sjabloon Arduino -skets
Nou die stappe om die kode aan te pas vir die sensors en afstandsbedieningspanele wat u gebruik.
As u die Wireless_Alarm -skets in u IDE oopmaak, sal u op reël 111 sien.
as (mySwitch.getReceivedValue () == 115166236) // Fob -armknoppie kode
As u in die bestaande kode 115166236 lees, moet u die nommer vervang met 'n desimale kode vir die armknoppie van u afstandsbediening, wat u in stap 5 opgeteken het.
As u byvoorbeeld in stap 5 'n desimale 1154321 kry, sou u reël 111 verander om nou te lees;
as (mySwitch.getReceivedValue () == 1154321) // Fob -armknoppie kode
Volg dieselfde prosedure vir reël 125.
as (mySwitch.getReceivedValue () == 115166234) // Fob ontknoppie kode
Vervang 115166234 vir die kode van u afstandsbedieningsknoppie wat u by stap 5 opneem.
As u veelvuldige afstandsbedienings wil gebruik om in en uit te skakel, kopieer en plak reëls 111 tot 136 soveel keer as wat nodig is, verander dan die waardes wat by u ander afstandsbediening pas, maar begin eers met een afstandsbediening totdat u seker is dat u dit gewysig het skets werk.
Nou na die kodering van die alarmsensors in die skets op reël 140
if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Aksie vir seinkas se kantoorkas
Haal 1151640 uit en voeg die desimale waarde van een van u alarmsensors in.
Dan by reël 158.
lcd.print (F ("Kantoorkas")); // druk boodskap aan lcd om te weet watter sensor geaktiveer is (en gaan soek die inbreker:)
Verander die kantoorkas na wat u op die LCD vir die sensor wil vertoon. Byvoorbeeld, as u wil hê dat dit deur kitchendoor moet lees, laat die reël so lyk;
lcd.print (F ("Kitchendoor")); // druk boodskap aan lcd om te weet watter sensor geaktiveer is (en gaan soek die inbreker:)
Name moet nie meer as 16 karakters wees nie.
Tussen reël 165 en 187 is 'n sjabloon om soveel keer as wat nodig is te kopieer en te plak op die reëls direk onder 187. Vervang die nommer na mySwitch.getReceivedValue () == met die desimaal van een van u ander sensors wat u in stap 5 opgeteken het en verander die naam binne die "" in lcd.print (F ("sensornamehere")); na die naam wat u aan u sensor wil gee.
As u nie die afstandsbediening gebruik om u alarm in te skakel en uit te skakel nie, kan u reëls 111-136 ignoreer of // aan die begin van elk van die ongewenste reëls plaas, en die Arduino kan dit nie lees nie.
Onthou om die lêer te stoor nadat u die veranderinge aangebring het.
Stap 7: Laai die gewysigde.ino op na u Arduino en toets
Terwyl die Arduino nog steeds via USB aan u rekenaar gekoppel is, laai die skets op na die Arduino Board. Sodra die oplaai suksesvol afgehandel is, moet die LCD "Alarm aan uitgeskakel" lees. Druk die armknoppie op u afstandsbediening en die LCD moet "Alarm aan gewapend" lees, en die LED moet brand om u te laat weet dat dit ingeskakel is, aktiveer nou 'n sensor terwyl dit ingeskakel is, LCD moet alarm lees, gevolg deur 'n tydstempel en die ligging van die sensor, behoort die piep vir 2 minute te klink, tensy u op die uitskakelknoppie druk. Kontroleer ook weer die bedrading van alle komponente as u hierdie resultaat nie kry nie. As die LCD glad nie lees nie, is daar 'n kontrasaanpassing aan die agterkant van die LCD -module. As die kontras korrek ingestel is as die LCD nog steeds nie lees nie, probeer dan om die adres van die LCD van 0x3f na 0x27 op reël 12 in die skets te verander. LCD probleemoplossing hier I2C LCD handleiding
Stap 8: Stel die tyd in op die RTC -module en verander die tyd om die arm in en uit te skakel
Hopelik was u RTC reeds op die regte tyd ingestel, maar as u nie die IDE oopmaak nie, kies 'File' en klik op 'Voorbeelde', blaai af na 'DS1307RTC' en kies die 'SetTime' skets, laai die skets af na u Arduino en dit stel die regte tydklok in met die tyd van u rekenaar. U moet dan die Wireless_Alarm -skets herlaai na u Arduino.
Die Wireless_Alarm.ino wat ek verskaf het, sal die alarm standaard om 22:15 elke aand outomaties laat inskakel en elke oggend om 06:00 uitskakel. Om hierdie tye te verander, verander die skets by reëls 71 en 72. Die tyd is tussen hakies na Alarm.alarmHerhaal in die formaat HH, MM, SS. verander dit na die tyd wat u pas.
Alarm.alarmRepeat (6, 00, 0, MorningAlarm); // AFSKAKEL tyd
Alarm.alarmRepeat (22, 15, 0, EveningAlarm); // ARM tyd
Om die ontwapeningstyd na 9.15 uur en die armtyd na 17.30 uur te verander, sal die kode so lyk
Alarm.alarmRepeat (9, 15, 0, MorningAlarm); // AFSKAKEL tyd
Alarm.alarmRepeat (17, 30, 0, EveningAlarm); // ARM tyd
As u nie wil hê dat die alarm moet in- en uitskakel nie, moet u // voor die 2 reëls sit, en dit word nie gebruik nie.
//Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // AFSKAKEL tyd
//Alarm.alarmRepeat(22, 15, 0, EveningAlarm); // Arm tyd
Die tyd waarop die alarmpieper klink, kan verander word deur reël 22 te verander
konst lang interval = 120000; // vir millis vertraging vir tydsduur alarmgeluide
Die interval is in millisekondes, so 120000 = 120 sekondes. Deur 120000 na 30000 te verander, sal die alarm 30 sekondes laat klink.
'N Solenoïde om 'n sirene, 'n stroboscooplig, 'n hoë volume pieper, ens., Kan ook aan pen 7 of pen 9 gekoppel word en sal vir die' interval 'werk soos hierbo uiteengesit. Hou in gedagte dat die maksimum las vir 'n Arduino -pen nie meer as 40mA moet wees nie.
Stap 9: Bykomende aantekeninge
As u 'n 433 of 315 MHz ontvanger module vir Arduino kies, moet u die frekwensie kies wat pas by die alarmsensors wat u wil gebruik. Ek stel voor dat u 'n module koop met 'n klein spiraalvormige antenne vir die beste prestasie, anders kan 'n 17,3 mm lang reguit draadantennas ook die prestasie verhoog.
Met die 16x2 LCD -module moet u 'n 4 -pins I2C LCD gebruik om die instruksies en kode wat ek hier verskaf, te gebruik; dit kan gemaak word met 'n 16 -pins standaard LCD, maar dit werk nie met die bedrading of kode hier nie.
Draadlose alarmrietskakelaars, bewegingsensors en afstandsbedienings vir sleutelknoppies moet 433Mhz of 315Mhz wees wat ooreenstem met die ontvanger wat u wil gebruik, en moet PT2262- of EV1527 -kodering gebruik.
Die alarm is uitbreidbaar en aanpasbaar; ek het reeds 'n SD -kaart bygevoeg om op te neem wanneer sensors geaktiveer word, die LCD verander sodat dit slegs aangaan as 'n knoppie ingedruk word en 'n sirene van 100dB bygevoeg, maar ek het nie die besonderhede hier ingesluit om die artikel te behou nie kort en eenvoudig as moontlik. Ek hoop dat die deel van die werk wat ek aan hierdie alarm gedoen het, vir ander tot nut kan wees.
Beantwoord graag enige vrae.
Dankie.
Aanbeveel:
Voertuigparkeer alarmstelsel met behulp van PIR-sensor- selfdoen: 7 stappe (met foto's)
Voertuigparkeer alarmstelsel met behulp van PIR-sensor- selfdoen: het u ooit probleme ondervind tydens die parkeer vir 'n voertuig soos 'n motor, 'n vragmotor, 'n motorfiets of enige ander, dan wys ek in hierdie instruksies hoe u hierdie probleem kan oorkom met 'n eenvoudige parkeeralarm stelsel met behulp van PIR -sensor. In hierdie stelsel wat
Draadlose Arduino -robot met behulp van die HC12 -draadlose module: 7 stappe
Draadlose Arduino -robot wat die HC12 -draadlose module gebruik: Hallo ouens, welkom terug. In my vorige pos het ek verduidelik wat 'n H Bridge Circuit is, L293D -motorbestuurder -IC, L293D -motorbestuurder -IC vir die bestuur van hoëstroom -motorbestuurders en hoe u u eie L293D -motorbestuurderbord kan ontwerp en maak
Pool Pi Guy - AI -aangedrewe alarmstelsel en swembadmonitering met behulp van Framboos Pi: 12 stappe (met foto's)
Pool Pi Guy - AI -aangedrewe alarmstelsel en swembadmonitering met behulp van Framboos Pi: dit is lekker om 'n swembad by die huis te hê, maar dit neem groot verantwoordelikheid mee. My grootste bekommernis is om te kyk of iemand sonder toesig naby die swembad is (veral jonger kinders). My grootste ergernis is om seker te maak dat die swembadwaterleiding nooit onder die ingang van die pomp val nie
Handkonsole met draadlose beheerders en sensors (Arduino MEGA & UNO): 10 stappe (met foto's)
Handkonsole met draadlose beheerders en sensors (Arduino MEGA & UNO): Wat ek gebruik het:- Arduino MEGA- 2x Arduino UNO- Adafruit 3.5 " TFT 320x480 raakskerm HXD8357D- Gonser- 4Ohm 3W luidspreker- 5mm LED-ligte- Ultimaker 2+ drukker met swart PLA-filament- Lasersnyer met MDF-hout- Swart spuitverf (vir die hout)- 3x nRF24
IOT -rookmelder: werk bestaande rookmelder op met IOT: 6 stappe (met foto's)
IOT Rookmelder: Werk bestaande rookmelder by met IOT: Lys van bydraers, Uitvinder: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Toesighouer: Dr Chia Kim Seng Departement meganiese en robotiese ingenieurswese, Fakulteit Elektriese en Elektroniese Ingenieurswese, Universiti Tun Hussein Onn Malaysia.Distribueer