Arduino draadloze beveiligingssensor. Op Arduino gebaseerd draadloos alarm

Dit project betreft de ontwikkeling en verbetering van een systeem om elke poging tot inbraak door dieven te voorkomen / beheersen. Ontwikkeld door Veiligheidstoestel maakt gebruik van een ingebed systeem (inclusief een hardware-microcontroller met behulp van open source-software en een gsm-modem) op basis van GSM-technologie (Global System for Mobile Communications).

Een beveiligingsapparaat kan in het huis worden geïnstalleerd. De interfacesensor voor het inbraakalarm is ook aangesloten op het controllergebaseerde inbraakalarmsysteem.
Bij een poging tot penetratie 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: microcontroller arduino Uno en een standaard SIM900A modem op basis van GSM/GPRS. Het hele systeem kan worden gevoed door elke 12V 2A voeding / batterij.

Hieronder is een diagram van het beveiligingssysteem op: Arduino basis.

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

Bovendien is er een optioneel “oproep - alarm” apparaat aan het systeem toegevoegd. Het activeert telefoongesprek wanneer de gebruiker op de S2-knop drukt (of wanneer een andere elektronische eenheid een alarm activeert). Na het indrukken van de "bel"-knop (S2), kan de oproep worden geannuleerd door op een andere knop S3 te drukken - de "beëindigen"-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 documentatie bij uw modem goed door voordat u met de montage begint. Dit maakt het proces om het systeem gemakkelijker en leuker te maken.

Lijst van radio-elementen

Aanwijzing Soort van denominatie Hoeveelheid OpmerkingWinkelMijn notitieboek
Arduino-bord

Arduino Uno

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

LM7805

1 In notitieblok
C1 100μF 25V1 In notitieblok
C2 Elektrolytische condensator10mkF 16V1 In notitieblok
R1 Weerstand

1 kΩ

1 In notitieblok
LED1 Lichtgevende diode 1 In notitieblok
S1 KnopMet fixatie1

Goed moment van de dag 🙂 Vandaag gaan we het hebben over alarm. De dienstenmarkt zit vol met bedrijven, organisaties die zich bezighouden met het installeren en onderhouden van beveiligingssystemen. Deze firma's bieden de koper een grote verscheidenheid aan alarmsystemen. Hun kosten zijn echter verre van goedkoop. Maar waar moet een persoon aan die niet zoveel persoonlijke fondsen heeft om dat te doen, aan worden uitgegeven? inbraakalarm? Ik denk dat de conclusie zichzelf suggereert - doen alarm door hun met de hand... Dit artikel geeft een voorbeeld van hoe je je eigen code kunt maken beveiligingssysteem met behulp van Arduino uno board en meerdere magnetische sensoren.

Het systeem kan worden gedeactiveerd door het wachtwoord in te voeren vanaf het toetsenbord en op de ' * ‘. Als u het huidige wachtwoord wilt wijzigen, kunt u dit doen door op de ' B', En als u de bewerking wilt overslaan of afbreken, kunt u dit doen door op de toets . te drukken ‘#’. Het systeem heeft een zoemer voor het afspelen van verschillende geluiden bij het uitvoeren van een bepaalde handeling.

Het systeem wordt geactiveerd door op de 'A'-knop te drukken. Het systeem geeft 10 seconden om het pand te verlaten. Na 10 seconden wordt het alarm geactiveerd. Het aantal magnetische sensoren hangt af van uw eigen verlangen... Het project omvat 3 sensoren (voor twee ramen en een deur). Wanneer het raam wordt geopend, wordt het systeem geactiveerd en gaat het alarm af via de zoemer. Het systeem kan worden gedeactiveerd door een wachtwoord in te voeren. Wanneer de deur wordt geopend, geeft het alarm de bezoeker 20 seconden om het wachtwoord in te voeren. Het systeem gebruikt ultrasoon sensor die beweging kan detecteren.

Video van de werking van het apparaat

Ambacht gemaakt voor informatieve/educatieve doeleinden. Als je het thuis wilt gebruiken, moet je het verfijnen. Omsluit de besturingseenheid in een metalen behuizing en beveilig de voedingskabel tegen mogelijke beschadiging.

Laten we beginnen!

Stap 1: wat hebben we nodig?

  • Arduino uno-bord;
  • LCD-scherm met hoog contrast 16 × 2;
  • 4 × 4 toetsenbord;
  • 10 ~ 20kΩ potentiometer;
  • 3 magnetische sensoren (het zijn ook reed-schakelaars);
  • 3 2-pins schroefklemmen;
  • HC-SR04 ultrasone sensor;

Als je een systeem wilt bouwen zonder Arduino te gebruiken, heb je ook het volgende nodig:

  • DIP-connector voor atmega328 + atmega328-microcontroller;
  • 16MHz kristalresonator;
  • 2 stuks. 22pF keramiek, 2 st. 0.22uF elektrolytische condensator;
  • 1 pc. 10k ohm weerstand;
  • stopcontact (DC-stroomaansluiting);
  • broodplank;
  • 5V voeding;

En één doos om alles in te pakken!

instrumenten:

  • Iets dat een plastic doos kan snijden;
  • Heet lijmpistool;
  • Boor / schroevendraaier.

Stap 2: Alarmcircuit

Het aansluitschema is vrij eenvoudig.

Kleine verduidelijking:

LCD met hoog contrast:

  • Pin1 - Vdd naar GND;
  • Pin2 - Vss naar 5V;
  • Pin3 - Vo (naar de middelste pin van de potentiometer);
  • Pin4 - RS naar pin 8 van Arduino;
  • Pin5 - RW naar GND;
  • Pin6 - EN naar pin 7 van Arduino;
  • Pin11 - D4 naar pin 6 van Arduino;
  • Pin12 - D5 naar pin 5 van Arduino;
  • Pin13 - D6 naar pin 4 van Arduino;
  • Pin14 - D7 naar pin 3 van Arduino;
  • Pin15 - Vee (naar de rechter- of linkerpen van de potentiometer).

4 × 4 toetsenbord:

Van links naar rechts:

  • Pin1 tot A5 pin van Arduino;
  • Pin2 naar A4 pin van Arduino;
  • Pin3 naar A3 pin van Arduino;
  • Pin4 naar A2 pin van Arduino;
  • Pin5 naar pin 13 van Arduino;
  • Pin6 naar pin 12 van Arduino;
  • Pin7 naar pin 11 van Arduino;
  • Pin8 naar pin 10 van Arduino.

Stap 3: Firmware

De stap presenteert de code die wordt gebruikt door de ingebouwde!

Download de codebender-plug-in. Klik op de knop "Uitvoeren" in de Arduino en flash je bord met dit programma. Dat is alles. Je hebt zojuist de Arduino geprogrammeerd! Als u wijzigingen in de code wilt aanbrengen, klikt u op de knop "Bewerken".

Opmerking: als u Codebender IDE niet gebruikt om uw Arduino-bord te programmeren, moet u extra bibliotheken in de Arduino IDE installeren.

Stap 4: maak je eigen besturingskaart

Na met succes gemonteerd en getest nieuw project op basis van Arduino uno kun je beginnen met het maken van je eigen bord.

Enkele tips voor een meer succesvolle afronding van de ondernomen actie:

  • Een weerstand van 10K moet worden aangesloten tussen de 1 (reset) en 7 (Vcc) pinnen van de Atmega328-microcontroller.
  • Een 16MHz-kristal moet worden aangesloten op pinnen 9 en 10, gelabeld XTAL1 en XTAL2
  • Verbind elke draad van de resonator met 22pF condensatoren. Loodvrije condensator leidt naar pin 8 (GND) van de microcontroller.
  • Vergeet niet om de tweede voedingslijn van de ATmega328 aan te sluiten op de voeding, de 20-Vcc en 22-GND pinnen.
  • In de tweede afbeelding vindt u meer informatie over de pinnen van de microcontroller.
  • Als u van plan bent een voeding te gebruiken met een spanning hoger dan 6V, moet u een lineaire regelaar LM7805 en twee 0.22uF elektrolytische condensatoren gebruiken, die aan de ingang en uitgang van de regelaar moeten worden gemonteerd. Het is belangrijk! Breng niet meer dan 6V op het bord aan !!! Anders verbrandt u uw Atmega-microcontroller en LCD-scherm.

Stap 5: Plaats de schakeling in de behuizing

De lente gaat, zoals u weet, gepaard met allerlei exacerbaties, en de belangrijkste "exacerbatie" is uit zijn holen de straat in geklommen om zich toe te eigenen wat er niet bij hoort. Dit betekent dat het onderwerp bescherming van uw eigendom relevanter dan ooit wordt.
De site heeft al verschillende recensies over zelfgemaakte. Ze zijn natuurlijk functioneel, maar ze hebben allemaal gemeenschappelijk kenmerk- afhankelijkheid van het stopcontact. Als dit geen probleem is bij onroerend goed, waar al elektriciteit is geleverd, hoe zit het dan met onroerend goed waar het stopcontact ver weg is of de omgeving volledig spanningsloos is? Ik besloot de andere kant op te gaan - een langlevend, maximaal eenvoudig en onafhankelijk van het lichtnet te monteren, dat de hele tijd zal slapen, en wanneer de overvallers binnendringen, beginnen en de eigenaar aan de telefoon bellen, signalerend met een eenvoudige alarmoproep.

Artikelen beoordelen

Gekocht:
1. Broodplank enkelzijdig 5x7 cm: getinax- of glasvezel
* - glasvezel is veel beter dan getinax.
2. Neoway M590 module -, met PCB antenne -
3. Arduino Pro Mini "RobotDyn" ATmega168PA 8MHz 3.3V -
4. Lithium laad-ontlaad besturingskaart -

Gedolven uit de ruïnes van de beschaving:
1. Rekken voor het bord, gezaagd uit de instrumentenkoffers - 6 stuks.
2. Batterij lithium plat 1300mAh
3. Beugels die worden gebruikt om de kabel aan de muur te bevestigen
4. Gum voor briefpapier
5. Koperdraad dikte 1.5mm
6. Instrumentenkoffer van de lokale radiomarkt - 1.5$
7. Paar LED's andere kleur(overgenomen van VHS-speler)
8. Antenne en een knop met een dop (overgenomen van een wifi-router)
9. 4-polig aansluitblok (van de dimmer gehaald)
10. Stroomconnector (van een oude 18650-oplader)
11. 6-pins connector (afkomstig van een dvd-station)
12. Kan(van onder koffie bijvoorbeeld)

Arduino Pro Mini "RobotDyn" Atmega 168PA 3.3V 8MHz

Specificaties:
Microcontroller: ATmega168PA
Directe bedrijfsspanning:.8 - 5.5V
Bedrijfsspanning via de LE33-stabilisator: 3.3V of 5V (afhankelijk van het model)
Werktemperatuur:-40 ° C ... 105 ° C
Ingangsspanning: 3,35-12V (3,3V-model) of 5-12V (5V-model)
Digitale ingangen / uitgangen: 14 (waarvan 6 kunnen worden gebruikt als PWM-uitgangen: 3, 5, 6, 9, 10 en 11)
Analoge ingangen: 6
Timers-tellers: twee 8-bits en één 16-bits
Energiebesparende modi: 6
Constante stroom door ingang / uitgang: 40 mA
Flash-geheugen: 16 KB (2 gebruikt voor bootloader)
RAM: 1 Kb
EEPROM: 512 bytes
Bron schrijven / wissen geheugen: 10.000 Flash / 100.000 EEPROM
Klok frequentie: 8 MHz (3,3V-model) of 16 MHz (5V-model)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) en A5 (SCL)
UART-TTL: 0 (RX) en 1 (TX)
Data papier:

De keuze viel heel toevallig op deze atmega. op een forum waar energie-efficiënte projecten werden besproken, kwam ik in de comments advies tegen om precies de 168e atmega te gebruiken.
Ik moest echter knutselen om zo'n bord te vinden, aangezien alle kavels vaak bezaaid waren met 328 atmeg op een frequentie van 16 MHz, werkend op 5V. Voor mijn project waren dergelijke kenmerken vanaf het begin overbodig en onhandig, de zoektocht werd ingewikkelder.
Als gevolg hiervan kwam ik een 3,3-volt-versie van de Pro Mini op de Atmega 168PA op eBay tegen, en niet alleen een eenvoudige Chinese, maar onder het merk RobotDyn van een Russische ontwikkelaar. Ja, ook ik had in het begin, net als jij, een greintje twijfel. Maar tevergeefs. Toen het project al in elkaar zat en AliExpress een verplichte betaalde levering voor goedkope goederen invoerde (waarna de pakketten veel vaker verloren gingen), bestelde ik later de gebruikelijke Pro Mini Atmega168 (zonder PA) 3.3V 8MHz. Ik heb een beetje geëxperimenteerd met de energiebesparende modi met beide borden, waarbij ik een speciale schets in elk flitste en de microcontroller onderdompelde in de maximale energiebesparende modus, en dit is wat er gebeurde:
1) Arduino Pro Mini "RobotDyn": ~ 250μA
2) Arduino Pro Mini "NoName": toen de spanningsregelaar (RAW-uitgang) van stroom werd voorzien en de LED werd verwijderd, was het stroomverbruik: ~ 3.92mA




- zoals je begrijpt, is het verschil in stroomverbruik bijna 16 keer, dit komt omdat de NoName "Pro Mini een bos Atmega168+ gebruikt, waarvan de MK zelf alleen eet 20μA stroom (ik heb dit apart gecontroleerd), de rest van de gulzigheid valt op de AMS1117 lineaire spanningsomvormer - de datasheet bevestigt dit alleen:


In het geval van het RobotDyn-bord is de bundel iets anders - dit is Atmega168PA + - hier hebben we een andere LDO-stabilisator gebruikt, waarvan de kenmerken op het gebied van energiebesparing aangenamer bleken te zijn:


Ik heb het niet gesoldeerd, dus ik kan niet zeggen hoeveel Atmega168PA stroom verbruikt in pure vorm... In dit geval had ik er genoeg van ~ 250μA wanneer aangedreven door Nokiavsky lithium batterij... Als je echter AMS1117 soldeert van de NoName "van het moederbord, dan is de ATmega168 een gewone, in zijn pure vorm, zoals ik hierboven al zei, hij verbruikt 20μA.
Power-LED's kunnen worden uitgeschakeld met iets scherps. Het is geen probleem. De stabilisator werd gesoldeerd met een haardroger. Niet iedereen heeft echter een föhn en de vaardigheden om ermee te werken, dus beide bovenstaande opties hebben bestaansrecht.

Neoway M590E-module

Specificaties:
Frequenties: EGSM900 / DCS1800 Dual-band, of GSM850 / 1900 of Quad-band
Gevoeligheid:-107dBm
Maximale kracht overdragen: EGSM900 Klasse4 (2W), DCS1800 Klasse1 (1W)
Piekstroom: 2A
Werkende stroom: 210mA
Slaapstroom: 2,5mA
Werktemperatuur:-40 ° C ... + 85 ° C
Werkspanning: 3,3V ... 4,5V (3,9V aanbevolen)
Protocollen: GSM/GPRS Phase2/2+, TCP/IP, FTP, UDP etc.
internet: GPRS KLASSE 10
Data papier:

De goedkoopste GSM-module die op de markt te vinden is, meestal gebruikt, niet altijd door slimme gesoldeerd Chinese handen uit apparatuur. Waarom niet altijd handig? Ja, allemaal vanwege het solderen met een haardroger - vaak komen deze modules naar mensen met een kortgesloten plus en min, wat een van de redenen is voor hun onbruikbaarheid. Daarom is de eerste stap om de vermogenscontacten te laten rinkelen voor een kortsluiting.

Opmerking. Een apart belangrijk punt, naar mijn mening, zou ik willen opmerken - deze modules kunnen worden geleverd met een ronde coaxiale connector voor de antenne, waarmee je afzonderlijk een serieuzere antenne kunt bestellen en deze op de module kunt aansluiten zonder met een tamboerijn te dansen. En ze kunnen komen zonder deze connector. Dan hebben we het over de goedkoopste sets. Als je niet op een toevalstreffer wilt vertrouwen, dan zijn er wat duurdere sets, waar deze connector aanwezig is + een externe antenne op een textoliet bord is inbegrepen in de kit.

Deze module is ook grillig voor de voeding, omdat hij op zijn hoogtepunt tot 2A stroom verbruikt, en de diode in de kit lijkt te zijn ontworpen om de spanning van 5V te verlagen (daarom staat het op het 5V-bord zelf geschreven ) tot 4.2V, maar te oordelen naar de klachten van de mensen, levert het meer problemen op dan goed.
Stel dat je deze module al hebt gemonteerd, en in plaats van een diode is er een jumper gesoldeerd, aangezien we deze niet gaan voorzien van een spanning van 5V, maar deze rechtstreeks van een lithiumbatterij zullen voorzien, wat binnen het bereik van de toegestane spanningen van 3,3-4.2V.
Het zal nodig zijn om het op de een of andere manier op de computer aan te sluiten en te controleren op bruikbaarheid. In dit geval is het beter om jezelf van tevoren te kopen - hierdoor zullen we communiceren met de module en Arduino-kaarten via de UART seriële interface (USART).
De verbinding wordt hieronder in de afbeelding weergegeven (ik heb het getekend zoals ik kan):
TX-modem >>> RX-converter
RX-modem<<< TX конвертера
Batterij Plus - Modem Plus
De min van de lithiumbatterij wordt gecombineerd met de GND van de modem en de GND van de converter
Om de modem te starten, brengt u de BOOT-pin via een weerstand van 4,7 kOhm aan op GND


Voer intussen het programma uit op de computer. Let op de instellingen:
1) Selecteer de COM-poort waarop de TTL-converter is aangesloten, in mijn geval is dat COM4, ​​mogelijk heb je een andere.
2) Selecteer de baudrate. (Er is een nuance hier, omdat de modules zelf kunnen worden geconfigureerd voor verschillende snelheden, meestal 9600 baud of 115200 baud. Hier moet je empirisch selecteren, een bepaalde snelheid kiezen, verbinding maken en het AT-commando verzenden, als crackers als reactie komen , het gaat uit, selecteert een andere snelheid en herhaalt de opdracht, enzovoort totdat u een OK-antwoord krijgt).
3) Selecteer de pakketlengte (in dit geval 8 bits), de pariteitsbit is uitgeschakeld (geen), de stopbit is (1).
4) Zorg ervoor dat u het vakje aanvinkt + CR, en dan wordt automatisch een regelterugloopteken toegevoegd aan elk commando dat we aan het einde naar de module sturen - de module begrijpt alleen commando's met dit teken aan het einde.
5) Verbinding, hier is alles duidelijk, het klikte en we kunnen met de module aan de slag.

Als u op "Verbinden" klikt en vervolgens de module start door BOOT via een weerstand van 4,7K naar aarde toe te passen, zal de terminal eerst het bericht "MODEM: STARTUP" weergeven en na een tijdje het opschrift "+ PBREADY", wat betekent dat het telefoonnummer is gelezen boek, ook al is het leeg:

Onder deze spoiler AT-opdracht met voorbeelden

We drukken het AT-commando af - als reactie stuurt de module ons ons commando, aangezien de echo-modus is ingeschakeld, en OK:

Laten we de status van de modem controleren met het AT + OCMW-commando - als antwoord is ons commando opnieuw, + OCMW: 0 en OK.
0 - betekent dat de module klaar is voor gebruik, maar afhankelijk van de situatie kunnen er andere nummers zijn, bijvoorbeeld 3 - inkomende oproep, 4 - in verbindingsmodus, 5 - slaapmodus. Over 1 en 2 heb ik geen informatie gevonden.

Het wijzigen van de gegevensoverdrachtsnelheid op de UART gebeurt met het commando AT + IPR = 9600 - dit is als u een snelheid van 9600 nodig hebt. Als er iets anders is, is dit vergelijkbaar met AT + IPR = 19200 bijvoorbeeld of AT + IPR = 115200.

Laten we het netwerksignaal controleren. AT + CSQ, het antwoord komt + CSQ: 22,1 - de waarde tot op de komma heeft een bereik van 0 ... 31 (115 ... 52dBl) - dit is het signaalniveau, hoe meer hoe beter. Maar 99 betekent zijn afwezigheid. De waarde achter de komma is de signaalkwaliteit 0 ... 7 - hier is het al het tegenovergestelde, hoe lager het getal, hoe beter.

Schakel de echo-modus uit door de opdracht ATE0 te verzenden, zodat dubbele opdrachten niet in de weg zitten. Omgekeerd wordt deze modus ingeschakeld door het ATE1-commando.

Bekijk firmwareversie AT + GETVERS



Deze en vele andere commando's kunnen worden bekeken

Borden uitlijnen

Terwijl Pro Mini eenvoudig op het breadboard te solderen is, is de situatie met de GSM-module iets gecompliceerder. zijn contactkam bevindt zich slechts aan één kant, en als je het alleen soldeert, hangt de andere kant van het bord gewoon in de lucht. Toen moest ik, opnieuw met het oog, 3 extra gaten boren in de buurt van drie hoeken op het bord. De gebieden rond elk van de gaten werden vervolgens ontdaan van het masker. Voor het gemak heb ik de losgekoppelde draden van de kam op een soldeerloze breadboard (wit) geplaatst en, nadat ik het GSM-modulebord erop had geïnstalleerd, normaal gesoldeerd:

Later moest ik nog een gaatje maken, in mijn geval op de letter "I", waar staat "Made In China", aan de rand van het bord.


Het bleek dat het toegevoegde contact, dat in wezen GND is, naast de GND van het Pro Mini-bord kwam, en zo werd het mogelijk om de aarde van de GSM-module en de Pro Mini te combineren met een druppel soldeer (de lange pin in het midden en rechts daarvan is de Pro Mini-pin) - Ik heb ze gemarkeerd met pijlen. Natuurlijk liep het een beetje scheef, maar nu houdt het betrouwbaar vast:



Er is wat ruimte over tussen de borden - daarin heb ik een lithgeplaatst met een voorgesoldeerde microUSB-connector en gesoldeerde draden.

Daar zit de sjaal heel strak in, terwijl de gloed van de LED's vanaf de zijkant duidelijk zichtbaar zal zijn door een klein gaatje in de kast.



PCB-standaards

Om het bord veilig in de behuizing te bevestigen, moest ik een paar dagen nadenken over hoe dit zou kunnen worden geïmplementeerd. De optie met smeltlijm werd om verschillende redenen niet overwogen - het kan eraf vallen, vervormen en vooral, de structuur zou moeilijk te demonteren zijn.
Ik kwam op het idee dat de eenvoudigste en meest correcte optie hier zou zijn om racks te gebruiken, wat ik natuurlijk niet had. Er waren echter een paar niet-werkende opladers, waaruit een lang rek met een schroefdraad voor zelftappende schroeven werd gesneden. Elke standaard werd doormidden gezaagd en afgewerkt met een vijl tot ongeveer 9,5 mm - het is op deze hoogte dat de batterij onder het bord voldoende marge heeft, ongeveer 2 mm - dit wordt gedaan zodat de gesoldeerde contacten van het bord elkaar niet raken het met hun punten en zodat het mogelijk is om er een stuk schuimrubber tussen te steken voor bevestiging.
Wat betreft het rechtstreeks aan de behuizing bevestigen van het bord, hier heb ik vier stroken uit een koffieblik gesneden, aan de uiteinden waarvan ik een gat heb geboord en ze vervolgens op dezelfde schroeven heb bevestigd die in de rekken zijn geschroefd. Hieronder op de foto zie je hoe het eruit ziet.
De volgende stap is om een ​​paar rekken aan de andere kant van het bord te schroeven, dus van bovenaf, zodat wanneer de koffer gesloten is, het deksel iets op deze rekken rust, waardoor extra fixatie ontstaat. Even later, onder deze zaak, kwam ik een lichaam tegen onder de Sovjet-propagandaradio (als het eerder was gevonden, had ik alle rekken hier vandaan gehaald), waar ik een paar vond dat min of meer geschikt was in hoogte, maar eerst heb ik ze in het midden geboord met een boormachine onder zelftappende schroeven. Daarna knipte hij ze af en werkte ze ook af met een vijl, waarbij hij het overtollige verwijderde. Hier heb ik een subtiliteit - op de foto kun je zien dat de ene witte standaard vanaf de rand op het getinax-bord is geschroefd en de andere wit - rechtstreeks op het modulebord, omdat vanaf de ene rand van het modembord bedekt het onderste bord volledig, en vanaf de andere rand - integendeel - kijkt het onderste naar buiten. Tegelijkertijd was het in beide platen noodzakelijk om extra gaten te boren zodat de doppen van de zelftappende schroeven vrij konden passeren.
En tot slot, het blijft om ervoor te zorgen dat het bord altijd evenwijdig aan de behuizing is - voor dit geval passen de beugels die worden gebruikt om draden en kabels aan de muur te bevestigen perfect, ik heb er eerder de spijkers uit verwijderd. De beugels hechten goed aan het bord met de holle kant zonder extra apparaten, het enige is rechts van de simkaart, de breedte van de beugel bleek te groot en moest ook worden geschuurd.
Alle details zijn met het oog en empirisch aangepast, onder de foto van al het bovenstaande:



Connectoren. LED's. Knop.

Omdat ik geen kam meer had, moest ik de 6-pins connector van de dvd-drivekaart demonteren, die ik vervolgens aan de Pro Mini heb gesoldeerd, dit is voor het gemak van het flashen van de kaart. In de buurt heb ik een ronde connector (Nokia 3,5 mm) gesoldeerd voor het opladen van lithium.

De body van de 6-pins connector was iets afgewerkt met een vijl, omdat de randen iets boven de body uitstaken. De oplaadaansluiting past perfect tegen de wand van de koffer.

Aan de andere kant van het bord heb ik een knop gesoldeerd om het apparaat opnieuw op te starten en twee LED's voor het debuggen van de firmware - de rode LED is verbonden met de GSM-module, de tweede groene LED op pin 10 van de Pro Mini - het is gemakkelijker voor mij om het programma dat het gebruikt te debuggen.

Verfijning van de batterij

Een lege Nokia-batterij van Nokia-telefoons is niet minder gebruikelijk dan de 18650, maar velen weigeren deze eenvoudig te gebruiken vanwege het ongemak van het aansluiten van de contacten, die in de batterij zelf zijn verzonken. Het is onwenselijk om ze te solderen, dus werd besloten om de door deze voorgestelde methode te gebruiken, namelijk een klemmenblok maken van een briefpapierwisser en koperdraad (1,5 mm dik).
Eerst doorboorde ik een stuk gum met twee draden met voorgestripte uiteinden, en plaatste het op de batterijcontacten zodat de afstand ertussen samenviel,
Ik boog de punten, vertinde het met een soldeerbout en trok het een beetje terug aan de lange uiteinden zodat de resulterende contacten in de gum verzonken.



Montage op een batterij:

Je kunt het aansluitblok vastzetten met een rubberen band of het omwikkelen met blauwe isolatietape, wat ik uiteindelijk heb gedaan.

Samenkomst.

Het grootste deel van het werk is gedaan, het blijft om alles te verzamelen en te repareren.
Tussen de batterij en het bord heb ik een stuk schuimrubber geplaatst zodat het daarna niet in de behuizing zou kruipen. Ik heb bovendien een condensator van 2200 uF gesoldeerd om de module van stroom te voorzien.

Wanneer opladen is aangesloten:

Kader. Extern aansluitblok.

Ik kreeg de koffer op de lokale radiomarkt voor ongeveer $ 1,5, vertaald in dollars, 95x60x25 mm groot, bijna zo groot als een pakje sigaretten. Ik heb er meerdere gaten in geboord. Ten eerste voor een 4-pins aansluitblok, afkomstig van een niet-werkende dimmer.
Ik heb de twee uiterste contacten volledig van de bouten bevrijd met pakkingen, geboorde gaten voor langere bouten, waarop het hele aansluitblok op het lichaam zal blijven zitten. Op de behuizing zelf zullen de twee extreme gaten natuurlijk groot zijn, en de twee in het midden zijn kleiner - er zijn pinnen doorheen geregen, waarvan er één is verbonden met de VCC Pro Mini, en de tweede pin om te pinnen 2.

Het boren van gaten, hoewel eenvoudig op het eerste gezicht, is nog steeds niet minder tijdrovend, het is heel gemakkelijk te missen, dus ik deed het eerst met een kleinere boor en daarna een grotere.

Voor de tact-knop heb ik een dop gekozen met een licht concave bovenkant, zodat het handig zou zijn om er met een lucifer of een paperclip door een smal gaatje in de behuizing op te slaan.

Bord in een koffer met een USB-TTL-converterlus aangesloten:

Over de antenne.
De antenne veranderde, zoals je onderweg misschien hebt gemerkt, voortdurend, terwijl ik experimenteerde met verschillende zelfgemaakte antennes. Aanvankelijk zat er een ronde coaxiale connector op het modulebord, maar de vijfde keer dat het werd gebruikt voor een externe antenne viel het gewoon uit elkaar, dus houd er rekening mee dat het dun is. Als gevolg hiervan heb ik de antenne op de printplaat uit de oude router gescheurd en op het modulebord gesoldeerd, tk. het vangt het net iets beter dan de veer en draad.

Nou, volledig gemonteerd met aangesloten opladen ziet er als volgt uit:

Toets. Hoe het werkt:

Naast tests met antennes, controleerde ik hoe het alarm zich op straat zou gedragen, bij vorst -15. Om dit te doen, plaatste ik de binnenkant gewoon volledig in een container en liet ze 's nachts op het balkon staan, het alarm ging niet tegelijkertijd af, de reden was over het algemeen duidelijk - lithium houdt niet van vorst. Dit werd bevestigd door een andere test, waarbij ik de batterij thuis liet en het bord door lange draden naar de straat bracht en het daar een dag in dezelfde vorst liet staan ​​- de operatie, alsof er niets was gebeurd. Aan de andere kant zou het vreemd zijn als het alarm niet zou werken. in datasheets voor atmega, voor module, voor kwarts - toelaatbare bedrijfstemperaturen tot -40 graden.

Het werkingsprincipe wordt georganiseerd door een externe interrupt, aanvankelijk is pin 2 gesloten voor VCC en dus wordt een logische 1 op de pin ondersteund en slaapt de controller. Zodra het contact is verbroken en 0 op pin 2 verschijnt, wordt de microcontroller wakker, laat de 3e pin (waarop de BOOT-modem via een weerstand is aangesloten) naar de grond zakken - de module start op, de MC peilt periodiek de module voor gereedheid, en zodra het het netwerk vangt, stuurt het onmiddellijk een oproep naar het telefoonnummer van de eigenaar dat in de code is opgegeven. Nadat de oproep is afgewezen, wordt het apparaat uitgeschakeld zonder meer eindeloze oproepen te verzenden dan veel Chinese alarmen.

Extra informatie

#erbij betrekken #erbij betrekken // bibliotheek met software UART SoftwareSerial gsm (7, 6); // RX (7), TX (6) void wakeUp () () // lege interrupt handler //////////////////////////// /////////////// void gsmOFF () (// PORTD | = (1<<3); // ВЫКЛЮЧЕНИЕ МОДУЛЯ _delay_ms(10); // gsm.println("AT+CPWROFF"); // ПЕЧАТАЕМ КОМАНДУ OFF PORTB &=~ (1<<2); // выключить LED 10 } // //========================================= void gsmON(){ // PORTD|=(1<<6); // 6-му порту (TX) назначить 1 PORTD &= ~(1<<3); // ЗАПУСК МОДУЛЯ _delay_ms(10); // while(!gsm.find("+PBREADY")); // ждём прочтения тел. книги PORTB |= (1<<2); // включить LED 10 _delay_ms(100); // while(1){ // gsm.println("AT+CREG?"); // проверяем в сети ли модуль if (gsm.find("0,1")) break; // если сеть есть, выходим из цикла _delay_ms(400); // проверка раз в 0,4 сек } // } // /////////////////////////////////////////// // void sleepNow(){ // функция засыпания ADCSRA = 0x00; // отключить подсистему АЦП (экономия 140 мкА) PORTD&=~(1<<6); // в вывод TX поставить 0 _delay_ms(100); // set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна PWR_DOWN sleep_enable(); // включение сна attachInterrupt(0, wakeUp, LOW); // включить прерывания sleep_mode(); // sleep_disable(); // detachInterrupt(0); // отключить прерывания } void setup(){ gsm.begin(9600); // скорость работы UART DDRD = B01001000; // 3-й и 6-й выводы на выход DDRB |= (1<<2); // вывод 10 на выход gsmON(); // запуск модуля для теста gsmOFF(); // выключаем модуль } void loop(){ if (!(PIND&(1<<2))){ // если на 0-ом прерывании появился 0 gsmON(); gsm.println("ATD+79xxxxxxxxx;"); // отзваниваемся, в ответ приходит OK и CONNECT _delay_ms(100); if (gsm.find("OK")) while(1){ // ожидание сброса вызова gsm.println("AT+CPAS"); // при каждой итерации опрашиваем модуль if (gsm.find("0")) break; // если 0, то выходим из цикла while _delay_ms(100); // проверка раз в 0,1 сек } for (char i=0; i<14; i++){ PORTB|=(1<<2); // LED 10 ON _delay_ms(200); PORTB&=~(1<<2); // LED 10 OFF _delay_ms(200); } gsmOFF(); // выключить модуль _delay_ms(10); while(1); // блокируем программу } else { sleepNow(); // укладываем контроллер спать } }

Circuit (zonder laad-ontlaadbesturingskaart)



Conclusies en gedachten. Plannen.

Het alarm wordt gebruikt in het land, ik ben tevreden met het werk, echter bij verdere studie van de AVR komen er steeds meer ideeën voor verdere aanpassing ervan. Arduino met zijn pseudo-taal Bedrading maakte me erg van streek, omdat er was een onaangenaam moment in het werk. Toen ik de functies voor het werken met poorten gebruikte digitalWrite (); of pinModus (); - dan hing de GSM-module om de een of andere reden heel vaak op. Maar het was de moeite waard om ze te vervangen door freaks zoals DDRB | = (1 .)<Alleen de bediening van directe toegang tot de poorten deed het apparaat werken zoals het bedoeld was.

Energiebesparend ...
Het geassembleerde apparaat werkte vier volle maanden zonder opladen en blijft werken, hoewel het juister zou zijn om te zeggen "slaap". Dit wordt geverifieerd door een eenvoudige herstart via de witte knop. Met een energieverbruik van 250 μA (via de LE33-stabilisator) en een ~ 1430 mAh-batterij, hoewel oké, vanwege de niet-nieuwigheid van de batterij, ronden we af op 1000 mAh, het blijkt dat het apparaat ongeveer 5,5 kan slapen maanden zonder opladen. Als u de stabilisator toch verdampt, kan de bedrijfstijd veilig worden vermenigvuldigd met 10 keer. Maar in mijn geval is dit niet nodig, want je moet nog steeds elke drie maanden het saldo van de simkaart uitgeven, terwijl het apparaat kan worden gecontroleerd en opgeladen.
Het voorbeeld van energiebesparing dat in de recensie wordt gegeven, is verre van de limiet, aangezien afgaand op de informatie uit de datasheet kun je de klokfrequentie van de microcontroller verlagen (en dit doe je door het plaatsen van zekeringen) tot 1 MHz en als je 1,8V spanning toepast, dan zal het verbruik in actieve modus onder de 1μA-balk dalen . Helemaal niet slecht! Maar als de MK wordt geklokt vanuit de interne RC-generator, zal er een ander probleem optreden - de UART-ether zal verstopt raken met afval en fouten, vooral als de controller wordt verwarmd of gekoeld.

Ter afronding ...
1) Een gewone draad die op een opening is geïnstalleerd, is niet erg handig, ik ben van plan om te experimenteren met een Hall-sensor en een reed-schakelaar, hoewel ze over de laatste zeggen dat het niet erg betrouwbaar is, omdat de contacten erin kunnen blijven hangen.
2) Het zou leuk zijn om de mogelijkheid toe te voegen om het "masternummer" te wijzigen zonder de deelname van een computer en te knipperen. Dit moet al werken met de EEPROM.
3) Probeer interrupts van de watchdog-timer, maar niet alleen voor de nieuwsgierigheid, maar zodat de microcontroller periodiek uit zichzelf wakker wordt, de batterijspanning meet en de ontvangen waarde via sms verzendt om te weten hoeveel de batterij wordt gelost.
4) Het zonnepaneel kan de noodzaak om het apparaat op te laden volledig elimineren, dit is vooral relevant voor batterijen met een lage capaciteit.
5) Lange tijd wilde ik LiFePo4-batterijen kopen, die volgens beoordelingen normaal vorst verdragen, maar terwijl ik op zoek was naar een geschikte partij, was de lente al onmerkbaar.
6) Werk aan de esthetische component

Welke Pro Mini moet je kopen?
Als er geen föhn is, dan Pro Mini "RobotDyn" Atmega168PA 3.3V, pluk de LED met iets scherps en je hebt ~ 250μA.
Als je een föhn hebt, dan een willekeurig bord, soldeer je de stabilisator en de power-LED - je krijgt ~ 20μA aan stroomverbruik.

Dat was alles voor nu, ik hoop dat de recensie interessant en nuttig was.

Ik ben van plan om +174 . te kopen Toevoegen aan favorieten Ik vond de recensie leuk +143 +278 In de afgelopen tien jaar hebben autodiefstallen een van de belangrijkste plaatsen ingenomen in de structuur van de misdaden die in de wereld zijn gepleegd. Dit heeft niet zozeer te maken met het soortelijk gewicht van deze categorie diefstallen in verhouding tot 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 voertuigdiefstal tegen het einde van de jaren 90 leidde tot de oprichting van stabiele groepen die gespecialiseerd zijn in het plegen van deze misdrijven en die de kenmerkende kenmerken van de georganiseerde misdaad hebben; je hebt waarschijnlijk de term "zwarte auto-business" gehoord. De parkeerplaats van Europese landen ontbreekt elk jaar? 2% van de auto's die het onderwerp worden van criminele inbreuken. Daarom kwam ik op het idee om een ​​gsm-alarm voor mijn auto te maken op basis van Arduino Uno.

Laten we beginnen!

Wat gaan we verzamelen?

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


Belangrijkste kenmerken van Arduino Uno

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


Past bij!

Nu moet je een gsm-module kiezen, want ons alarmsysteem zou de eigenaar van de auto moeten kunnen verwittigen. Dus je moet het googlen ... Hier, een uitstekende sensor - SIM800L, het formaat is gewoon geweldig.


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


Belangrijkste kenmerken van Sim900 Shield

4 normen van werkfrequentie 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 / 1900MHz)
Gecontroleerd door AT-commando's (GSM 07.07, 07.05 en SIMCOM uitgebreide AT-commando's)
Laag stroomverbruik: 1,5 mA (slaapstand)
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 duidelijk in de ruimte. Laten we een versnellingsmeter en een gyroscoop nemen. Prima. Teckel, 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 aanvaller probeert in te breken in een auto? 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

3-assige gyroscoopmodule + 3-assige accelerometer GY-521 op de MPU-6050-chip. 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, het is ook mogelijk om op basis van deze sensoren een motion capture-systeem samen te stellen.

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


Past bij!

Een trillingssensor is ook handig. Plots zullen ze proberen de auto met "brute force" te openen, of op de parkeerplaats raakt een andere auto je auto. Neem de trillingssensor SW-420 (instelbaar).


Belangrijkste kenmerken SW-420

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


Past bij!

Schroef de SD-geheugenkaartmodule vast. We zullen ook 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 de 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 kaartvoedingsstabilisator, een connector voor de interface en stroomleidingen. Als u bijvoorbeeld met geluid, video of andere volumetrische gegevens moet werken, een logboek bij moet houden van gebeurtenissen, sensorgegevens of informatie van een webserver moet opslaan, dan maakt de SD-geheugenkaartmodule voor Arduino het mogelijk om een ​​SD-kaart te gebruiken voor deze doeleinden. 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 laten we een servo toevoegen, wanneer de sensoren worden geactiveerd, zal de servo met de DVR draaien en video opnemen van het incident. 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
- Massa 55 gr
- Draaihoek: 120 graden.
- Werksnelheid: 0,17 sec / 60 graden (4,8 V onbelast)
- Werksnelheid: 0.13sec / 60 graden (6V onbelast)
- Startkoppel: 9,4 kg / cm bij 4,8 V voeding
- Startkoppel: 11kg/cm bij 6V voeding
- Werkspanning: 4.8 - 7.2V
- Alle aandrijfdelen zijn van metaal


Past bij!

We verzamelen

Er zijn veel artikelen over het aansluiten van elke sensor in Google. En ik heb geen zin om met nieuwe fietsen op de proppen te komen, dus laat ik links naar eenvoudige en werkende opties.