Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Rekvisita
- Trinn 2: Koble opp Ardunio og modulene som vist på bildet
- Trinn 3: Legg til nødvendige biblioteker i Arduino IDE
- Trinn 4: Neste må vi få kodene for sensorene dine
- Trinn 5: Arduino -kodemal
- Trinn 6: Lim inn kodene du fikk i trinn 5 i Arduino -malen
- Trinn 7: Last opp den endrede.inoen til din Arduino og test
- Trinn 8: Innstilling av klokkeslett for RTC -modul og endring av arm og frakoblingstid
- Trinn 9: Tilleggsmerknader
Video: Arduino trådløst alarmsystem som bruker eksisterende sensorer: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Dette prosjektet kan bygges på omtrent en halv time til en pris av omtrent $ 20,00 hvis du har eksisterende 433Mhz eller 315Mhz trådløse alarmsensorer.
Det kan også være et komplett nytt prosjekt med trådløse alarmsensorer, for eksempel infrarøde bevegelsesdetektorer og sivbrytere, enkelt og billig tilgjengelig online. Bare søk etter 433Mhz eller 315Mhz sensorer som bruker PT2262 eller EV1527 koding.
Jeg er sikker på at det er mange som meg som har kjøpt et GSM/2G alarmsystem med trådløse sensorer og var fornøyd med det, men da 2G/GSM -nettverket ble slått av der jeg bor, sto jeg igjen med et alarmsystem jeg kunne ikke lenger programmere eller til og med stille tiden på den. En dag mens jeg lurte på hva jeg kunne gjøre for å gjøre alarmen min funksjonell igjen, tenkte jeg på å sjekke om en Arduino kunne motta signaler fra sensorene. Jeg snublet over en ustrubar https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ og etter noen eksperimenter bestemte jeg at jeg kunne motta signalene fra mine eksisterende sensorer. Jeg begynte prosessen med å bygge et alarmsystem som kunne erstatte min eksisterende alarm og også ville gi økt funksjonalitet. Et av problemene med den gamle alarmen var faktisk aldri å vite nøyaktig hvilken av de 25 sensorene som gikk av, ved å legge til en LCD -skjerm i min nye alarmbygg får jeg nå tekst på LCD -en som angir nøyaktig hvilken sensor som ble aktivert. Den nye alarmen kan fremdeles bevæpnes manuelt av mine eksisterende trådløse fjernkontroller og har en sanntidsklokke slik at den automatisk kan kobles til og fra på forhåndsinnstilte tidspunkt på dagen.
Rekvisita
Se ytterligere merknader på slutten for å sikre at du bruker riktig versjon av disse delene.
Arduino Uno eller lignende
433 eller 315 MHz mottakermodul for Arduino
DS3231 sanntidsklokke -modul for Arduino
I2C 16x2 LDC -modul for Arduino
Trådløse alarmreed -brytere, bevegelsessensorer og eksterne nøkkelbrikker etter ønske
Piezo summer
LED og 220 ohm motstand
Brødbrett (valgfritt, men anbefalt)
Passende strømforsyning for Arduino
Stikkledninger osv
PC med Arduino IDE installert
Grunnleggende kunnskap om Arduino
Trinn 1: Rekvisita
Noen bilder ovenfor av rekvisita du trenger for dette prosjektet
Trinn 2: Koble opp Ardunio og modulene som vist på bildet
Piezo mellom pin 5 på Arduino og jorden
LED mellom pin 8 på Arduino og til en 220ohm motstand og deretter til jorden
433 eller 315 Mhz mottaker, VCC til 5V, GND til jord og enten en av de 2 datapinnene til pin2 på Arduino
I2C 16X2 LCD -modul VCC til 5V, GND til bakken, SCL SDA -pinner til SCL SDA på Arduino (pin A5 er SCL, pin A4 er SDA)
DS3231 RTC -modul VCC til 5V, GND til bakken, SCL SDA -pinner til SCL SDA på Arduino (det er andre sett plassert over GND- og AREF -pinnene til de fleste Arduino -er)
Jeg vet at noen av dere ikke trenger mer informasjon enn dette og skissen vedlagt nedenfor, men jeg vil gå nærmere inn på detaljene for alle som ønsker litt mer hjelp.
Trinn 3: Legg til nødvendige biblioteker i Arduino IDE
Arduino Sketch for å kjøre alarmen bruker noen biblioteker som ikke allerede er installert på Arduino IDE som standard.
For å legge RCSwitch -biblioteket til Arduino IDE. Åpne Arduino IDE i toppmenyen, velg "Sketch", velg deretter "Inkluder bibliotek" fra rullegardinmenyen, og velg "Administrer biblioteker" fra den neste rullegardinmenyen. I boksen "Filtrer søket" skriver du deretter "RCSW", og deretter klikker du på installer for "rc-switch by sui77"
Detaljerte instruksjoner for å legge til biblioteker på
Mens vi er i gang må vi også legge til bibliotekene Time, TimeAlarms, DS1307RTC og LiquidCrystal_I2C, samme prosedyre som ovenfor, men søker etter navnet på hvert nytt bibliotek og installerer. Se skjermbilder ovenfor hvis du er usikker på hvilke biblioteker du skal bruke.
DS3231 sanntidsklokke er kompatibel med og bruker DS1307RTC-biblioteket.
Trinn 4: Neste må vi få kodene for sensorene dine
Jeg har gitt malen for Arduino -koden nedenfor, men du må finne verdiene for hver av sensorene dine og lime dem inn i koden.
Det er omfattende informasjon om hvordan du får disse kodene på begge disse nettstedene;
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Men her er min forkortede versjon;
For å få kodene sensorene og fjernkontrollene sender, fest Arduino som montert i trinn 1 til en PC via USB -kabel og åpne Arduino IDE. Deretter går du til Arduino IDE i rullegardinlisten "Fil", deretter går du til "Eksempler", ruller nedover listen over eksempelskisser til du finner "RCSWITCH", velger deretter "ReceiveDemo_Advanced" -skissen og laster den opp til Arduino. Når skissen har lastet opp, åpner du den serielle skjermen til Arduino IDE med den fremdeles festet til PC -en din via USB. Nå utløser den første av sensorene du vil få koden for, utgangen fra RCSwitch vil vises i det serielle skjermvinduet. For dette prosjektet leter vi etter desimalkodene som er markert i skjermbilde 2. Du må utløse sensoren flere ganger på jakt etter desimalverdien som vises oftest, noen ganger vil det være forskjellige verdier blandet med sann verdi, dette er forårsaket ved interferens fra tilfeldige radiobølger eller andre enheter som opererer på samme frekvens.
Legg merke til desimalkoden til sensoren for bruk i neste trinn. Gjenta for alle sensorene og fjernkontrollene du vil bruke i prosjektet, og følg med hvilken kode som følger med hvilken sensor. Hvis du bruker fjernkontroller for å aktivere og deaktivere alarmen, må du legge merke til de forskjellige kodene for armknappen og frakoblingsknappen på hver fjernkontroll.
Trinn 5: Arduino -kodemal
Nedenfor er en kopi av min Arduino -kode som en.ino -fil kalt Wireless_Alarm. Du kan klikke på den, og den skal åpne i Arduino IDE. Jeg er ikke en programmerer, koden min er delvis satt sammen fra eksemplene i Arduino IDE, den er sannsynligvis ikke spesielt elegant, men den fungerer og har vært pålitelig over lang tid.
Husk å lagre skissen på nytt etter at du har gjort endringene for å inkludere kodene fra dine egne sensorer.
Trinn 6: Lim inn kodene du fikk i trinn 5 i Arduino -malen
Nå er trinnene for å tilpasse koden for sensorene og fjernkontrollene du bruker.
Hvis du åpner Wireless_Alarm -skissen i IDE -en din, vil du se på linje 111.
hvis (mySwitch.getReceivedValue () == 115166236) // Fob -arm -knappkode
Hvor den eksisterende koden leser 115166236, må du erstatte dette tallet med desimalkode for armknappen på fjernkontrollen som du spilte inn i trinn 5.
For eksempel hvis du i trinn 5 fikk en desimal 1154321, ville du endre linje 111 til å nå lese;
if (mySwitch.getReceivedValue () == 1154321) // Fob -armknappkode
Følg samme prosedyre for linje 125.
hvis (mySwitch.getReceivedValue () == 115166234) // Fob deaktiver knappekode
Erstatt 115166234 med koden til den eksterne fjernkontrollen for frakobling av fjernkontrollen som du registrerte i trinn 5.
Hvis du vil bruke flere fjernkontroller for å tilkoble og frakoble, kopier og lim inn linjer 111 til 136 så mange ganger som nødvendig, og endre deretter verdiene som passer til de andre fjernkontrollene, men det er best å starte med en fjernkontroll til du er sikker på at den er endret skissen fungerer.
Nå til koding av alarmsensorene i skissen på linje 140
if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Handling for signalavsender kontorskap
Ta ut 1151640 og sett inn desimalverdien til en av alarmsensorene dine.
Deretter på linje 158.
lcd.print (F ("Kontorskap")); // skriv ut melding til lcd for å vite hvilken sensor som ble aktivert (og gå og finn innbruddstyven:)
Bytt Office -skapet til det du noen gang vil at skal vises på LCD -skjermen for den sensoren. For eksempel hvis du vil at den skal lese kitchendoor, gjør linjen slik:
lcd.print (F ("Kitchendoor")); // skriv ut melding til lcd for å vite hvilken sensor som ble aktivert (og gå og finn innbruddstyven:)
Navn bør ikke overstige 16 tegn.
Mellom linje 165 og 187 er en mal for å kopiere og lime inn så mange ganger som nødvendig til linjene rett under 187. Erstatt nummeret etter mySwitch.getReceivedValue () == med desimalen til en av de andre sensorene som du registrerte i trinn 5 og endre navn i "" i lcd.print (F ("sensornamehere")); til navnet du vil gi sensoren din.
Hvis du ikke bruker eksterne fjernkontroller for å aktivere og deaktivere alarmen, kan du bare ignorere linje 111-136 eller sette // i begynnelsen av hver av de uønskede linjene, og Arduino vil ikke lese dem.
Husk å lagre filen etter at du har gjort endringene.
Trinn 7: Last opp den endrede.inoen til din Arduino og test
Med Arduino fortsatt koblet til PC -en din via USB, last opp skissen til Arduino Board. Når opplastingen er fullført, skal displayet lese "Alarm On Disarmed". Trykk på armknappen på fjernkontrollen, og LCD -skjermen skal lese "Alarm On Armed", og LED -lampen skal lyse for å gi deg beskjed om at den er tilkoblet, nå skal du utløse en sensor mens den er tilkoblet, LCD -en skal lese Alarm, følg med et tidsstempel og plasseringen av sensoren, skal piperen lyde i 2 minutter med mindre du trykker på frakoblingsknappen. Hvis du ikke får dette resultatet, må du sjekke kodene du fikk i trinn 5 og endringene du gjorde i koden i forrige trinn, også sjekke ledningene til alle komponentene på nytt. Hvis LCD -skjermen ikke leser i det hele tatt, er det en kontrastjustering på baksiden av LCD -modulen. Når kontrasten er riktig angitt hvis LCD -skjermen fremdeles ikke leser, prøv å endre LCD -adressen fra 0x3f til 0x27 på linje 12 i skissen. LCD -feilsøking her I2C LCD -opplæring
Trinn 8: Innstilling av klokkeslett for RTC -modul og endring av arm og frakoblingstid
Forhåpentligvis var RTC -en din allerede angitt med riktig tid, men hvis du ikke åpner IDE, velger du "File" og klikker på "Eksempler" fra rullegardinmenyen, ruller ned til "DS1307RTC" og velger "SetTime" -skissen, laster ned skissen til din Arduino og den vil stille sanntidsklokken med tiden fra din PC. Du må deretter laste Wireless_Alarm -skissen på nytt til Arduino.
Wireless_Alarm.ino jeg har levert vil som standard sette alarmen til å slå seg på automatisk kl. 22.15 hver kveld og frakoble kl. 06.00 hver morgen. For å endre disse tidene, endre skissen på linje 71 og 72. Tiden er i parentes etter Alarm.alarmRepeat i formatet HH, MM, SS. endre dette til den tiden som passer deg.
Alarm.alarmRepeat (6, 00, 0, MorningAlarm); // DISARM -tid
Alarm.alarmRepeat (22, 15, 0, EveningAlarm); // ARM -tid
Så for å endre avvæpningstiden til 9.15 og armtiden til 17.30 vil koden se slik ut
Alarm.alarmRepeat (9, 15, 0, MorningAlarm); // DISARM -tid
Alarm.alarmRepeat (17, 30, 0, EveningAlarm); // ARM -tid
Hvis du ikke vil at alarmen skal aktiveres og frakobles, settes // // foran de to linjene, og de blir ikke brukt.
//Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // DISARM -tid
//Alarm.alarmRepeat(22, 15, 0, EveningAlarm); // Armtid
Tiden alarmsignalet høres kan endres ved å endre linje 22
konstant langt intervall = 120000; // for millis forsinkelse for hvor lang tid alarm lyder
Intervallet er i millisekunder, så 120000 = 120 sekunder, endring av 120000 til 30000 ville få alarmen til å lyde i 30 sekunder.
En solenoid for å kjøre en sirene, stroboskoplys, høyt volum pip osv. Kan også kobles til pin 7 eller pin 9 og vil kjøre for "intervallet" som angitt ovenfor. Husk at maksimal belastning for en Arduino -pinne ikke skal overstige 40mA.
Trinn 9: Tilleggsmerknader
Når du velger en 433 eller 315 MHz mottakermodul for Arduino, bør du velge frekvensen som passer til alarmsensorene du har tenkt å bruke. Jeg foreslår at du kjøper en modul som følger med en liten spiralformet antenne for best ytelse, alternativt øker en 17,3 mm lang rett trådantenne også ytelsen.
Med 16x2 LCD -modulen må du bruke en 4 -pinners I2C LCD for å bruke instruksjonene og koden jeg gir her, den kan lages med en 16 -pinners standard LCD, men den fungerer ikke med ledninger eller kode her.
Trådløse alarmreed -brytere, bevegelsessensorer og eksterne nøkkelbrikker bør være 433Mhz eller 315Mhz for å matche mottakeren du har tenkt å bruke, og bør bruke PT2262- eller EV1527 -koding.
Alarmen kan utvides og tilpasses, jeg har allerede lagt til et SD -kort for å registrere når sensorer utløses, endret LCD -en for å bare lyse når en knapp holdes og la til en 100dB sirene, men har ikke inkludert detaljer her for å beholde artikkelen som kort og enkelt som mulig. Jeg håper å dele arbeidet jeg har gjort med denne alarmen er til nytte for andre.
Svarer gjerne på spørsmål.
Takk.
Anbefalt:
Lydspiller som bruker Arduino med Micro SD -kort: 7 trinn (med bilder)
Lydspiller som bruker Arduino med Micro SD -kort: Vennligst abonner på kanalen min for flere prosjekter ……………………. Mange ønsker å koble til SD -kortet med arduino eller ønsker litt lydutgang via arduino.Så her er den enkleste og billigste måten å koble til SD -kort med arduino. du kan oss
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter - Rc Helikopter - RC -fly som bruker Arduino: 5 trinn (med bilder)
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter | Rc Helikopter | Rc -fly ved bruk av Arduino: For å betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båt, vi trenger alltid en mottaker og sender, anta at for RC QUADCOPTER trenger vi en 6 -kanals sender og mottaker, og den typen TX og RX er for kostbar, så vi lager en på vår
Et lite alarmsystem som bruker et super -lite Arduino -kompatibelt bord !: 10 trinn
Et lite alarmsystem som bruker et Super Tiny Arduino -kompatibelt bord !: Hei, i dag skal vi lage et lite kult prosjekt. Vi skal bygge en liten alarmanordning som måler avstanden mellom seg selv og et objekt foran den. Og når objektet beveger seg forbi en angitt avstand, vil enheten varsle deg med en
IOT røykvarsler: Oppdater eksisterende røykvarsler med IOT: 6 trinn (med bilder)
IOT røykdetektor: Oppdater eksisterende røykdetektor med IOT: Liste over bidragsytere, Oppfinner: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Veileder: Dr Chia Kim Seng Institutt for mekanisk og robotteknikk, Fakultet for elektrisk og elektronisk ingeniørfag, Universiti Tun Hussein Onn Malaysia.Distribuer
Hvordan lage en autonom basketballball som bruker en IRobot Lag som base: 7 trinn (med bilder)
Slik lager du en autonom basketballball som bruker en IRobot Lag som base: Dette er min oppføring for iRobot Create -utfordringen. Den vanskeligste delen av hele denne prosessen for meg var å bestemme hva roboten skulle gjøre. Jeg ønsket å demonstrere de kule funksjonene i Create, samtidig som jeg la til litt robo -teft. Alle mine