Alarmkrets for å gi til arduino. Arduino-basert trådløs alarm

I løpet av det siste tiåret har biltyverier inntatt en av de viktigste stedene i strukturen av forbrytelser begått i verden. Dette skyldes ikke så mye den spesifikke vekten til denne kategorien tyveri i forhold til det totale antallet forbrytelser, men betydningen av skadene forårsaket på grunn av de høye kostnadene for biler. Den svake effektiviteten av tiltak som ble tatt i feltet for å bekjempe kjøretøytyveri på slutten av 90-tallet førte til opprettelsen av stabile grupper som spesialiserer seg på å utføre disse forbrytelsene og besitter særegne trekk organisert kriminalitet; du har sikkert hørt begrepet "svart bilvirksomhet". Parkeringsplassen til europeiske stater mangler årlig ≈ 2 % av bilene som blir gjenstand for kriminelle inngrep. Derfor fikk jeg ideen om å lage en gsm-alarm til bilen min på Arduino base Uno.

La oss komme i gang!

Hva skal vi samle inn

Vi må velge hjertet av systemet vårt. Etter min mening er det ikke noe bedre for slik signalering enn Arduino Uno. Hovedkriteriet er nok"Pins" og pris.


Nøkkelfunksjoner i Arduino Uno

Mikrokontroller - ATmega328
Arbeidsspenning - 5 V
Inngangsspenning (anbefalt) - 7-12 V
Inngangsspenning (grense) - 6-20 V
Digitale innganger / utganger - 14 (6 av disse kan brukes som PWM-utganger)
Analoge innganger - 6
DC strøm gjennom inngang / utgang - 40 mA
DC strøm for 3,3 V pin - 50 mA
Flash-minne - 32KB (ATmega328) hvorav 0,5KB brukes til oppstartslaster
RAM - 2 KB (ATmega328)
EEPROM - 1 KB (ATmega328)
Klokkefrekvens - 16 MHz


Passer inn!

Nå må du velge en gsm-modul, for alarmsystemet vårt skal kunne varsle eieren av bilen. Så, du må google det ... Her, en utmerket sensor - SIM800L, størrelsen er bare fantastisk.


Jeg tenkte og bestilte den fra Kina. Alt viste seg imidlertid å ikke være så rosenrødt. Sensoren nektet rett og slett å registrere SIM-kortet på nettverket. Alt som var mulig ble prøvd – resultatet ble null.
Funnet snille mennesker som ga meg mer kule ting- Sim900 Shield. Dette er allerede en alvorlig ting. The Shield har en mikrofon og hodetelefonkontakt, en fullverdig telefon.


Hovedtrekkene til Sim900 Shield

4 standarder for arbeidsfrekvens 850/900/1800/1900 MHz
GPRS multi-slot klasse 10/8
GPRS mobilstasjon klasse B
Samsvar med GSM fase 2/2+
Klasse 4 (2 W @ 850/900 MHz)
Klasse 1 (1 W @ 1800 / 1900 MHz)
Styres av AT-kommandoer (GSM 07.07, 07.05 og SIMCOM utvidede AT-kommandoer)
Lavt strømforbruk: 1,5mA (hvilemodus)
Driftstemperaturområde: -40 °C til +85 °C


Passer inn!

Ok, men du må ta avlesninger fra noen sensorer for å varsle eieren. Plutselig er bilen evakuert, da vil posisjonen til bilen åpenbart endre seg i rommet. La oss ta et akselerometer og et gyroskop. Fint. Dachs, nå ser vi etter en sensor.

Jeg tror GY-521 MPU6050 definitivt vil passe. Det viste seg at den også har en temperatursensor. Det ville være nødvendig å bruke det, det vil være en slik "killer-funksjon". Anta at eieren av bilen la den under huset og dro. Temperaturen inne i bilen vil endre seg "jevnt". Hva skjer hvis en angriper prøver å bryte seg inn i en bil? For eksempel vil han kunne åpne døren. Temperaturen i bilen vil begynne å endre seg raskt, ettersom luften i kabinen begynner å blande seg med luft. miljøet... Jeg tror det vil fungere.


Hovedtrekkene til GY-521 MPU6050

3-akset gyroskopmodul + 3-akset akselerometer GY-521 på MPU-6050-brikken. Lar deg bestemme posisjonen og bevegelsen til et objekt i rommet, vinkelhastigheten under rotasjon. Den har også en innebygd temperatursensor. Den brukes i ulike coptre og flymodeller, det er også mulig å sette sammen et motion capture system basert på disse sensorene.

Mikrokrets - MPU-6050
Forsyningsspenning - fra 3,5V til 6V (DC);
Gyroskopområde - ± 250 500 1000 2000 ° / s
Akselerometerområde - ± 2 ± 4 ± 8 ± 16g
Kommunikasjonsgrensesnitt - I2C
Størrelse - 15x20 mm.
Vekt - 5 g


Passer inn!

En vibrasjonssensor er også nyttig. Plutselig vil de prøve å åpne bilen med "brute force", eller på parkeringsplassen vil en annen bil berøre bilen din. Ta vibrasjonssensoren SW-420 (justerbar).


Hovedfunksjoner SW-420

Forsyningsspenning - 3,3 - 5V
Utgangssignal - digital høy / lav (normalt lukket)
Brukt sensor - SW-420
Komparator brukt - LM393
Mål - 32x14mm
I tillegg - Det er en justeringsmotstand.


Passer inn!

Skru på SD-minnekortmodulen. Vi vil også skrive en loggfil.


Hovedkarakteristika for SD-minnekortmodulen

Modulen lar deg lagre, lese og skrive til SD-kortet dataene som kreves for driften av enheten basert på mikrokontrolleren. Bruken av enheten er relevant ved lagring av filer fra titalls megabyte til to gigabyte. Brettet inneholder en SD-kortbeholder, en kortstrømstabilisator, en kontakt for grensesnittet og strømledninger. Hvis du trenger å jobbe med lyd, video eller andre volumetriske data, for eksempel føre en logg over hendelser, sensordata eller lagre informasjon fra en webserver, så vil SD-minnekortmodulen til Arduino gjøre det mulig å bruke et SD-kort for disse formålene. Ved å bruke modulen kan du studere funksjonene til SD-kortet.
Forsyningsspenning - 5 eller 3,3 V
SD-kort minnekapasitet - opptil 2 GB
Dimensjoner - 46 x 30 mm


Passer inn!

Og legg til en servo, når sensorene utløses, vil servoen med en videoopptaker snu og ta opp video av hendelsen. Ta MG996R servo.


Hovedtrekkene til MG996R servo

Stabil og pålitelig beskyttelse fra skade
- Metalldrev
- Dobbeltrad kulelager
- Ledningslengde 300 mm
- Mål 40x19x43mm
- Masse 55 gr
- Rotasjonsvinkel: 120 grader.
- Arbeidshastighet: 0,17 sek / 60 grader (4,8V uten belastning)
- Arbeidshastighet: 0,13 sek / 60 grader (6V uten belastning)
- Startmoment: 9,4 kg/cm @ 4,8V
- Startmoment: 11 kg/cm ved 6V strømforsyning
- Arbeidsspenning: 4,8 - 7,2V
- Alle drivdeler er laget av metall


Passer inn!

Vi samler inn

Det er mange artikler om tilkobling av hver sensor i Google. Og jeg har ikke noe ønske om å komme med nye sykler, så jeg vil legge igjen linker til enkle og fungerende alternativer.

De er spesielle maskinvareplattformer som du kan lage forskjellige på grunnlag av elektroniske enheter, inkludert og. Enheter av denne typen utmerker seg med en enkel design og evnen til å programmere algoritmer for deres drift. Takket være dette, opprettet med Arduino GSM signalisering , kan konfigureres så mye som mulig for objektet den skal beskytte.

Hva er en Arduino-modul?

Arduinoer er implementert som små brett som har sin egen mikroprosessor og minne. Brettet inneholder også et sett med funksjonelle kontakter som du kan koble ulike elektrifiserte enheter til, inkludert sensorer som brukes til sikkerhetssystemer.

Arduino-prosessoren lar deg laste et program skrevet av brukeren selv. Ved å lage din egen unike algoritme kan du tilby optimale moduser arbeid av trygghetsalarmer for ulike objekter og for ulike forhold bruk og oppgaver som skal løses.

Er det vanskelig å jobbe med Arduino?

Arduino-moduler er veldig populære blant mange brukere. Dette er muliggjort av sin enkelhet og rimelighet.

Programmer for å administrere moduler skrives ved hjelp av vanlig C++ og tillegg i skjemaet enkle funksjoner kontroll av inn-/utgangsprosesser på modulkontaktene. I tillegg kan gratisprogramvaren Arduino IDE som opererer under Windows, Linux eller Mac OS også brukes til programmering.

Med Arduino-moduler har prosedyren for å montere enheter blitt kraftig forenklet. GSM-signalering på Arduino kan lages uten behov for loddebolt – montering skjer ved hjelp av brødbrett, jumpere og ledninger.

Hvordan lage en alarm med Arduino?

Hovedkravene som alarmsystemet opprettet av gsm på Arduino må oppfylle med egne hender inkluderer:

  • varsle eieren av anlegget om innbrudd eller penetrering;
  • Brukerstøtte eksterne systemer for eksempel lydsirene, varsellys;
  • alarmkontroll via SMS eller samtale;
  • autonom drift uten ekstern strømforsyning.

For å opprette en alarm trenger du:

  • Arduino modul;
  • et sett med funksjonelle sensorer;
  • eller et modem;
  • autonom strømforsyning;
  • eksterne utøvende enheter.

Et særtrekk ved Arduino-moduler er bruken av spesielle utvidelseskort. De brukes til å koble sammen alle ekstra enheter til Arduino, som kreves for å bygge sikkerhetssystemkonfigurasjonen. Slike brett er installert på toppen av Arduino-modulen i form av en "sandwich", og de tilsvarende hjelpeenhetene er koblet til selve brettene.

Hvordan det fungerer?

Når en av de tilkoblede sensorene utløses, sendes et signal til prosessoren til Arduino-modulen. Ved å bruke den innlastede tilpassede programvaren behandler mikroprosessoren den i henhold til en spesifikk algoritme. Som et resultat av dette kan det dannes en kommando for å betjene den eksterne aktuatoren, som overføres til den gjennom det tilsvarende utvidelsesgrensesnittkortet.

For å sikre muligheten for å sende varselsignaler til eieren av et hus eller en leilighet som blir voktet, er det en spesiell GSM-modul... Den installerer et SIM-kort fra en av leverandørene mobilnettet.

I fravær av en spesiell GSM-adapter, kan dens rolle spilles av en vanlig mobiltelefon... I tillegg til å sende SMS-meldinger med en advarsel om alarm og oppringing, vil tilstedeværelsen av mobilkommunikasjon tillate deg å administrere GSM-signalering på Arduino eksternt, samt overvåke tilstanden til objektet ved å sende spesielle forespørsler.

"Merk!

For kommunikasjon med eieren av objektet, i tillegg til GSM-moduler, kan vanlige modemer også brukes, som gir kommunikasjon via Internett."

I dette tilfellet, når sensoren utløses, overføres signalet som behandles av prosessoren via modemet til en spesiell portal eller nettside. Og allerede fra nettstedet utføres automatisk generering av en advarsels-SMS eller e-post til den koblede e-posten.

konklusjoner

Bruken av Arduino-moduler vil tillate brukere å uavhengig designe GSM-alarmer som kan fungere med forskjellige funksjonelle sensorer og kontrollere eksterne enheter. Takket være muligheten for å bruke ulike sensorer, kan alarmfunksjonene utvides betydelig og det kan opprettes et kompleks som vil overvåke ikke bare sikkerheten til anlegget, men også dets tilstand. Det vil for eksempel være mulig å kontrollere temperaturen på anlegget, registrere lekkasje av vann og gass, stenge tilførselen ved en ulykke, og mye mer.

I dag skal vi snakke om hvordan du bruker Arduinoå samle sikkerhetssystem ... Vår "vakt" vil vokte en krets og kontrollere en sirene.

For Arduino er ikke dette et problem, og som du vil se av programkoden og enhetsdiagrammet, kan du enkelt øke antall beskyttede tilgangspunkter og antall varslings- eller indikasjonsenheter.
Sikkerhetssystem kan brukes til å beskytte både store gjenstander (bygninger og strukturer) og små gjenstander (bokser, safer), og til og med bærbare vesker og kofferter. Selv om du må være mer forsiktig med sistnevnte, hvis du installerer et sikkerhetssystem, for eksempel på en koffert du bestemmer deg for å dra på tur med, og varslingssystemet går av på en eller annen flyplass, så tror jeg du vil ha en seriøs samtale med den lokale sikkerhetstjenesten :-)

Forenklet er prinsippet for drift av enheten som følger (fig. 1). Etter å ha slått på strømmen går enheten inn i driftsmodus og venter på tilkopling. Til- og frakobling utføres med én knapp. For å øke sikkerheten er det bedre å plassere denne knappen inne i det beskyttede området (safe eller boks). Før du slår på sikkerhetsmodus, må døren åpnes litt. Når sikkerhetsmodus er slått på (ved å trykke på knappen) elektronisk krets venter til du lukker døren til rommet (safedør, bokslokk osv.).

En endebryter av enhver type må installeres på døren (eller døren), mer om det senere. Ved å lukke (eller åpne), vil endebryteren informere enheten om at den beskyttede kretsen er lukket, og enheten vil bytte til aktivert modus. Systemet vil varsle om overgangen til sikkerhetsmodus med to korte signaler (som i bilalarmer). I denne modusen "fanger" enheten åpningen av døren. Etter å ha åpnet døren, venter systemet i noen sekunder (dette er en konfigurerbar verdi, for rom ca. ti sekunder, for en boks en eller to) for å deaktivere, hvis dette ikke skjer, slås sirenen på. Algoritmen og kretsen er utformet på en slik måte at du kan slå av sirenen bare ved å demontere kabinettet fullstendig og slå av strømmen.

Enhet sikkerhetssystem veldig enkelt (fig. 2). I hjertet av gebyret Arduino... Grensebryterne kobles som en vanlig knapp gjennom opptrekksmotstander. Jeg vil dvele ved grensebryterne separat. De er normalt lukket og normalt åpne. Du kan slå på en ordinær knapp som grensebryter, bare bevegelsen til den ordinære knappen er veldig stor, dørspillet er vanligvis større. Derfor er det nødvendig å komme opp med en slags pusher for knappen og fjær den for ikke å bryte knappen med døren. Vel, hvis ikke latskap, så kan du gå til butikken og kjøpe en magnetisk bryter (rørbryter) (fig. 3), den er ikke redd for støv og skitt.

En endebryter for bilalarm er også egnet (fig. 4). Det skal bemerkes at programmet er skrevet for en reed-bryter. På lukket dør dens kontakt er lukket. Hvis du bruker en bryter fra en bilalarm, så når døren er lukket, vil den mest sannsynlig være åpen, og på de riktige stedene i koden må du endre 0 til 1 og omvendt.

Som en sirene foreslår jeg å bruke en lydsirene PKI-1 IVOLGA hviterussisk produksjon (fig. 5). Forsyningsspenning 9 - 15 V, driftsstrøm 20 - 30 mA. Dette gjør at den kan brukes med batteristrøm. Samtidig "gir den ut" 95 - 105 dB.

Med slike egenskaper fra Krona-batteriet vil det lyde i flere titalls minutter. Jeg fant det på Internett for 110 rubler. Der koster en sivbryter med en magnet omtrent 30 rubler. Bilalarmbryteren i bildeler ble kjøpt for 28 rubler. KT315-transistoren kan tas med hvilken som helst bokstav eller erstattes med en hvilken som helst moderne laveffekts silisiumtransistor med passende konduktivitet. Hvis volumet til en sirene ikke er nok (hvem vet, kanskje du vil bli hørt i mange kilometer), kan du koble flere sirener parallelt eller ta en kraftigere, bare i dette tilfellet må transistoren erstattes med en mer kraftig en (for eksempel den kjente transistorenheten ULN2003). Som kontakter for å koble til en reed-bryter og en sirene, brukte jeg de enkleste kontaktene for lyd- / videoenheter - prisen på radiomarkedet er 5 rubler. for et par.

Kroppen til enheten kan limes fra plast eller kryssfiner; hvis en alvorlig gjenstand er bevoktet, er det bedre å lage den av metall. Batterier eller akkumulatorer bør plasseres inne i kassen for å øke påliteligheten og sikkerheten.

For å forenkle programkoden ble det ikke brukt energisparende elementer, og batteriene strekker ikke til i lang tid. Du kan optimalisere koden, eller enda bedre, radikalt endre den ved å bruke avbruddshendelsehåndtering og MK-dvalemodus. I dette tilfellet bør strømforsyningen fra to firkantede batterier koblet i serie (9 V) vare i flere måneder.

Nå koden

// konstanter
const int-knapp = 12; // pin for knappen
const int gerkon = 3; // pinne for sivbryter
const int sirena = 2; // pinkontroll av sirenen
const int led = 13; // indikatorstift
// variabler
int buttonState = 0; //-knappens tilstand
int gerkonState = 0; // tilstanden til reed-bryteren
int N = 0; // teller for frakoblingsknappen
ugyldig oppsett () (
// sirene og indikatorkontroll - exit
pinMode (sirene, OUTPUT);
pinMode (led, OUTPUT); // trykknapp og reed-bryter er innganger
pinMode (gerkon, INPUT);
pinMode (knapp, INPUT);
}
void loop () (
digitalWrite (led, HØY);
while (buttonState = = 0) (// vent loop til vi trykker på knappen
buttonState = digitalRead (knapp); // for å bytte til sikkerhetsmodus
}
digitalWrite (led, LAV);
buttonState = 0; // tilbakestill verdien på knappen
while (gerkonState = = 0) (// løkke til vi lukker døren

}
forsinkelse (500); // :-)
digitalWrite (sirena, HØY); // Kode
forsinkelse (100); // indikasjoner
digitalWrite (sirena, LAV); // inkluderer
forsinkelse (70); //-modus
digitalWrite (sirena, HØY); // vakt
forsinkelse (100); // varsling
digitalWrite (sirena, LAV); // lyd
while (gerkonState = = 1) (// vent til døren åpnes
gerkonState = digitalRead (gerkon);
}
for (int i = 0; i<= 5; i++){ // 7,5 секунды на нажатие
buttonState = digitalRead (knapp); // hemmelig knapp
if (buttonState = = HIGH) (// holde styr på vår egen - fremmed
N = N + 1;
}
forsinkelse (1500); // hemmelig funksjon :-)))
}
if (N> 0) (// viktigst
digitalWrite (sirena, LAV); // ikke slå på sirenen
}
annet (
digitalWrite (sirena, HØY); // eller slå på sirenen
}
digitalWrite (led, HØY); // slå på indikatoren N = 0;
buttonState = 0;
forsinkelse (15000); // påminnelse for dummies som liker
digitalWrite (led, LAV); // trykk på knappene uten avbruddsforsinkelse (1000);

God tid på dagen 🙂 I dag skal vi snakke om alarm. Tjenestemarkedet er fullt av selskaper, organisasjoner som er engasjert i installasjon og vedlikehold av sikkerhetssystemer. Disse firmaene tilbyr kjøperen et bredt utvalg av alarmsystemer. Imidlertid er kostnadene deres langt fra billige. Men hva skal en person som ikke har så mange personlige midler å gjøre som kan brukes på innbruddsalarm? Jeg tror konklusjonen tyder på seg selv - gjøre alarm av deres hender... Denne artikkelen gir et eksempel på hvordan du kan lage ditt eget kodede sikkerhetssystem ved å bruke et Arduino uno-kort og flere magnetiske sensorer.

Systemet kan deaktiveres ved å taste inn passordet fra tastaturet og trykke på * '. Hvis du vil endre gjeldende passord, kan du gjøre det ved å trykke på B', Og hvis du vil hoppe over eller avbryte operasjonen, kan du gjøre det ved å trykke på tasten ‘#’. Systemet har en summer for å spille av forskjellige lyder når du utfører en bestemt operasjon.

Systemet aktiveres ved å trykke på 'A'-knappen. Systemet gir 10 sekunder på seg til å forlate lokalene. Etter 10 sekunder vil alarmen bli aktivert. Antall magnetiske sensorer vil avhenge av din eget ønske... Prosjektet involverer 3 sensorer (for to vinduer og en dør). Når vinduet åpnes, aktiveres systemet og alarmen går fra summeren. Systemet kan deaktiveres ved å taste inn et passord. Når døren åpnes gir alarmen den besøkende 20 sekunder på å taste inn passordet. Systemet bruker ultralydsensor som kan oppdage bevegelse.

Video av enhetens drift

Håndverk laget for informasjons-/pedagogiske formål. Hvis du vil bruke den hjemme, må du finpusse den. Omslutt kontrollenheten i et metallhus og sikre kraftledningen mot mulig skade.

La oss komme i gang!

Trinn 1: hva vi trenger

  • Arduino uno bord;
  • LCD-skjerm med høy kontrast 16 × 2;
  • 4 × 4 tastatur;
  • 10 ~ 20kΩ potensiometer;
  • 3 magnetiske sensorer (de er også reed-brytere);
  • 3 2-pinners skrueterminaler;
  • HC-SR04 ultralyd sensor;

Hvis du vil bygge et system uten å bruke en Arduino, trenger du også følgende:

  • DIP-kontakt for atmega328 + atmega328 mikrokontroller;
  • 16MHz krystallresonator;
  • 2 stk. 22pF keramikk, 2 stk. 0,22uF elektrolytisk kondensator;
  • 1 PC. 10k ohm motstand;
  • strømuttak (DC strømkontakt);
  • brød bord;
  • 5V strømforsyning;

Og en boks for å pakke alt!

Instrumenter:

  • Noe som kan kutte en plastboks;
  • Varm lim pistol;
  • Drill / skrutrekker.

Trinn 2: Alarmkrets

Tilkoblingsskjemaet er ganske enkelt.

Liten avklaring:

LCD med høy kontrast:

  • Pin1 - Vdd til GND;
  • Pin2 - Vss til 5V;
  • Pin3 - Vo (til senterpinnen på potensiometeret);
  • Pin4 - RS til pinne 8 på Arduino;
  • Pin5 - RW til GND;
  • Pin6 - EN til pinne 7 til Arduino;
  • Pin11 - D4 til pinne 6 på Arduino;
  • Pin12 - D5 til pinne 5 på Arduino;
  • Pin13 - D6 til pinne 4 til Arduino;
  • Pin14 - D7 til pinne 3 til Arduino;
  • Pin15 - Vee (til høyre eller venstre pinne på potensiometeret).

4 × 4 tastatur:

Venstre til høyre:

  • Pin1 til A5 pin av Arduino;
  • Pin2 til A4 pin på Arduino;
  • Pin3 til A3 pin av Arduino;
  • Pin4 til A2 pin av Arduino;
  • Pin5 til pinne 13 på Arduino;
  • Pin6 til pinne 12 på Arduino;
  • Pin7 til pinne 11 av Arduino;
  • Pin8 til pinne 10 på Arduino.

Trinn 3: Fastvare

Steget presenterer koden som brukes av den innebygde!

Last ned codebender-plugin. Klikk på "Kjør"-knappen i Arduino og flash brettet med dette programmet. Det er alt. Du har nettopp programmert Arduino! Hvis du vil gjøre endringer i koden, klikker du på "Rediger"-knappen.

Merk: Hvis du ikke skal bruke Codebender IDE til å programmere Arduino-kortet ditt, må du installere flere biblioteker i Arduino IDE.

Trinn 4: Lag ditt eget kontrolltavle

Etter vellykket montert og testet nytt prosjekt basert på Arduino uno, kan du begynne å lage ditt eget brett.

Noen tips for en mer vellykket gjennomføring av foretaket:

  • En 10K motstand må kobles mellom 1 (reset) og 7 (Vcc) pinnene til Atmega328 mikrokontrolleren.
  • En 16MHz krystall skal kobles til pinnene 9 og 10, merket XTAL1 og XTAL2
  • Koble hver ledning til resonatoren med 22pF kondensatorer. Blyfri kondensator fører til pinne 8 (GND) på mikrokontrolleren.
  • Husk å koble den andre strømledningen til ATmega328 til strømforsyningen, 20-Vcc og 22-GND pinnene.
  • Du kan finne mer informasjon om mikrokontrollerpinnene i det andre bildet.
  • Hvis du planlegger å bruke en strømforsyning med en spenning høyere enn 6V, må du bruke en lineær regulator LM7805 og to 0,22uF elektrolytiske kondensatorer, som skal monteres ved inngangen og utgangen til regulatoren. Det er viktig! Ikke bruk mer enn 6V på brettet !!! Ellers vil du brenne din Atmega mikrokontroller og LCD-skjerm.

Trinn 5: Plasser kretsen i etuiet