Wat je nodig hebt om een ​​alarm op Arduino te bouwen. Budget GSM alarmsysteem met hersens van Arduino

Goedemiddag! Nogmaals, een multi-review van Chinese elektronische componenten, zoals gewoonlijk, een beetje over alles, ik zal proberen korter te zijn, maar zal het werken? Dus, ontmoet GSM-alarm waarde tot 700 ₽. Interessant? Graag onder "knippen"!

Laten we beginnen! Voordat ik begin, raad ik aan om hiernaar te kijken, minder componenten en meer autonomie. Dus, de "term of reference", de basisvereisten voor signalering:

1) Waarschuw wanneer sensoren worden geactiveerd.
2) Bij stroomuitval moet enige autonomie worden voorzien.
3) Alarmbeheer via sms en oproepen.

Vanwege het feit dat het proces voor het maken van een alarm enkele maanden is vertraagd en sommige verkopers de componenten die bij hen zijn gekocht niet langer verkopen, worden de links bijgewerkt naar de goederen van andere verkopers die het maximum of bijna het maximum hebben aantal verkopen van goederen en beste prijs. De prijzen in de review zijn actueel op de datum van schrijven.

Lijst met wat je nodig hebt:

Lijst met wijzigingen

GSM_03_12_2016-14-38.hex- Vaste apparaatwerking met M590-modem.
GSM_05_12_2016-13-45.hex- consoleopdracht memtest toegevoegd, optimalisatie van RAM-gebruik.
GSM_2016_12_06-15-43.hex- Uitvoer van opdrachtresultaten toegevoegd aan de console, geheugenoptimalisatie. Bezet: 49% SRAM.
GSM_2016_12_07-10-59.hex- nu worden telefoonnummers correct toegevoegd en verwijderd. Bezet: 49% SRAM, 74% Flash-geheugen.
GSM_2016_12_07-15-38.hex- de mogelijkheid toegevoegd om een ​​bewegingssensor aan te sluiten, wordt aangesloten op pin A0 (in dit geval wordt pin A0 gebruikt als een digitale). SMS-commando's toegevoegd PIRON, PIR uit. Bezet: 48% SRAM, 76% Flash-geheugen.
GSM_2016_12_08-13-53.hex- Nu, na het succesvol uitvoeren van een commando dat geen SMS-bericht verstuurt als antwoord, knippert het apparaat eenmaal een blauwe LED. Nu, na een verkeerde uitvoering van een commando dat geen SMS-bericht stuurt als reactie, knippert het apparaat twee keer met een blauwe LED. Nu, na initialisatie van de apparaatparameters, als de "stille" modus is ingeschakeld (SendSms = 0), knippert het apparaat snel met een blauwe LED gedurende 2 seconden. Een bug opgelost waardoor het nummer niet altijd uit het geheugen werd verwijderd door de opdracht DeletePhone. Bezet: 48% SRAM, 78% Flash-geheugen.
GSM_2016_12_11-09-12.hex- Toegevoegd console-opdrachten AddPhone en DeletePhone, de syntaxis is vergelijkbaar met sms-opdrachten. Geheugen optimalisatie. Bezet: 43% SRAM, 79% Flash-geheugen.
GSM_2017_01_03-22-51.hex- Ondersteuning geïmplementeerd voor vergelijkbare I/O-poortuitbreidingen op de PCF8574-chip, voor het aansluiten van nog eens 8 sensoren, inclusief reed-schakelaars. Automatisch zoeken adressen en auto tuning module. De standaardnamen van de sensoren en het logische niveau van hun werking worden gewijzigd met de opdracht EditSensor. De inhoud van alarm-sms voor de hoofdsensor gewijzigd (pin D0) “Alarm! hoofdsensor! en bewegingssensor (pin A0) “Alarm! PIR-sensor! EditSensor- en I2CScan-opdrachten toegevoegd. Bezet: 66% SRAM, 92% Flash-geheugen.
GSM_2017_01_15-23-26.hex- Ondersteuning voor A6_Mini-modem. Controle van de aanwezigheid van externe voeding (pin D7). Toegevoegd SMS-commando's WatchPowerOn, WatchPowerOff. Console-opdrachten ListConfig, ListSensor toegevoegd. Nu werkt de opdracht EditSensor sms correct. De uitvoer van foutopsporingsinformatie naar de poortmonitor is enigszins "bezuinigd". Bezet: 66% SRAM, 95% Flash-geheugen.
GSM_2017_01_16-23-54.hex- Nu wordt in het antwoordbericht op het sms-commando "Info" ook de status van de bewegingssensor gerapporteerd. Een bug opgelost waardoor soms lege sms-berichten werden verzonden. Nu meldt het apparaat niet alleen over het afsluiten, maar ook over het hervatten van de externe voeding. Alle modems begonnen "minder te praten", nu is de poortmonitor een beetje schoner geworden. Bezet: 66% SRAM, 95% Flash-geheugen.
GSM_2017_02_04-20-23.hex- Opgelost: "Kijk naar de stroom aan"-bug. Nu, na het uitschakelen, is de "alarmpin" uitgeschakeld. Nu, na het verwijderen van het nummer, wordt de juiste informatie weergegeven in de console. Mogelijk is er een bug verholpen waardoor er soms lege response sms-berichten werden verstuurd. Bezet: 66% SRAM, 90% Flash-geheugen.
GSM_2017_02_14-00-03.hex- Nu worden standaard SMS-berichten verzonden, de parameter SendSms is weer gelijk aan 1. Nu, wanneer de contacten van de hoofdreedschakelaar zijn gesloten (de deur is gesloten), knippert het apparaat gedurende 2 seconden een blauwe LED, wat aangeeft de normale werking van de sensor. Bezet: 66% SRAM, 90% Flash-geheugen.
GSM_2017_03_01-23-37.hex- De opdracht WatchPowerOn is verwijderd. Console-opdracht WatchPowerOff toegevoegd, identiek aan sms-opdracht. Commando's WatchPowerOn1, WatchPowerOn2 toegevoegd. WatchPowerOn1 - externe stroombewaking is ingeschakeld als het alarm is ingeschakeld, WatchPowerOn2 - externe stroombewaking is altijd ingeschakeld. De functie van in- en uitschakelen door externe apparaten is geïmplementeerd, hiervoor worden de klemmen A1(D15) en A2(D16) gebruikt. Het alarm zal in-/uitschakelen wanneer het verschijnt op uitgang A1(D15) hoog niveau+5V of op pin A2(D16) lage GND. Pin A1(D15) wordt omhoog getrokken tot GND, pin A2(D16) wordt omhoog getrokken tot +5V via 20 (10) kOhm-weerstanden. GuardButtonOn- en GuardButtonOff-opdrachten toegevoegd. Nu, na het inschakelen, knippert de rode LED totdat de integriteit van het hoofdreedsensorcircuit is gecontroleerd. Als het circuit compleet is, gaat de rode LED branden. Bezet: 66% SRAM, 95% Flash-geheugen.
GSM_2017_03_12-20-04.hex- Nu is de console nog schoner, maar als de testmodus "TestOn" is ingeschakeld, wordt aanvullende informatie weergegeven in de console. De bug "Verzonden!" is opgelost, nu wordt informatie over het verzenden van berichten correct weergegeven in de console. Bug "herhaalde nepoproep" opgelost. Nu zou het saldoverzoek correct moeten werken op alle modems. Bezet: 67% SRAM, 95% Flash-geheugen.
GSM_2017_04_16-12-00.hex- Gemaakt. Nu sturen de Info- en Geldopdrachten altijd een antwoord-sms. De opdracht GuardButtonOn is vervangen door de opdrachten GuardButtonOn1 en GuardButtonOn2. Bezet: 67% SRAM, 99% Flash-geheugen.
GSM_2017_04_21-09-43.hex - niet aanbevolen voor gebruik, alleen als test, bedankt voor de gevonden fouten :) - Nu heeft de parameter sendsms geen invloed op het verzenden van sms-berichten voor het bewaken van het elektriciteitsnet. Toegevoegd SMS-commando DelayBeforeGuard dat verantwoordelijk is voor de vertraging bij het inschakelen, de waarde mag niet langer zijn dan 255 seconden. Toegevoegd SMS-commando DelayBeforeAlarm dat verantwoordelijk is voor het uitstellen van het verzenden van meldingen en het inschakelen van de "alarmpin" wanneer sensoren worden geactiveerd, de waarde mag niet langer zijn dan 255 seconden. ClearSMS-commando's verwijderd, nu worden berichten automatisch verwijderd bij ontvangst. Bezet: 68% SRAM, 100% Flash-geheugen.
GSM_2017_04_22-20-42.hex- Meerdere bugs opgelost. ClearSMS-opdrachten zijn terug in de firmware. Geheugen optimalisatie. Bezet: 68% SRAM, 98% Flash-geheugen.
GSM_2017_04_23-17-50.hex- Nu zou het saldoverzoek correct moeten werken op alle modems. In- en uitschakelen door externe apparaten werkt nu correct. Info-opdracht SMS-antwoordberichten mogen niet leeg zijn. Geheugen optimalisatie. Bezet: 68% SRAM, 98% Flash-geheugen.
GSM_2017_04_24-13-22.hex- Nu console-opdrachten doorgeven aan GSM-module alleen uitgevoerd als de testmodus is ingeschakeld. Nu is er geen onderverdeling in SMS-commando's en console-commando's, alle bestaande commando's kunnen zowel via SMS als via de console worden verzonden. Mogelijk een bug opgelost met het Info-commando. Geheugen optimalisatie. Bezet: 68% SRAM, 94% Flash-geheugen.
GSM_2017_04_25-20-54.hex- Een bug opgelost waarbij de opdracht ListConfig de waarde van de laatste gebeurtenis veranderde. Bij het invoeren van opdrachten via de console worden nu geen onnodige sms-berichten verzonden. Mogelijk een bug opgelost met het Info-commando. Geheugen optimalisatie. Bezet: 66% SRAM, 94% Flash-geheugen.
GSM_2017_04_30-12-57.hex- Tijdelijk ingeschakelde uitvoer van aanvullende informatie naar de console bij het verzenden van SMS-berichten en het vormen van een reactie op het Info-commando. Mogelijk een bug opgelost met het Info-commando. Geheugen optimalisatie. Bezet: 66% SRAM, 92% Flash-geheugen.
GSM_2017_05_06-11-52.hex- Opgelost met DelayBeforeAlarm-functie. Bezet: 66% SRAM, 93% Flash-geheugen.
GSM_2017_05_23-21-27.hex- De uitvoer van informatie naar de console is enigszins gewijzigd. Ondersteuning toegevoegd voor poortuitbreidingsmodules op PCF8574A met adressen van 0x38 tot en met 0x3f. C-bug opgelost. Nu start het apparaat automatisch opnieuw op na de FullReset-, ResetConfig-, ResetPhone-opdrachten en in geval van succesvolle uitvoering van de MemTest-opdracht. WatchPowerTime-opdracht toegevoegd. Het is nu mogelijk om de tijd in te stellen waarna een SMS-bericht wordt verzonden dat de externe voeding wordt losgekoppeld. Bezet: 67% SRAM, 94% Flash-geheugen.
GSM_2017_05_26-20-22.hex- Vaste initialisatie van het sensorgeheugen van de uitbreidingskaart. De syntaxis van de opdracht AddPhone is gewijzigd. Commando EditMainPhone toegevoegd. Het werkingsprincipe van het notificatiesysteem is gewijzigd, wanneer de sensor wordt geactiveerd, worden eerst sms-berichten verzonden, waarna spraakoproepen worden gedaan. Alarm-sms-berichten worden verzonden naar telefoonnummers gemarkeerd met "S" (SMS). Spraakoproepen worden gedaan naar nummers met het teken "R" (Ring). Berichten over het in-/uitschakelen van een externe stroombron worden verzonden naar telefoonnummers met het teken "P" (Power). RingTime-opdracht toegevoegd. Nu is het mogelijk om de duur van de alarmoproep in te stellen, de parameter kan een waarde hebben van 10 tot 255 seconden. Nu schakelt de opdracht RingOn/RingOff globaal meldingen via spraakoproepen in/uit. ResetSensor-opdracht toegevoegd. Bezet: 68% SRAM, 99% Flash-geheugen.
GSM_2017_06_02-17-43.hex- De parameter "I" (Info) is toegevoegd aan de opdrachten AddPhone en EditMainPhone, die verantwoordelijk zijn voor sms-meldingen van het in- of uitschakelen van het apparaat. Nu, na het toevoegen van het hoofdnummer, zal het apparaat automatisch opnieuw opstarten. Nu kunt u dezelfde nummers in het geheugen van het apparaat invoeren. Bij het toevoegen van de tweede en volgende dubbele nummers worden de attributen "M", "S", "P" en "I" automatisch verwijderd. Deze nummers worden gebruikt voor herhaalde spraakoproepen wanneer de sensoren worden geactiveerd. Een bug opgelost met wrange uitvoer naar de console na het uitvoeren van de AddPhone-opdracht, nu wordt informatie niet automatisch weergegeven na het toevoegen van een nummer. Opnieuw opstarten commando toegevoegd. Bezet: 69% SRAM, 99% Flash-geheugen.
GSM_2017_06_11-00-07.hex- Nogmaals, wanneer de contacten van de hoofdreedschakelaar gesloten zijn (de deur is gesloten), knippert het apparaat gedurende 2 seconden een blauwe LED, wat de normale werking van de sensor aangeeft, terwijl het apparaat niet in aanmerking wordt genomen wanneer het apparaat is ingeschakeld of uitgeschakeld. De opdrachten RingOn/RingOff zijn verwijderd. Nu kan het apparaat worden uitgeschakeld tijdens een alarmoproep, nu worden ze op de achtergrond gemaakt. Bezet: 69% SRAM, 99% Flash-geheugen.
GSM_2017_07_04-21-52.hex- Nu stuurt de opdracht Pauze geen antwoord-sms. TestOn- en TestOff-opdrachten verwijderd. Alle nummers hebben het teken Beheer verwijderd. Bezet: 68% SRAM, 96% Flash-geheugen.
GSM_2017_07_24-12-02.hex- ReedSwitchOn/ReedSwitchOff-commando's toegevoegd voor het bewaken van de belangrijkste reed-sensor, nu kan deze op dezelfde manier worden in-/uitgeschakeld als een bewegingssensor. Bug met info-opdracht opgelost. De opdrachten TestOn en TestOff zijn terug in de firmware. Bezet: 68% SRAM, 96% Flash-geheugen.
GSM_2017_07_26-10-03.hex- ModemID-opdracht toegevoegd. Het modem wordt alleen automatisch gedetecteerd als de waarde van deze parameter gelijk is aan 0. Nadat de parameterwaarde op 0 is ingesteld, wordt het apparaat automatisch opnieuw opgestart. Bezet: 68% SRAM, 98% Flash-geheugen.
GSM_2017_08_03-22-03.hex- Nu kan het alarm externe apparaten bedienen. De analoge uitgang A3 wordt gebruikt voor de besturing (D17 wordt gebruikt als een digitale). Het logische uitgangsniveau (+5V of GND) kan worden gewijzigd, na het wijzigen van het niveau via het instelcommando, zal het apparaat automatisch opnieuw opstarten. De duur van het stuursignaal van het externe apparaat kan worden gewijzigd. Commando's toegevoegd ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Enkele wijzigingen in de logica van de stuurcommando's. Geheugen optimalisatie. Bezet: 68% SRAM, 99% Flash-geheugen.
GSM_2017_08_10-12-17.hex- Commando's SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff en alles wat daarmee samenhangt verwijderd. De opdracht DelayBeforeAlarm is vervangen door uitgebreide opdrachten. De uitvoer van het Info-commando gewijzigd. De uitvoer van de opdracht ListConfig naar de console geoptimaliseerd. Nu kunnen alle digitale sensoren van hoog of laag niveau, inclusief reed-schakelaars, worden aangesloten op pinnen D6 en A0. De pennen D6 en A0 moeten via een weerstand van 10 (20) kOhm naar aarde (GND) worden getrokken. Als de sensor is ingesteld op een laag werkingsniveau (ingeschakeld in de reed-schakelaarmodus), wordt de integriteit van het circuit gecontroleerd. Het logische werkingsniveau op de ingangen D6 en A0 (+5V of GND) kan worden gewijzigd, na het wijzigen van het logische niveau wordt het apparaat automatisch opnieuw opgestart. Voor elk van de sensoren (hoofd-, tweede-, PCF-uitbreidingskaarten) kan bij activering een specifieke tijd worden ingesteld, waarna een melding wordt gedaan (sms en/of spraakoproep). "PIR Sensor" hernoemd naar "Tweede sensor". De werking van de uitbreidingskaart opgelost, een fout waardoor het apparaat altijd op de hoogte was van de werking van sensoren, ongeacht of het apparaat was ingeschakeld of niet. Nu kunt u de bedrijfsmodus selecteren waarin het apparaat de sensoren van de uitbreidingskaart zowel in de ingeschakelde modus (GuardOn) als in de uitgeschakelde modus (GuardOff) kan bewaken. Commando's toegevoegd PCFForceOn/PCFForceOff, MainSensorLevelHigh/HoofdSensorLevelLow/HoofdSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, PCFdelayBeforeAlarm. Bezet: 68% SRAM, 99% Flash-geheugen.

*Volgende firmwareversies bevatten wijzigingen ten opzichte van eerdere versies.


Arduino Nano v3-poorten gebruikt

D4- uitgang van de "alarm"-pin, wanneer de sensor wordt geactiveerd, wordt een hoog niveau-signaal op deze pin ingesteld
D5- omgekeerde uitgang van de "alarm"-pin, wanneer de sensor wordt geactiveerd, wordt een laag niveau-signaal op deze pin ingesteld

D6- reed-sensor. Vanaf de GSM_2017_08_10-12-17.hex-versie kunnen alle digitale sensoren met een hoog of laag responsniveau, inclusief reed-schakelaars, worden aangesloten op pin D6. Pen D6 moet via een weerstand van 10 (20) kOhm naar massa (GND) worden getrokken.
D7- aangesloten op een spanningsdeler van een externe +5V voeding. Bovenarm 2,2 kΩ, onderarm 3,3 kΩ.

Spanningsdeler:


D8- TX-modem
D9- RX-modem

D10- rode LED
D11- blauwe LED
D12- groene LED

Perifere aansluiting:
A0- Bewegingssensor . Vanaf de GSM_2017_08_10-12-17.hex-versie kunnen alle digitale sensoren met een hoog of laag responsniveau, inclusief reed-schakelaars, worden aangesloten op pin A0. Pin A0 moet via een weerstand van 10 (20) kOhm naar massa (GND) worden getrokken.

A1- Ingang voor externe besturing. Het alarm wordt in-/uitgeschakeld wanneer een hoog niveau +5V op de ingang verschijnt.
A2- Geïnverteerde ingang voor externe besturing. Het alarm wordt in-/uitgeschakeld wanneer een laag GND-niveau op de ingang verschijnt.

A3- Configureerbare (+5V of GND) uitgang voor het aansturen van externe apparaten. Wanneer een stuurcommando wordt ontvangen, verandert de waarde op deze uitgang afhankelijk van wat is ingesteld voor de ingestelde tijdsperiode.

A4-SDA I2C
A5- SLC I2C
, om 8 extra sensoren aan te sluiten.


Besturingsopdrachten voor hex-firmware

Aandacht! Opdrachten gemarkeerd vetgedrukt kunnen alleen worden uitgevoerd vanaf het hoofdnummer, omdat ze verantwoordelijk zijn voor de configuratie van het apparaat. De overige commando's kunnen vanaf getallen met het attribuut "Management" worden uitgevoerd.

SMS - bedieningscommando's zijn niet hoofdlettergevoelig:
Telefoon toevoegen- Voeg telefoonnummer toe. In totaal kunnen er niet meer dan 9 nummers worden toegevoegd + 1 hoofdnummer, dat automatisch in het geheugen wordt opgeslagen de eerste keer dat je het apparaat belt na het resetten naar de fabrieksinstellingen door middel van commando's telefoon resetten of Volledige reset. Die. degene die het apparaat het eerst heeft gebeld nadat het naar de fabrieksinstellingen is teruggezet, is de "hoofd", dit nummer wordt in de eerste geheugencel ingevoerd en kan niet worden gewijzigd of verwijderd via sms. Het is niet mogelijk om twee identieke nummers toe te voegen.
Voorbeeld opdracht:



Opdrachtsyntaxis:

Telefoon toevoegen- commando
: - scheidingsteken
5 - schrijf naar de vijfde geheugencel
+71234567890 - telefoonnummer
Tot versie GSM_2017_05_26-20-22.hex:
a - "Alarm" parameter - SMS berichten worden verzonden naar nummers met deze parameter - alarmberichten en berichten voor in- of uitschakelen.
Vanaf versie GSM_2017_05_26-20-22.hex:
m - Parameter "Beheer" - alarmbeheer is toegestaan
s - "SMS"-parameter - er wordt een sms-bericht verzonden wanneer sensoren worden geactiveerd
r - "Ring"-parameter - er wordt een spraakoproep gedaan wanneer de sensoren worden geactiveerd
p - Parameter "Power" - er wordt een sms-bericht verzonden wanneer de externe voeding wordt in- of uitgeschakeld
i - Parameter "Info" - er wordt een sms-bericht verzonden bij in- of uitschakelen
Bij afwezigheid van de parameters "m", "s", "r", "p", "i", wordt de telefoon in het geheugen opgeslagen, maar wordt deze op geen enkele manier gebruikt.


Telefoon verwijderen- Telefoonnummer verwijderen.
Voorbeeld opdracht:

Opdrachtsyntaxis:

Opdracht telefoon verwijderen
: - scheidingsteken
+71234567891 - telefoonnummer


BewerkenHoofdtelefoon- Wijzig de parameters "s", "r", "p", "i" van de hoofdtelefoon, dit nummer wordt ingevoerd in de eerste geheugencel.
Voorbeeld opdracht:

Opdrachtsyntaxis:

Opdracht Hoofdtelefoon bewerken
: - scheidingsteken
srpi - parameters


SaldoNum- Het nummer van het saldoverzoek wijzigen en de lengte van het verzoekantwoord verwerken. Standaardwaarde voor Beeline: #100#L22.
Voorbeeld opdracht:

Opdrachtsyntaxis:

BalanceNum - team
: - scheidingsteken
#103# - saldoverzoeknummer
L24 - De lengte (len) van het doorgestuurde antwoord is 24 tekens, we hebben de spam van het saldoverzoek afgesneden.


Bewerken Sensor- Wijzig de naam van de sensor en het logische werkingsniveau. Er kunnen in totaal niet meer dan 8 extra sensoren zijn. Na het wijzigen van de instellingen moet het apparaat opnieuw worden opgestart.
Voorbeeld opdracht:
EditSensor:1+Datchik dvizheniya v koridore#h

Opdrachtsyntaxis:

Bewerken Sensor - commando
: - scheidingsteken
1 - schrijf naar de eerste geheugencel
+ - scheidingsteken
Datchik dvizheniya v koridore - de naam van de sensor, mag niet langer zijn dan 36 tekens, inclusief spaties.
#h - Een teken van een hoog logisch niveau van de sensor, bij ontvangst wordt een alarm geactiveerd. Als "#h" ontbreekt, wordt het alarm geactiveerd wanneer een laag logisch niveau van de sensor wordt ontvangen.


Bedtijd- De tijd van "in slaap vallen" van het alarm bij ontvangst van SMS - het commando "Pauze", wordt aangegeven in minuten. Standaardwaarde: 15, kan niet kleiner zijn dan 1 en meer dan 60.
Voorbeeld opdracht:

Opdrachtsyntaxis:

SleepTime - team
: - scheidingsteken
20 - 20 minuten "slaap".


AlarmPinTijd- De tijd dat de alarm/inverse pin aan/uit staat wordt aangegeven in seconden. Standaardwaarde: 60, kan niet minder dan 1 seconde en meer dan 43200 seconden (12 uur) zijn.
Voorbeeld opdracht:

Opdrachtsyntaxis:

AlarmPinTime - commando
: - scheidingsteken
30 - 30 seconden om de alarmpin in/uit te schakelen.


VertragingBeforeGuard- De tijd totdat het apparaat wordt ingeschakeld, na ontvangst van het juiste commando.
Voorbeeld opdracht:

Opdrachtsyntaxis:

DelayBeforeGuard-opdracht
: - scheidingsteken
25 - 25 seconden voor inschakelen


Vertraging Voor Alarm- De tijd waarna een "alarmerende" SMS-melding wordt verzonden, als het alarm gedurende deze periode niet is uitgeschakeld. Vervangen door uitgebreide commando's vanaf versie GSM_2017_08_10-12-17.hex
Voorbeeld opdracht:

Opdrachtsyntaxis:

DelayBeforeAlarm - commando
: - scheidingsteken
40 - 40 seconden voordat een "alarm" melding wordt verzonden


WatchPowerTime- Tijd in minuten waarna een SMS-bericht wordt verzonden over het loskoppelen van de externe stroombron. Als de externe voeding wordt hersteld voordat de ingestelde tijd is verstreken, wordt het bericht niet verzonden.
Voorbeeld opdracht:

Opdrachtsyntaxis:

WatchPowerTime - commando
: - scheidingsteken
5 - 5 minuten voor het verzenden van een sms-bericht


BelTijd- De duur van de alarmoproep, de parameter kan een waarde hebben van 10 tot 255 seconden.
Voorbeeld opdracht:

Opdrachtsyntaxis:

RingTime - commando
: - scheidingsteken
40 - 40 de duur van het gesprek zal 40 seconden zijn, waarna de volgende abonnee wordt gebeld.


ModemID - Installatie forceren model van de gebruikte modem. Mogelijke waarden: 0 - modem autodetectie, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Voorbeeld opdracht:

Opdrachtsyntaxis:

ModemID - commando
: - scheidingsteken
2 - modem-ID.


ExtApparaatTijd- Het aantal seconden gedurende welke het signaalniveau op de uitgang van het externe apparaat zal veranderen.
Voorbeeld opdracht:

Opdrachtsyntaxis:

ExtDeviceTime-opdracht
: - scheidingsteken
5 - 5 seconden


ExtApparaatNiveauLaag- Een extern apparaat aangesloten op uitgang A3 wordt laag (GND) gestuurd. De standaarduitgang is hoog +5V totdat een besturingsopdracht van een extern apparaat wordt ontvangen.
ExtApparaatNiveauHoog- Een extern apparaat aangesloten op uitgang A3 wordt bestuurd door een hoog signaalniveau (+5V). De uitgang wordt standaard ingesteld op GND laag totdat een besturingsopdracht voor een extern apparaat wordt ontvangen.

ResetSensor- reset de parameters van de sensoren van de poortuitbreiding

resetconfig- fabrieksinstellingen

telefoon resetten- verwijderen van alle telefoonnummers uit het geheugen

Volledige reset- Reset instellingen, verwijder alle telefoonnummers uit het geheugen, herstel de standaardwaarde van de BalanceNum-opdracht.

Bel aan- melding inschakelen door een oproep naar het "hoofd" -nummer dat is opgeslagen in de eerste geheugencel wanneer de sensor wordt geactiveerd. Verwijderd sinds versie GSM_2017_06_11-00-07.hex
Bel uit- schakel de melding door een oproep uit wanneer de sensor wordt geactiveerd. Verwijderd sinds versie GSM_2017_06_11-00-07.hex

Sms aan- sms-melding inschakelen wanneer de sensor wordt geactiveerd. Verwijderd sinds versie GSM_2017_08_10-12-17.hex
sms uit- schakel sms-melding uit wanneer de sensor wordt geactiveerd. Verwijderd sinds versie GSM_2017_08_10-12-17.hex

PIRON- bewegingssensorverwerking inschakelen
PIR uit- bewegingssensorverwerking uitschakelen

ReedSwitchOn- verwerking van de belangrijkste reed-sensor inschakelen
ReedSwitchOff- schakel de verwerking van de belangrijkste reed-sensor uit

WatchPowerOn- schakel de besturing van de externe voeding in, een SMS-bericht over het loskoppelen van de externe voeding wordt verzonden, op voorwaarde dat het alarmsysteem is ingeschakeld. Verwijderd sinds versie GSM_2017_03_01-23-37.

WatchPowerOn1- schakel de besturing van de externe voeding in, een SMS-bericht over het loskoppelen van de externe voeding wordt verzonden, op voorwaarde dat het alarmsysteem is ingeschakeld.
WatchPowerOn2- schakel externe stroomregeling in, SMS-bericht over externe stroomstoring wordt in ieder geval verzonden

Uitschakelen bekijken- schakel externe stroomregeling uit

BewakerKnop Aan- bediening van het alarm door externe apparaten of een knop is ingeschakeld Verwijderd vanaf de versie GSM_2017_04_16-12-00.
BewakerKnopAan1- functie plaatsen of terugtrekken bescherming door externe apparaten of de knop is ingeschakeld
BewakerKnopAan2- functie alleen optredens ingeschakeld door externe apparaten of door de knop is ingeschakeld, wordt het uitschakelen uitgevoerd door een oproep naar het apparaat of met behulp van een SMS-commando.
BewakerKnop Uit- alarmcontrole door externe apparaten of door knop is uitgeschakeld

PCFForceOn- continue bewaking van een groep van alle sensoren van de uitbreidingsmodule
PCFForceUit- bewaking van een groep van alle sensoren van de uitbreiding alleen wanneer het apparaat is ingeschakeld

HoofdSensorNiveauHoog- er wordt een alarmmelding verzonden wanneer een hoog niveau signaal (+5 V) verschijnt op de ingang (D6) van de sensor
HoofdSensorNiveauLaag- er wordt een alarmmelding verzonden wanneer een laag niveau-signaal (GND) verschijnt op de ingang (D6) van de sensor
HoofdSensorNiveau Uit- verwerking van invoersensor (D6) uitgeschakeld

TweedeSensorNiveauHoog- er wordt een alarmmelding verzonden wanneer een hoog niveau signaal (+5 V) verschijnt op de ingang (A0) van de sensor
TweedeSensorNiveauLaag- er wordt een alarmmelding verzonden wanneer een laag niveau-signaal (GND) verschijnt op de ingang (A0) van de sensor
SecondSensorLevelOff- invoersensorverwerking (A0) uitgeschakeld

HoofdVertragingVóórAlarm- de tijd waarna een "alarm" SMS-melding wordt verzonden wanneer de hoofdsensor (D6) wordt geactiveerd, als het alarm gedurende deze periode niet is uitgeschakeld. De syntaxis is hetzelfde als de opdracht DelayBeforeAlarm.
TweedeVertragingVóórAlarm- de tijd waarna een "alarm"-sms-melding wordt verzonden wanneer een extra sensor (A0) wordt geactiveerd, als het alarm gedurende deze periode niet is uitgeschakeld. De syntaxis is hetzelfde als de opdracht DelayBeforeAlarm.
PCFVertraging voor Alarm- de tijd waarna een "alarm"-sms-melding wordt verzonden wanneer de sensoren van de uitbreidingskaart (PCF8574) worden geactiveerd, als het alarm gedurende deze periode niet is uitgeschakeld. De syntaxis is hetzelfde als de opdracht DelayBeforeAlarm.

GuardOn - arm
GuardOff - bescherming verwijderen

Open - externe apparaatbesturingsopdracht

Info - controleer de status, naar aanleiding van dit bericht wordt een sms gestuurd met informatie over het nummer van waaruit de beveiliging is in-/uitgeschakeld

Pauze - pauzeert het systeem gedurende de tijd die is ingesteld door de sleeptime-opdracht in minuten, het systeem reageert niet op sensoractiveringen.

TestOn - de testmodus is ingeschakeld, de blauwe LED knippert.
TestOff - de testmodus is uitgeschakeld.

LedOff - schakelt de standby-LED uit.
LedOn - schakelt de standby-LED in.

Geld - saldoverzoek.

ClearSms - Verwijder alle sms uit het geheugen

Console-opdrachten (tot versie GSM_2017_04_24-13-22.hex) - worden ingevoerd in de Arduino IDE-poortmonitor:

AddPhone - vergelijkbaar met de AddPhone sms-opdracht

DeletePhone - vergelijkbaar met de opdracht DeletePhone sms

EditSensor - vergelijkbaar met het sms-commando EditSensor

ListPhone - output naar de poort monitor een lijst met telefoons die in het geheugen zijn opgeslagen

ResetConfig - vergelijkbaar met de opdracht ResetConfig sms

ResetPhone - vergelijkbaar met het SMS-commando ResetPhone

FullReset - vergelijkbaar met het sms-commando FullReset

ClearSms - vergelijkbaar met de opdracht ClearSms sms

WatchPowerOn1 - vergelijkbaar met WatchPowerOn1 SMS-commando
WatchPowerOn2 - vergelijkbaar met WatchPowerOn2 sms-opdracht
WatchPowerOff - vergelijkbaar met WatchPowerOff sms-commando

GuardButtonOn - vergelijkbaar met GuardButtonOn sms commando. Verwijderd sinds versie GSM_2017_04_16-12-00
GuardButtonOn1 - vergelijkbaar met GuardButtonOn1 SMS-commando
GuardButtonOn2 - vergelijkbaar met GuardButtonOn2 SMS-commando
GuardButtonOff - vergelijkbaar met GuardButtonOff sms commando

Memtest - een test van het niet-vluchtige geheugen van het apparaat, alle apparaatinstellingen worden gereset, vergelijkbaar met de opdracht FullReset.

I2CScan - zoeken en initialiseren van ondersteunde apparaten op de I2C-bus.

ListConfig - uitvoer naar de poortmonitor van de huidige configuratie van het apparaat.

ListSensor - output naar de poortmonitor van de huidige sensorconfiguratie.

UPD. Bij gebruik van bewegingssensor, om valse positieven tijdens de werking van de modem te voorkomen, is het noodzakelijk om: tussen pinnen GND En A0 Arduino zet weerstand bedankt vriend
AllowPhone = ("70001234501", "70001234502", "70001234503", "70001234504", "70001234505") - Nummers die de beveiliging mogen beheren.
AlarmPhone = ("70001234501", "70001234502") - Nummers voor het verzenden van SMS-meldingen wanneer een sensor wordt geactiveerd en meldingen over in- of uitschakelen. Het eerste nummer in de lijst wordt gebeld wanneer de sensor wordt geactiveerd als de opdracht RingOn wordt uitgevoerd, standaard is deze optie ingeschakeld. Dit wordt gedaan omdat sms-berichten met enige vertraging kunnen aankomen en de oproep onmiddellijk moet doorgaan.

Als er een oproep wordt ontvangen van een geautoriseerd nummer of een SMS-bericht met het GuardOn/GuardOff-commando, dan, afhankelijk van: huidige toestand beveiliging wordt een sms-bericht over in- of uitschakelen verzonden naar de nummers die zijn vermeld in de AlarmPhone-array, er wordt ook een sms-bericht verzonden naar het nummer waarvan de oproep afkomstig is.

Wanneer de sensor wordt geactiveerd: Sms-berichten worden verzonden naar alle nummers van de AlarmPhone-array (lijst) en er wordt een spraakoproep gedaan naar het eerste nummer uit deze array.

Licht indicatie:
De LED brandt rood - ingeschakeld.
LED licht op in het groen- uitgeschakeld, ingeschakeld/uitgeschakeld door sms-commando LedOn/LedOff.
De LED knippert constant blauw - het geeft aan dat alles in orde is met de Arduino, het bord is niet vastgelopen, het wordt uitsluitend gebruikt voor debuggen, het wordt ingeschakeld / uitgeschakeld door de sms-opdracht TestOn / TestOff.
* Er is een functie LedTest () in de code, het knippert met een blauwe LED, het is alleen gemaakt om de Arduino te controleren, het knippert - het betekent dat het werkt, het knippert niet - het is bevroren. Nog niet opgehangen :)

Niet relevant!

Aansluiting van 2 of meer sensoren voor open firmware (geldt alleen voor deze firmware sketch_02_12_2016.ino)
Om extra reed-sensoren aan te sluiten, gebruiken we vrije digitale pinnen D2, D3, D5 of D7. Bedradingsschema met extra sensor op D7.

Noodzakelijke firmware-wijzigingen
... #define DoorPin 6 // Invoernummer verbonden met de hoofdsensor int8_t DoorState = 0; // Variabele voor het opslaan van de status van de hoofdsensor int8_t DoorFlag = 1; // Variabele voor het opslaan van de status van de hoofdsensor #define BackDoorPin 7 // Nummer van de ingang die is aangesloten op de extra sensor int8_t BackDoorState = 0; // Variabele voor het opslaan van de status van de extra sensor int8_t BackDoorFlag = 1; // Variabele voor het opslaan van de status van de extra sensor...
void setup() ( ... pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); ...
... void Detect() ( // Lezen van waarden van sensoren DoorState = digitalRead (DoorPin); BackDoorState = digitalRead (BackDoorPin); // Verwerking van de hoofdsensor if (DoorState == LAAG && DoorFlag == 0) ( DoorFlag = 1; vertraging(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); ) if (DoorState == HIGH && DoorFlag == 1)( DoorFlag = 0; vertraging(100); ) // Extra sensor verwerken if (BackDoorState == LAAG && BackDoorFlag == 0) (BackDoorFlag = 1; vertraging (100); if (LedOn == 1) digitalWrite (GLed, LOW); Alarm (); ) if (BackDoorState = = HOOG && BackDoorFlag == 1)( BackDoorFlag = 0; vertraging (100); ) ) ...

En nog een laatste toevoeging:
1. Het is beter om diodes te gebruiken die zijn ontworpen voor een stroomsterkte van 2 A, omdat de module infecteert met een stroom van 1 A en we de Arduino en de modem nog steeds met iets moeten voeden. In dit geval worden 1N4007-diodes gebruikt, als ze falen, zal ik ze vervangen door 2 A.
2. Ik heb alle weerstanden voor de LED op 20 kOhm gebruikt, om 's nachts niet de hele gang te verlichten.
3. Ik heb ook een weerstand van 20 kOhm op de reed-sensor gehangen tussen de GND-pin en de D6-pin.

Dat is het voor nu. Bedankt voor de aandacht! :)

Ik ben van plan om +204 . te kopen Toevoegen aan favorieten Vond de recensie leuk +112 +243 In het afgelopen decennium heeft autodiefstal een van de belangrijkste plaatsen ingenomen in de structuur van gepleegde misdaden in de wereld. Dit heeft niet zozeer te maken met het soortelijk gewicht van deze categorie diefstallen ten opzichte van het totaal aantal misdrijven, maar met de omvang van de schade die wordt veroorzaakt door de hoge autokosten. De geringe doeltreffendheid van de maatregelen op het gebied van de bestrijding van diefstal van motorvoertuigen tegen het einde van de jaren 90 leidde tot de oprichting van stabiele groepen die gespecialiseerd zijn in het plegen van deze misdrijven en het bezit van keurmerken georganiseerde misdaad; je hebt vast wel eens gehoord van de term 'black car business'. De parkeerplaats van Europese landen wordt niet jaarlijks geteld? 2% van de auto's die het onderwerp worden van criminele inbreuken. Zo kwam ik op het idee om een ​​gsm-alarm voor mijn auto aan te zetten Arduino basis uno.

Laten we beginnen!

Waarvan gaan we incasseren?

We moeten het hart van ons systeem kiezen. Naar mijn mening is er voor dergelijke signalering niets beters dan de Arduino Uno. Het belangrijkste criterium is: genoeg pinnen en prijs.


Belangrijkste kenmerken van de Arduino Uno

Microcontroller - ATmega328
Bedrijfsspanning - 5 V
Ingangsspanning (aanbevolen) - 7-12 V
Ingangsspanning (limiet) - 6-20 V
Digitale I/O - 14 (waarvan 6 kunnen worden gebruikt als PWM-uitgangen)
Analoge ingangen - 6
Gelijkstroom via ingang/uitgang - 40 mA
Gelijkstroom voor uitgang 3.3V - 50mA
Flash-geheugen - 32 KB (ATmega328) waarvan 0,5 KB wordt gebruikt voor de bootloader
RAM - 2 Kb (ATmega328)
EEPROM - 1 Kb (ATmega328)
Klokfrequentie - 16 MHz


Past bij!

Nu moet je een gsm-module selecteren, want ons alarmsysteem moet de autobezitter kunnen verwittigen. Dus je moet "googlen" ... Hier is een uitstekende sensor SIM800L, de grootte is gewoon geweldig.


Ik dacht en bestelde het uit China. Alles was echter niet zo rooskleurig. De sensor weigerde simpelweg om de simkaart op het netwerk te registreren. Al het mogelijke is geprobeerd - het resultaat is nul.
gevonden vriendelijke mensen wie heeft me meer gegeven? cool ding- Sim900 Schild. Dit zijn nu serieuze dingen. De Shield heeft zowel een microfoon- als koptelefoonaansluiting, een volwaardige telefoon.


Belangrijkste kenmerken van Sim900 Shield

4 werkfrequentiestandaarden 850/ 900/1800/1900 MHz
GPRS multi-slot klasse 10/8
GPRS mobiel station klasse B
Voldoet aan GSM fase 2/2+
Klasse 4 (2 W @850/900 MHz)
Klasse 1 (1 W @ 1800/1900 MHz)
Besturing via AT-commando's (GSM 07.07, 07.05 en SIMCOM uitgebreide AT-commando's)
Laag stroomverbruik: 1.5mA (slaapmodus)
Bedrijfstemperatuurbereik: -40°C tot +85°C


Past bij!

Oké, maar je moet metingen doen van sommige sensoren om de eigenaar op de hoogte te stellen. Plots wordt de auto geëvacueerd, dan verandert de positie van de auto natuurlijk in de ruimte. Neem een ​​versnellingsmeter en een gyroscoop. Prima. Taxi, nu zijn we op zoek naar een sensor.

Ik denk dat de GY-521 MPU6050 zeker zal passen. Het bleek ook een temperatuursensor te hebben. Het zou nodig zijn om het te gebruiken, er zal zo'n "killer-functie" zijn. Stel dat de eigenaar van de auto hem onder het huis zet en weggaat. De temperatuur in de auto zal “soepel” veranderen. Wat gebeurt er als een indringer in de auto probeert te komen? Hij kan bijvoorbeeld de deur openen. De temperatuur in de auto begint snel te veranderen, omdat de lucht in de cabine zich met de lucht gaat vermengen omgeving. Ik denk dat het zal werken.


Belangrijkste kenmerken van GY-521 MPU6050

Module 3-assige gyroscoop + 3-assige versnellingsmeter GY-521 op de chip MPU-6050. Hiermee kunt u de positie en beweging van een object in de ruimte bepalen, de hoeksnelheid tijdens rotatie. Het heeft ook een ingebouwde temperatuursensor. Het wordt gebruikt in verschillende helikopters en vliegtuigmodellen en op basis van deze sensoren kun je een motion capture-systeem samenstellen.

Chip - MPU-6050
Voedingsspanning - van 3,5V tot 6V (DC);
Gyrobereik - ± 250 500 1000 2000 ° / s
Bereik versnellingsmeter - ± 2 ± 4 ± 8 ± 16g
Communicatie-interface - I2C
Afmeting - 15x20 mm.
Gewicht - 5 g


Past bij!

Een trillingssensor is ook handig. Plots zullen ze proberen de auto met "brute force" te openen, nou ja, of op de parkeerplaats zal een andere auto je auto raken. Laten we de trillingssensor SW-420 nemen (instelbaar).


Belangrijkste kenmerken van SW-420

Voedingsspanning - 3.3 - 5V
Uitgangssignaal - digitaal Hoog/Laag (normaal gesloten)
Gebruikte sensor - SW-420
Gebruikte vergelijker - LM393
Afmetingen - 32x14 mm
Bovendien - Er is een instelweerstand.


Past bij!

Schroef de SD-geheugenkaartmodule vast. Laten we een logbestand schrijven.


Belangrijkste kenmerken van de SD-geheugenkaartmodule

Met de module kunt u de gegevens opslaan, lezen en schrijven naar de SD-kaart die nodig zijn voor de werking van het apparaat op basis van een microcontroller. Het gebruik van het apparaat is relevant bij het opslaan van bestanden van tientallen megabytes tot twee gigabytes. Het bord bevat een SD-kaarthouder, een stroomstabilisator voor de kaart, een connector voor de interface en stroomleidingen. Als je moet werken met geluids-, video- of andere volumetrische gegevens, zoals het loggen van gebeurtenissen, sensorgegevens of het opslaan van webserverinformatie, dan maakt de SD-geheugenkaartmodule voor Arduino het mogelijk om een ​​SD-kaart voor deze doeleinden te gebruiken. Met behulp van de module kunt u de functies van de SD-kaart bestuderen.
Voedingsspanning - 5 of 3,3 V
Geheugencapaciteit SD-kaart - tot 2 GB
Afmetingen - 46 x 30 mm


Past bij!

En voeg een servoaandrijving toe, wanneer de sensoren worden geactiveerd, zal de servoaandrijving met de DVR draaien en een video van het incident opnemen. Neem de MG996R-servo.


Belangrijkste kenmerken van de MG996R-servo:

stabiel en betrouwbare bescherming tegen schade
- Metalen aandrijving
- Dubbelrijig kogellager
- Draadlengte 300 mm
- Afmetingen 40x19x43mm
- Gewicht 55 gram
- Draaihoek: 120 graden
- werksnelheid:: 0.17sec/60 graden (4,8V onbelast)
- Bedrijfssnelheid: 0.13sec/60 graden (6V onbelast)
- Startkoppel: 9,4 kg/cm bij 4,8 V voeding
- Startkoppel: 11kg/cm met 6V voeding
- Bedrijfsspanning: 4,8 - 7,2 V
- Alle aandrijfdelen zijn van metaal


Past bij!

Verzamelen

Er zijn een groot aantal artikelen over het aansluiten van elke sensor in Google. En ik heb geen zin om nieuwe fietsen uit te vinden, dus laat ik links naar eenvoudige en werkende opties.

Dit project betreft de ontwikkeling en verbetering van een systeem om eventuele inbraakpogingen door dieven te voorkomen/controleren. Het ontwikkelde beveiligingsapparaat maakt gebruik van een ingebed systeem (inclusief een hardwaremicrocontroller die gebruikmaakt van open source-code en een gsm-modem) op basis van GSM-technologie (Global System for Mobile Communications).

Het beveiligingsapparaat kan in het huis worden geïnstalleerd. Interfacesensor inbraakalarm ook verbonden met het beveiligingssysteem op basis van de controller.
Wanneer een inbraakpoging wordt ondernomen, stuurt het systeem een ​​waarschuwingsbericht (bijvoorbeeld sms) naar de eigenaar op mobiele telefoon of naar een vooraf geconfigureerde mobiele telefoon voor verdere verwerking.

Het beveiligingssysteem bestaat uit: Arduino-microcontroller Uno en een standaard SIM900A-modem op basis van GSM/GPRS. Het hele systeem kan worden gevoed door elke 12V 2A voeding/batterij.

Het onderstaande diagram wordt getoond: beveiligingssysteem gebaseerd op Arduino.

De bediening van het systeem is zeer eenvoudig en spreekt voor zich. Wanneer het systeem van stroom wordt voorzien, gaat het in de stand-bymodus. Wanneer de J2-connectorpinnen zijn kortgesloten, wordt een voorgeprogrammeerd waarschuwingsbericht verzonden naar de gewenste mobiele nummer. U kunt elke inbraakdetector (zoals een lichtscherm of bewegingsdetector) aansluiten op de J2-ingangsconnector. Merk op dat een actief-laag (L) signaal op pin 1 van connector J2 het inbraakalarm activeert.

Bovendien is er een optioneel “call-alarm” apparaat aan het systeem toegevoegd. Het activeert telefoongesprek wanneer de gebruiker op de S2-knop drukt (of wanneer een andere elektronische unit een alarm activeert). Na het indrukken van de “call” (S2) knop, kan het gesprek worden afgebroken door op een andere S3 knop te drukken, de “end” knop. Deze optie kan worden gebruikt om bij een inbraak een alarm 'gemiste oproep' te genereren.

Het circuit is zeer flexibel, dus het kan elk SIM900A-modem gebruiken (en natuurlijk het Arduino Uno-bord). Lees de modemdocumentatie zorgvuldig door voordat u deze in elkaar zet. Dit zal het fabricageproces van het systeem vergemakkelijken en plezierig maken.

Lijst met radio-elementen

Aanduiding Type denominatie Hoeveelheid OpmerkingWinkelMijn kladblok
Arduino-bord

Arduino Uno

1 Naar notitieblok
GSM/GPRS-modemSIM900A1 Naar notitieblok
IC1 Lineaire regelaar:

LM7805

1 Naar notitieblok
C1 100uF 25V1 Naar notitieblok
C2 elektrolytische condensator10uF 16V1 Naar notitieblok
R1 Weerstand

1 kOhm

1 Naar notitieblok
LED1 Lichtgevende diode 1 Naar notitieblok
S1 KnopMet fixatie1
In het afgelopen decennium heeft autodiefstal een van de belangrijkste plaatsen ingenomen in de structuur van gepleegde misdaden in de wereld. Dit heeft niet zozeer te maken met het soortelijk gewicht van deze categorie diefstallen ten opzichte van het totaal aantal misdrijven, maar met de omvang van de schade die wordt veroorzaakt door de hoge autokosten. De geringe doeltreffendheid van de maatregelen die tegen het einde van de jaren 90 waren genomen op het gebied van de bestrijding van diefstal van motorvoertuigen, leidde tot de oprichting van stabiele groepen die gespecialiseerd zijn in het plegen van deze misdaden en die de kenmerken van de georganiseerde misdaad hebben; je hebt vast wel eens gehoord van de term 'black car business'. De parkeergarage van Europese staten mist jaarlijks ≈ 2% van de auto's die het onderwerp worden van criminele inbreuken. Zo kwam ik op het idee om een ​​gsm-alarm voor mijn auto te maken op basis van Arduino Uno.

Laten we beginnen!

Waarvan gaan we incasseren?

We moeten het hart van ons systeem kiezen. Naar mijn mening is er voor dergelijke signalering niets beters dan de Arduino Uno. Het belangrijkste criterium is een voldoende aantal "pinnen" en de prijs.


Belangrijkste kenmerken van de Arduino Uno

Microcontroller - ATmega328
Bedrijfsspanning - 5 V
Ingangsspanning (aanbevolen) - 7-12 V
Ingangsspanning (limiet) - 6-20 V
Digitale I/O - 14 (waarvan 6 kunnen worden gebruikt als PWM-uitgangen)
Analoge ingangen - 6
Gelijkstroom via ingang/uitgang - 40 mA
Gelijkstroom voor uitgang 3.3V - 50mA
Flash-geheugen - 32 KB (ATmega328) waarvan 0,5 KB wordt gebruikt voor de bootloader
RAM - 2 Kb (ATmega328)
EEPROM - 1 Kb (ATmega328)
Klokfrequentie - 16 MHz


Past bij!

Nu moet je een gsm-module selecteren, want ons alarmsysteem moet de autobezitter kunnen verwittigen. Dus je moet "googlen" ... Hier is een uitstekende sensor SIM800L, de grootte is gewoon geweldig.


Ik dacht en bestelde het uit China. Alles was echter niet zo rooskleurig. De sensor weigerde simpelweg om de simkaart op het netwerk te registreren. Al het mogelijke is geprobeerd - het resultaat is nul.
Er waren aardige mensen die me iets coolers gaven - Sim900 Shield. Dit zijn nu serieuze dingen. De Shield heeft zowel een microfoon- als koptelefoonaansluiting, een volwaardige telefoon.


Belangrijkste kenmerken van Sim900 Shield

4 werkfrequentiestandaarden 850/ 900/1800/1900 MHz
GPRS multi-slot klasse 10/8
GPRS mobiel station klasse B
Voldoet aan GSM fase 2/2+
Klasse 4 (2 W @850/900 MHz)
Klasse 1 (1 W @ 1800/1900 MHz)
Besturing via AT-commando's (GSM 07.07, 07.05 en SIMCOM uitgebreide AT-commando's)
Laag stroomverbruik: 1.5mA (slaapmodus)
Bedrijfstemperatuurbereik: -40°C tot +85°C


Past bij!

Oké, maar je moet metingen doen van sommige sensoren om de eigenaar op de hoogte te stellen. Plots wordt de auto geëvacueerd, dan verandert de positie van de auto natuurlijk in de ruimte. Neem een ​​versnellingsmeter en een gyroscoop. Prima. Taxi, nu zijn we op zoek naar een sensor.

Ik denk dat de GY-521 MPU6050 zeker zal passen. Het bleek ook een temperatuursensor te hebben. Het zou nodig zijn om het te gebruiken, er zal zo'n "killer-functie" zijn. Stel dat de eigenaar van de auto hem onder het huis zet en weggaat. De temperatuur in de auto zal “soepel” veranderen. Wat gebeurt er als een indringer in de auto probeert te komen? Hij kan bijvoorbeeld de deur openen. De temperatuur in de auto begint snel te veranderen, omdat de lucht in de cabine zich begint te vermengen met de omgevingslucht. Ik denk dat het zal werken.


Belangrijkste kenmerken van GY-521 MPU6050

Module 3-assige gyroscoop + 3-assige versnellingsmeter GY-521 op de chip MPU-6050. Hiermee kunt u de positie en beweging van een object in de ruimte bepalen, de hoeksnelheid tijdens rotatie. Het heeft ook een ingebouwde temperatuursensor. Het wordt gebruikt in verschillende helikopters en vliegtuigmodellen en op basis van deze sensoren kun je een motion capture-systeem samenstellen.

Chip - MPU-6050
Voedingsspanning - van 3,5V tot 6V (DC);
Gyrobereik - ± 250 500 1000 2000 ° / s
Bereik versnellingsmeter - ± 2 ± 4 ± 8 ± 16g
Communicatie-interface - I2C
Afmeting - 15x20 mm.
Gewicht - 5 g


Past bij!

Een trillingssensor is ook handig. Plots zullen ze proberen de auto met "brute force" te openen, nou ja, of op de parkeerplaats zal een andere auto je auto raken. Laten we de trillingssensor SW-420 nemen (instelbaar).


Belangrijkste kenmerken van SW-420

Voedingsspanning - 3.3 - 5V
Uitgangssignaal - digitaal Hoog/Laag (normaal gesloten)
Gebruikte sensor - SW-420
Gebruikte vergelijker - LM393
Afmetingen - 32x14 mm
Bovendien - Er is een instelweerstand.


Past bij!

Schroef de SD-geheugenkaartmodule vast. Laten we een logbestand schrijven.


Belangrijkste kenmerken van de SD-geheugenkaartmodule

Met de module kunt u de gegevens opslaan, lezen en schrijven naar de SD-kaart die nodig zijn voor de werking van het apparaat op basis van een microcontroller. Het gebruik van het apparaat is relevant bij het opslaan van bestanden van tientallen megabytes tot twee gigabytes. Het bord bevat een SD-kaarthouder, een stroomstabilisator voor de kaart, een connector voor de interface en stroomleidingen. Als je moet werken met geluids-, video- of andere volumetrische gegevens, zoals het loggen van gebeurtenissen, sensorgegevens of het opslaan van webserverinformatie, dan maakt de SD-geheugenkaartmodule voor Arduino het mogelijk om een ​​SD-kaart voor deze doeleinden te gebruiken. Met behulp van de module kunt u de functies van de SD-kaart bestuderen.
Voedingsspanning - 5 of 3,3 V
Geheugencapaciteit SD-kaart - tot 2 GB
Afmetingen - 46 x 30 mm


Past bij!

En voeg een servoaandrijving toe, wanneer de sensoren worden geactiveerd, zal de servoaandrijving met de DVR draaien en een video van het incident opnemen. Neem de MG996R-servo.


Belangrijkste kenmerken van de MG996R-servo:

Stabiele en betrouwbare bescherming tegen schade
- Metalen aandrijving
- Dubbelrijig kogellager
- Draadlengte 300 mm
- Afmetingen 40x19x43mm
- Gewicht 55 gram
- Draaihoek: 120 graden
- Bedrijfssnelheid: 0,17 sec/60 graden (4,8 V onbelast)
- Bedrijfssnelheid: 0.13sec/60 graden (6V onbelast)
- Startkoppel: 9,4 kg/cm bij 4,8 V voeding
- Startkoppel: 11kg/cm met 6V voeding
- Bedrijfsspanning: 4,8 - 7,2 V
- Alle aandrijfdelen zijn van metaal


Past bij!

Verzamelen

Er zijn een groot aantal artikelen over het aansluiten van elke sensor in Google. En ik heb geen zin om nieuwe fietsen uit te vinden, dus laat ik links naar eenvoudige en werkende opties.

De auteur wilde zelfgemaakt maken, zodat het goedkoop en draadloos was.
Dit zelfgemaakte product maakt gebruik van een PIR-bewegingssensor en informatie wordt verzonden met behulp van een RF-module.

De auteur wilde de infraroodmodule gebruiken, maar omdat deze een beperkt bereik heeft en bovendien kan werken alleen zichtlijn naar de ontvanger, dus koos hij voor een RF-module die een bereik van ongeveer 100 meter kon halen.


Om het voor bezoekers gemakkelijker te maken om de alarmmontage te bekijken, heb ik besloten het artikel in 5 fasen op te delen:
Fase 1: Oprichting van de zender.
Fase 2: Maak een ontvanger.
Fase 3: Software-installatie.
Fase 4: Testen van de geassembleerde modules.
Fase 5: De behuizing monteren en de module erin installeren.

Het enige dat de auteur nodig heeft, is:
- 2 borden ARDUINO UNO / ARDUINO MINI / ARDUINO NANO voor ontvanger en zender;
- RF-zendontvangermodule (433 MHZ);
- PIR bewegingssensor;
- 9V batterijen (2 stuks) en connectoren daarvoor;
- Zoemer;
- Lichtgevende diode;
- Weerstand met een weerstand van 220 Ohm;
- Broodplank;
- Jumpers / draden / jumpers;
- Printplaat;
- Interboard pin-connectoren;
- Schakelaars;
- Koffers voor ontvanger en zender;
- Gekleurd papier;
- Montagetape;
- Type-setting scalpel;
- Heet lijmpistool;
- Soldeerbout;
- Tangen / gereedschap voor het verwijderen van isolatie;
- Schaar voor metaal.


Fase 1.
Laten we beginnen met het maken van de zender.
Hieronder ziet u een diagram van de bewegingssensor.


De zender zelf bestaat uit:
- Bewegingssensor;
- Arduino-borden;
- Zendermodule.


De sensor zelf heeft drie uitgangen:
- VCC;
- GND;
- UIT.

Daarna heb ik de werking van de sensor gecontroleerd


Aandacht!!!
Voordat de firmware wordt geüpload, zorgt de auteur ervoor dat het huidige bord en de seriële poort correct zijn ingesteld in de Arduino IDE-instellingen. Daarna heb ik de schets geüpload:

Later, als de bewegingssensor beweging ervoor detecteert, gaat de LED branden en kun je het bijbehorende bericht ook op de monitor zien.


Volgens onderstaand schema.


De zender heeft 3 uitgangen (VCC, GND en Data), sluit deze aan:
- VCC > 5V uitgang op het bord;
- GND > GND;
- Data > 12 output op het bord.

Stage 2.


De ontvanger zelf bestaat uit:
- RF-ontvangermodule;
- Arduino-borden
- Zoemer (luidspreker).

Ontvangerschema:


De ontvanger heeft, net als de zender, 3 uitgangen (VCC, GND en Data), die we aansluiten:
- VCC > 5V uitgang op het bord;
- GND > GND;
- Data > 12 output op het bord.


Fase 3.
De auteur koos het bibliotheekbestand als basis voor de volledige firmware. Ik heb die gedownload en in de map Arduino-bibliotheken geplaatst.

Zendersoftware.
Voordat de firmwarecode naar het bord wordt geüpload, heeft de auteur ingesteld: volgende parameters: IDE:
- Bord -> Arduino Nano (of welk bord je ook gebruikt);
- Seriële poort ->


Na het instellen van de parameters, heeft de auteur het Wireless_tx-firmwarebestand gedownload en naar het bord geüpload:

Ontvangersoftware
De auteur herhaalt dezelfde stappen voor het ontvangende bord:
- Bord -> Arduino UNO (of welk bord je ook gebruikt);
- Seriële poort -> COM XX (controleer de com-poort waarop uw bord is aangesloten).



Nadat de auteur de parameters heeft ingesteld, downloadt hij het bestand wireless_rx en uploadt het naar het bord:


Daarna heeft de auteur, met behulp van een programma dat kan worden gedownload, een geluid voor de zoemer gegenereerd.

Fase 4.
Vervolgens besloot de auteur na het downloaden van de software te controleren of alles naar behoren werkt. De auteur sloot de voedingen aan en ging met zijn hand voor de sensor, en hij kreeg een zoemer, wat betekent dat alles werkt zoals het hoort.


Fase 5.
Eindmontage van de zender
Eerst sneed de auteur de uitstekende draden af ​​van de ontvanger, zender, Arduino-borden, enz.


Daarna heb ik het Arduino-bord verbonden met een bewegingssensor en een RF-zender met behulp van jumpers.


Vervolgens begon de auteur te pleiten voor de zender.

Eerst knipte hij uit: een gat voor de schakelaar, en ook een rond gat voor de bewegingssensor, waarna hij het op de behuizing lijmde.




Vervolgens vouwde de auteur een vel gekleurd papier en plakte de afbeelding op de voorkant om de interne delen van het zelfgemaakte product te verbergen.


Daarna begon de auteur de elektronische vulling in de behuizing te plaatsen met dubbelzijdig plakband.



Eindmontage van de ontvanger
De auteur besloot het Arduino-bord met een rubberen band op de printplaat aan te sluiten en ook een RF-ontvanger te installeren.


Vervolgens snijdt de auteur twee gaten in het andere lichaam, één voor de zoemer, de andere voor de schakelaar.


En stokken.