Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Forbrugsvarer
- Trin 2: Forbind Ardunio og moduler som vist på billedet
- Trin 3: Føj nødvendige biblioteker til Arduino IDE
- Trin 4: Næste skal vi få koderne til dine sensorer
- Trin 5: Arduino -kodeskabelon
- Trin 6: Indsæt de koder, du opnåede i trin 5, i skabelonen Arduino Sketch
- Trin 7: Upload den ændrede.ino til din Arduino og test
- Trin 8: Indstilling af klokkeslæt på RTC -modul og ændring af til- og frakoblingstider
- Trin 9: Yderligere bemærkninger
Video: Arduino trådløst alarmsystem ved hjælp af eksisterende sensorer: 9 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Dette projekt kan bygges på cirka en halv time til en pris af omkring $ 20,00, hvis du har eksisterende 433Mhz eller 315Mhz trådløse alarmsensorer.
Det kan også være et komplet nyt projekt med trådløse alarmsensorer, såsom infrarøde bevægelsesdetektorer og sivkontakter, let og billigt tilgængeligt online. Bare søg efter 433Mhz eller 315Mhz sensorer, der bruger PT2262 eller EV1527 kodning.
Jeg er sikker på, at der er mange mennesker som mig, der har købt et GSM/2G alarmsystem med trådløse sensorer og var tilfredse med det, men da 2G/GSM -netværket blev slukket, hvor jeg bor, stod jeg tilbage med et alarmsystem, jeg kunne ikke længere programmere eller endda indstille tiden på den. En dag mens jeg spekulerede på, hvad jeg kunne gøre for at få min alarm til at fungere igen, gik det op for mig at kontrollere, om en Arduino kunne modtage signaler fra sensorerne. Jeg faldt over en ustabil https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ og efter nogle eksperimenter besluttede jeg, at jeg kunne modtage signalerne fra mine eksisterende sensorer. Jeg begyndte processen med at bygge et alarmsystem, der kunne erstatte min eksisterende alarm og også ville give øget funktionalitet. Et af problemerne med den gamle alarm var faktisk aldrig at vide nøjagtigt, hvilken af de 25 sensorer der gik ud, ved at tilføje en LCD -skærm til min nye alarmbygning får jeg nu tekst på LCD'et, der angiver præcis hvilken sensor der blev aktiveret. Den nye alarm kan stadig manuelt tilkobles af mine eksisterende trådløse fjernbetjeninger og har et ur i realtid, så den automatisk kan til- og frakobles på forudindstillede tidspunkter på dagen.
Forbrugsvarer
Se yderligere bemærkninger til sidst for at sikre, at du bruger den korrekte version af disse dele.
Arduino Uno eller lignende
433 eller 315 MHz modtagermodul til Arduino
DS3231 Real Time Clock modul til Arduino
I2C 16x2 LDC -modul til Arduino
Trådløse alarmreedkontakter, bevægelsessensorer og fjernbetjeninger til fjernbetjening efter ønske
Piezo summer
LED & 220 ohm modstand
Brødbræt (valgfrit, men anbefales)
Egnet strømforsyning til Arduino
Jumper ledninger osv
PC med Arduino IDE installeret
Grundlæggende viden om Arduino
Trin 1: Forbrugsvarer
Nogle billeder ovenfor af de forbrugsvarer, du skal bruge til dette projekt
Trin 2: Forbind Ardunio og moduler som vist på billedet
Piezo mellem pin 5 på Arduino og jorden
LED mellem pin 8 på Arduino og til en 220ohm modstand derefter til jorden
433 eller 315 Mhz modtager, VCC til 5V, GND til jord og enten en af de 2 datapinde til pin2 på Arduino
I2C 16X2 LCD -modul VCC til 5V, GND til jord, SCL SDA -ben til SCL SDA på Arduino (pin A5 er SCL, pin A4 er SDA)
DS3231 RTC -modul VCC til 5V, GND til jord, SCL SDA -ben til SCL SDA på Arduino (der er 2. sæt placeret over GND- og AREF -benene på de fleste Arduino'er)
Jeg ved, at nogle af jer ikke får brug for mere information end dette og skitsen vedhæftet nedenfor, men jeg vil gå i detaljer mere for alle, der gerne vil have lidt yderligere hjælp.
Trin 3: Føj nødvendige biblioteker til Arduino IDE
Arduino Sketch til at køre alarmen bruger nogle biblioteker, der ikke allerede er installeret på Arduino IDE som standard.
For at tilføje RCSwitch -bibliotek til Arduino IDE. Åbn Arduino IDE i topmenuen, vælg "Skitse", vælg derefter "Inkluder bibliotek" i rullemenuen, og vælg "Administrer biblioteker" fra den næste rullemenu. Skriv derefter "RCSW" i boksen "Filtrer din søgning", klik derefter på installer for "rc-switch by sui77"
Detaljerede instruktioner om tilføjelse af biblioteker på
Mens vi er i gang, skal vi også tilføje bibliotekerne kaldet Time, TimeAlarms, DS1307RTC og LiquidCrystal_I2C, samme procedure som ovenfor, men søger efter navnet på hvert nyt bibliotek og installerer. Se skærmbilleder ovenfor, hvis du er i tvivl om, hvilke biblioteker der skal bruges.
DS3231 real-time uret er kompatibelt med og bruger DS1307RTC-biblioteket.
Trin 4: Næste skal vi få koderne til dine sensorer
Jeg har angivet skabelonen for Arduino -koden herunder, men du bliver nødt til at finde værdierne for hver af dine sensorer og indsætte dem i koden.
Der er omfattende information om, hvordan man får disse koder på begge disse websteder;
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Men her er min forkortede version;
For at få de koder, dine sensorer og fjernbetjeninger sender, skal du vedhæfte Arduino som samlet i trin 1 til en pc via USB -kabel og åbne Arduino IDE. Gå derefter til Arduino IDE i rullemenuen "Filer", gå derefter til "Eksempler", rul ned på listen over eksempelskitser, indtil du finder "RCSWITCH", vælg derefter "ReceiveDemo_Advanced" -skitsen og upload den til Arduino. Når skitsen med succes er uploadet, åbnes den serielle skærm på Arduino IDE med den stadig fastgjort til din pc via USB. Aktiver nu den første af de sensorer, du vil have koden til, output fra RCSwitch vises i det serielle monitorvindue. Til dette projekt leder vi efter decimalkoderne som fremhævet i skærmbillede 2. Du bliver nødt til at udløse sensoren flere gange på udkig efter den decimalværdi, der oftest vises, nogle gange vil der være forskellige værdier blandet med sand værdi, dette er forårsaget ved interferens fra tilfældige radiobølger eller andre enheder, der arbejder på samme frekvens.
Bemærk sensorens decimalkode til brug i det næste trin. Gentag for alle de sensorer og fjernbetjeninger, du vil bruge i projektet, og hold styr på, hvilken kode der følger med hvilken sensor. Hvis du bruger fjernbetjeninger til at aktivere og deaktivere alarmen, skal du notere de forskellige koder for armknappen og frakoblingsknappen på hver fjernbetjening.
Trin 5: Arduino -kodeskabelon
Nedenfor er en kopi af min Arduino -kode som en.ino -fil kaldet Wireless_Alarm. Du kan klikke på det, og det skal åbne i Arduino IDE. Jeg er ikke en programmør, min kode er delvist samlet fra eksemplerne i Arduino IDE, den er nok ikke særlig elegant, men den virker og har været pålidelig i lang tid.
Husk at gemme skitsen igen, når du har foretaget ændringerne for at inkludere koderne fra dine egne sensorer.
Trin 6: Indsæt de koder, du opnåede i trin 5, i skabelonen Arduino Sketch
Nu er trinene til at tilpasse koden til de sensorer og fjernbetjeninger, du bruger.
Hvis du åbner Wireless_Alarm -skitsen i din IDE, vil du se på linje 111.
hvis (mySwitch.getReceivedValue () == 115166236) // Fob arm -knapkode
Hvor den i den eksisterende kode læser 115166236, skal du erstatte dette tal med decimalkode til armknappen på din fjernbetjening, som du optog i trin 5.
For eksempel hvis du i trin 5 fik en decimal 1154321, ville du ændre linje 111 til nu at læse;
hvis (mySwitch.getReceivedValue () == 1154321) // Fob -arm -knapkode
Følg samme procedure for linje 125.
hvis (mySwitch.getReceivedValue () == 115166234) // Fob deaktiver knapkode
Erstat 115166234 koden for din fjernbetjening til fjernbetjening af fjernbetjening, som du optog i trin 5.
Hvis du vil bruge flere fjernbetjeninger til at til- og frakoble, skal du kopiere og indsætte linjer 111 til 136 så mange gange som krævet, og derefter ændre værdier, så de passer til dine andre fjernbetjeninger, men det er bedst at starte med en fjernbetjening, indtil du er sikker på, at du har ændret skitse virker.
Nu til kodning af alarmsensorerne i skitsen på linje 140
if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Handling til signalafsender kontorskab
Tag 1151640 ud, og indsæt decimalværdien af en af dine alarmsensorer.
Derefter på linje 158.
lcd.print (F ("Kontorskab")); // udskriv besked til lcd for at vide, hvilken sensor der blev aktiveret (og gå og find indbrudstyven:)
Skift Office -skabet til det, du nogensinde vil have vist på LCD'en for den pågældende sensor. For eksempel, hvis du vil have den til at læse kitchendoor, får linjen til at se sådan ud;
lcd.print (F ("Kitchendoor")); // udskriv besked til lcd for at vide, hvilken sensor der blev aktiveret (og gå og find indbrudstyven:)
Navne må ikke overstige 16 tegn.
Mellem linje 165 og 187 er der en skabelon til at kopiere og indsætte så mange gange som nødvendigt på linjerne direkte under 187. Udskift nummeret efter mySwitch.getReceivedValue () == med decimalen for en af dine andre sensorer, som du registrerede i trin 5 og skift navn inden for "" i lcd.print (F ("sensornamehere")); til det navn, du vil give din sensor.
Hvis du ikke bruger fjernbetjeninger til at aktivere og deaktivere din alarm, kan du bare ignorere linjer 111-136 eller sætte // i starten af hver af de uønskede linjer, og Arduino vil ikke læse dem.
Husk at gemme filen, når du har foretaget dine ændringer.
Trin 7: Upload den ændrede.ino til din Arduino og test
Med Arduino stadig forbundet til din pc via USB, uploades skitsen til Arduino Board. Når overførslen er gennemført, skal LCD'en læse "Alarm On Disarmed". Tryk på armknappen på din fjernbetjening, og LCD'et skal vise "Alarm tilkoblet", og LED'en skal lyse for at fortælle dig, at den er tilkoblet, udløs nu en sensor, mens den er tilkoblet, LCD skal læse Alarm, følg med et tidsstempel og placeringen af sensoren, skal bipperen lyde i 2 minutter, medmindre du trykker på frakoblingsknappen. Hvis du ikke får dette resultat, skal du kontrollere de koder, du fik i trin 5, og de ændringer, du foretog i koden i det foregående trin, også kontrollere ledningerne til alle komponenter igen. Hvis LCD'en slet ikke læser, er der en kontrastjustering på bagsiden af LCD -modulet. Når kontrasten er indstillet korrekt, hvis LCD -skærmen stadig ikke læser, kan du prøve at ændre LCD -adressen fra 0x3f til 0x27 på linje 12 i skitsen. LCD fejlfinding her I2C LCD tutorial
Trin 8: Indstilling af klokkeslæt på RTC -modul og ændring af til- og frakoblingstider
Forhåbentlig var din RTC allerede indstillet med det korrekte tidspunkt, men hvis IDE ikke åbnes, skal du vælge 'File' og klikke på 'Eksempler' i rullemenuen, rulle ned til 'DS1307RTC' og vælge 'SetTime' skitse, downloade skitsen til din Arduino, og det indstiller realtidsuret med tiden fra din pc. Du skal derefter genindlæse Wireless_Alarm -skitsen til din Arduino.
Den Wireless_Alarm.ino, jeg har leveret, vil som standard indstille alarmen til at aktivere automatisk kl. 22.15 hver nat og frakoble kl. 6.00 hver morgen. Hvis du vil ændre disse tider, skal du ændre skitsen på linje 71 og 72. Tiden er i parentes efter Alarm.alarmRepeat i formatet HH, MM, SS. ændre dette til den tid, der passer dig.
Alarm.alarmRepeat (6, 00, 0, MorningAlarm); // DISARM -tid
Alarm.alarmRepeat (22, 15, 0, EveningAlarm); // ARM -tid
Så for at ændre afvæbningstiden til 9.15 og armtiden til 17.30 vil koden se sådan ud
Alarm.alarmRepeat (9, 15, 0, MorningAlarm); // DISARM -tid
Alarm.alarmRepeat (17, 30, 0, EveningAlarm); // ARM -tid
Hvis du ikke vil have alarmen til og fra, skal du automatisk sætte // foran de 2 linjer, og de vil ikke blive brugt.
//Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // DISARM -tid
//Alarm.alarmRepeat(22, 15, 0, EveningAlarm); // Armtid
Det tidspunkt, hvor alarmsignalet lyder, kan ændres ved at ændre linje 22
konstant langt interval = 120000; // for millis forsinkelse for alarmenes længde
Intervallet er i millisekunder, så 120000 = 120 sekunder, ændring af 120000 til 30000 ville få alarmen til at lyde i 30 sekunder.
En solenoid til at køre en sirene, stroboskoplys, højvolumen bipper osv. Kan også forbindes til pin 7 eller pin 9 og vil køre i "intervallet" som angivet ovenfor. Husk den maksimale belastning for en Arduino pin ikke må overstige 40mA.
Trin 9: Yderligere bemærkninger
Når du vælger et 433 eller 315 MHz modtagermodul til Arduino, skal du vælge frekvensen, der matcher de alarmsensorer, du agter at bruge. Jeg foreslår, at du køber et modul, der leveres med en lille spiralformet antenne for den bedste ydeevne, alternativt øger en 17,3 mm lang lige trådantenne også ydeevnen.
Med 16x2 LCD -modulet skal du bruge et 4 -polet I2C LCD for at bruge instruktionerne og koden, jeg giver her, det kan laves med et 16 -pins standard LCD, men det fungerer ikke med ledningerne eller koden her.
Trådløse alarmreedkontakter, bevægelsessensorer og fjernbetjeninger til nøglen skal være 433Mhz eller 315Mhz for at matche den receiver, du har til hensigt at bruge, og bør bruge PT2262- eller EV1527 -kodning.
Alarmen kan udvides og tilpasses, jeg har allerede tilføjet et SD -kort til optagelse, når sensorer udløses, ændret LCD'et til kun at lyse, når der holdes en knap og tilføjede en 100dB sirene, men har ikke inkluderet detaljer her for at beholde artiklen som kort og enkelt som muligt. Jeg håber at dele det arbejde, jeg har udført med denne alarm, er til nogen nytte for andre.
Besvarer gerne alle spørgsmål.
Tak.
Anbefalede:
Eftermonteringslamper med fjernbetjening - Eksisterende vægkontakter Bliv ved med at arbejde: 8 trin
Eftermonteringslamper med fjernbetjening - Eksisterende vægkontakter Bliv ved med at arbejde: Opdater 4. oktober 2017 - Se Fjernstyret lyskontakt - Eftermontering. Lyskontakt fungerer stadig, ingen ekstra skrivning til en forbedret Bluetooth Low Energy (BLE) version. Opdatering 8. november 2016 - Opdateret med ændringer foretaget i eftermonterede ventilatortimer -projekt
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores
Pool Pi Guy - AI -drevet alarmsystem og poolovervågning ved hjælp af Raspberry Pi: 12 trin (med billeder)
Pool Pi Guy - AI -drevet alarmsystem og poolovervågning ved hjælp af Raspberry Pi: At have en pool derhjemme er sjovt, men medfører et stort ansvar. Min største bekymring er at overvåge, om nogen er i nærheden af poolen uden opsyn (især yngre børn). Min største irritation er at sørge for, at poolvandsledningen aldrig går under pumpens indgang
Omvendt parkeringsassistent i garagen ved hjælp af eksisterende sikkerhedssensor og analogt kredsløb: 5 trin
Omvendt parkeringsassistent i garagen ved hjælp af eksisterende sikkerhedssensor og analogt kredsløb: Jeg formoder, at mange opfindelser i menneskehedens historie blev gjort på grund af klagende koner. Vaskemaskine og køleskab virker bestemt som levedygtige kandidater. Min lille " opfindelse " beskrevet i denne instruktionsbog er en elektronisk