Arduino pro mini matrix 4x4 combinatieslot. arduino codeslot

Combinatieslot DIY op Arduino


achtergrond

Het toeval wilde dat we besloten om op het werk een cijferslot op onze deur te installeren, omdat we, terwijl we constant naar binnen rennen, het kantoor uit rennen, waarvan de deur constant gesloten moet zijn bij afwezigheid van bewoners. Sleutels worden vaak binnen vergeten. Over het algemeen hebben we besloten dat een combinatieslot een goede uitweg is.

Na wat rondneuzen op Chinese vlooienmarkten en ebay, vond ik niets goedkoops en min of meer serieus en besloot ik het zelf te maken. Ik zal meteen een voorbehoud maken dat het Arduino-platform is gekozen vanwege zijn eenvoud, omdat er helemaal geen ervaring was met microcontrollers.

Op de deur met buiten de deur moet een toetsenbord hebben waarop het wachtwoord wordt ingevoerd, de rest van de structuur is aan de binnenkant bevestigd. Een reed-schakelaar wordt gebruikt om het volledig sluiten van de deur te regelen. Bij het verlaten van het kantoor drukt een persoon op "*" op het toetsenbord en, zonder te wachten tot de deur sluit, doet de deurdranger zijn werk, wanneer de deur volledig gesloten is, gaat de reed-schakelaar dicht en wordt het slot gesloten. De deur wordt geopend door een 4-cijferig wachtwoord in te voeren en op "#" te drukken.

Accessoires

Arduino UNO = $ 18
Arduino protoshield + breadboard = $ 6
L293D = $1
Bundel draden 30 stuks voor bredboard = $ 4
2 RJ45-aansluitingen = $ 4
2 RJ45-stekkers = $0,5
aandrijver centrale vergrendeling= 250 roebel.
Reed schakelaar = gratis gescheurd uit het oude raam.
Espagnolet metaal gigantische maten = gratis
Kast van een oude D-LINK-naaf van 1,5 mm ijzer = gratis
Voeding van dezelfde D-LINK hub voor 12 en 5v = ook gratis
Een stel schroeven en moeren om al deze spullen aan de koffer te bevestigen = 100 roebel.
Bedieningspaneel van inbraakalarm= gratis.

Totaal: $ 33,5 en 350 roebel.

Niet zo weinig, zegt u, en u zult zeker gelijk hebben, maar voor plezier moet u betalen! En het is altijd leuk om iets met je eigen handen te verzamelen. Daarnaast kan het design flink in prijs verlaagd worden als je een kale MK gebruikt zonder Arduino.

Montage voorbereiding

Ik zou graag iets willen zeggen over de aankoop van een sleutelelement van het actuatorontwerp. Bij een plaatselijke autowinkel boden ze me twee soorten actuatoren aan: "met twee draden en met vijf." Volgens de verkoopster waren ze precies hetzelfde en betekende het verschil in het aantal draden helemaal niets. Maar zoals later bleek, is dit niet zo! Ik koos een apparaat met twee draden, het werd aangedreven door 12v. Het vijfdraads ontwerp is voorzien van eindschakelaars om de beweging van de hendel te regelen. Ik realiseerde me pas dat ik de verkeerde had gekocht toen ik hem uit elkaar haalde en het te laat was om hem te veranderen. De slag van de hendel bleek te kort om de grendel goed te duwen, daarom was het nodig om deze een beetje aan te passen, namelijk om twee rubberen ringen te verwijderen die de slag van de actuatorhendel verkorten. Hiervoor moest het lichaam meegezaagd worden met een gewone ijzerzaag, omdat de tweede wasmachine erin zat. De blauwe ducttape heeft ons, zoals altijd, later geholpen bij het terug monteren.

Om de actuatormotor aan te sturen, werd de L293D-motordriver gebruikt, die een piekbelasting tot 1200 mA kan weerstaan, in ons geval, toen de actuatormotor werd gestopt, nam de piekbelasting toe tot slechts 600 mA.

Contacten van het toetsenbord, de luidspreker en twee LED's zijn verwijderd van het bedieningspaneel van het beveiligingsalarm. De afstandsbediening en het hoofdapparaat moesten worden aangesloten met behulp van een twisted pair en RJ45-connectoren

Programmeren.

Dus, aangezien ik tot nu toe geen ervaring heb gehad met Arduino-programmering. Ik heb gebruik gemaakt van de ontwikkelingen en artikelen van andere mensen van de arduino.cc-website. Who cares, kan deze lelijke code bekijken :)

Foto en video

De vooruitgang staat niet stil en er verschijnen steeds vaker "Slimme sloten" op de deuren van appartementen, garages en huizen.

Een soortgelijk slot gaat open als je op een knop op je smartphone drukt. Gelukkig zijn smartphones en tablets al ons dagelijks leven binnengedrongen. In sommige gevallen zijn "slimme sloten" verbonden met " cloud diensten"zoals een Google-drive en op afstand openen. Daarnaast maakt deze optie het mogelijk om andere mensen toegang te geven tot het openen van de deur.

In dit project zal een DIY-versie worden geïmplementeerd slim slot op Arduino, die overal ter wereld op afstand kan worden bestuurd.

Bovendien heeft het project de mogelijkheid toegevoegd om het slot te openen na vingerafdrukherkenning. Hiervoor zal een vingerafdruksensor worden geïntegreerd. Beide opties voor het openen van deuren zullen werken op basis van het Adafruit IO-platform.

Zo'n slot kan een mooie eerste stap zijn in je Smart Home-project.

De vingerafdruksensor instellen

Om met de vingerafdruksensor te werken, is er een uitstekende bibliotheek voor Arduino, wat het instellen van de sensor aanzienlijk vereenvoudigt. Dit project maakt gebruik van een Arduino Uno. Het Adafruit CC3000-bord wordt gebruikt om verbinding te maken met internet.

Laten we beginnen met het aansluiten van de stroom:

  • Sluit de 5V-pin van het Arduino-bord aan op de rode stroomrail;
  • De GND-pin van de Arduino wordt aangesloten op de blauwe rail op de soldeerloze printplaat.

Laten we verder gaan met het aansluiten van de vingerafdruksensor:

  • Sluit eerst de stroom aan. Hiervoor wordt de rode draad aangesloten op de +5 V-rail en de zwarte draad op de GND-rail;
  • De witte sensordraad wordt aangesloten op pin 4 op de Arduino.
  • De groene draad gaat naar pin 3 op de microcontroller.

Laten we nu eens kijken naar de CC3000-module:

  • Verbind de IRQ-pin van het CC3000-bord met pin 2 op de Arduino.
  • VBAT - naar pin 5.
  • CS - naar pin 10.
  • Daarna moet je de SPI-pinnen op de Arduino aansluiten: MOSI, MISO en CLK - op respectievelijk pinnen 11, 12 en 13.

En tot slot moet je stroom leveren: Vin - naar Arduino 5V (rode rail op je printplaat) en GND naar GND (blauwe rail op het breadboard).

Een foto van het volledig geassembleerde project wordt hieronder getoond:

Voordat u een schets ontwikkelt die gegevens naar Adafruit IO uploadt, moet u uw vingerafdrukgegevens doorgeven aan de sensor. Anders zal hij je in de toekomst niet meer herkennen ;). We raden aan om de vingerafdruksensor apart te kalibreren met de Arduino. Als je voor het eerst met deze sensor werkt, raden we je aan om het kalibratieproces en gedetailleerde instructies voor het werken met de vingerafdruksensor te lezen.

Als je dit nog niet hebt gedaan, meld je dan aan voor een Adafruit IO-account.

Daarna kunnen we naar volgende stap ontwikkeling van een "smart lock" op Arduino: namelijk de ontwikkeling van een schets die gegevens naar Adafruit IO zal verzenden. Omdat het programma behoorlijk omvangrijk is, zullen we in het artikel alleen de belangrijkste onderdelen ervan benadrukken en beschouwen, en dan zullen we een link naar GitHub geven, waar je de volledige schets kunt downloaden.

De schets begint met het laden van alle benodigde bibliotheken:

#erbij betrekken

#erbij betrekken

#erbij betrekken

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_CC3000.h"

#erbij betrekken

#erbij betrekken >

Daarna moet u de schets enigszins corrigeren door de parameters van uw WiFi-netwerk in te voeren en de SSID en het wachtwoord (wachtwoord) op te geven:

#define WLAN_SECURITY WLAN_SEC_WPA2>

Daarnaast moet u een naam en AIO-sleutel (sleutel) invoeren om uw Adafruit IO-account in te voeren:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

De volgende regels zijn verantwoordelijk voor de interactie en verwerking van gegevens van de vingerafdruksensor. Als de sensor is geactiveerd (gematchte vingerafdruk), is dit "1":

const char FINGERPRINT_FEED PROGMEM = AIO_USERNAME "/feeds/fingerprint";

Adafruit_MQTT_Publish vingerafdruk = Adafruit_MQTT_Publish(&mqtt, FINGERPRINT_FEED);

Daarnaast moeten we een instantie van het SoftwareSerial-object voor onze sensor maken:

SoftwareSerial mySerial (3, 4);

Daarna kunnen we een object voor onze sensor maken:

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

In de schets specificeren we welke fingerID het slot in de toekomst moet activeren. In dit voorbeeld wordt 0 gebruikt, wat overeenkomt met de ID van de eerste vingerafdruk die door de sensor wordt gebruikt:

int vinger-ID = 0;

Daarna initialiseren we de teller en de vertraging (vertraging) in ons project. Kortom, we willen dat het slot automatisch werkt na het openen. In dit voorbeeld wordt een vertraging van 10 seconden gebruikt, maar u kunt deze waarde naar wens aanpassen:

int activatieteller = 0;

int lastActivation = 0;

int activeringstijd = 10 * 1000;

In de body van de setup()-functie initialiseren we de vingerafdruksensor en zorgen we ervoor dat de CC3000-chip wordt verbonden met je wifi-netwerk.

In de body van de loop()-functie maken we verbinding met Adafruit IO. De volgende lijn is hiervoor verantwoordelijk:

Nadat we verbinding hebben gemaakt met het Adafruit IO-platform, controleren we de laatste vingerafdruk. Als het overeenkomt en het slot niet is ingeschakeld, sturen we een "1" naar Adafruit IO voor verwerking:

if (fingerprintID == fingerID && lockState == false) (

Serial.println(F("Toegang verleend!"));

lockState=waar;

Serial.println(F("Mislukt"));

Serial.println(F("OK!"));

lastActivation = millis();

Als, binnen de loop()-functie, het slot is geactiveerd en we de hierboven aangegeven vertragingswaarde hebben bereikt, sturen we "0":

if ((activationCounter - lastActivation > activationTime) && lockState == true) (

lockState=false;

if (! fingerprint.publish(state)) (

Serial.println(F("Mislukt"));

Serial.println(F("OK!"));

Je kunt de nieuwste versie van de code downloaden op GitHub.

Het is tijd om ons project te testen! Vergeet niet alle vereiste Arduino-bibliotheken te downloaden en te installeren!

Zorg ervoor dat je alle noodzakelijke wijzigingen in de schets hebt aangebracht en upload deze naar je Arduino. Open vervolgens het seriële monitorvenster.

Wanneer de Arduino verbinding maakt met wifi-netwerken, zal de vingerafdruksensor rood knipperen. Leg uw vinger op de sensor. Het seriële monitorvenster moet het ID-nummer weergeven. Als het overeenkomt, verschijnt er een bericht "OK!". Dit betekent dat de gegevens naar de Adafruit IO-servers zijn verzonden.

Schema en schets voor het verder instellen van het slot aan de hand van het voorbeeld van een LED

Laten we nu het deel van het project behandelen dat direct verantwoordelijk is voor het beheer deurslot. Om verbinding te maken met draadloos netwerk en activering / deactivering van het slot, heeft u een extra Adafruit ESP8266-module nodig (de ESP8266-module hoeft niet van Adafruit te zijn). Het onderstaande voorbeeld laat zien hoe eenvoudig het is om te communiceren tussen twee platforms (Arduino en ESP8266) met behulp van Adafruit IO.

In deze sectie gaan we niet direct met het slot aan de slag. In plaats daarvan verbinden we de LED gewoon met de pin waar het slot later op wordt aangesloten. Dit maakt het mogelijk om onze code te testen zonder in te gaan op de details van het slotontwerp.

De schakeling is vrij eenvoudig: installeer eerst de ESP8266 op het breadboard. Installeer vervolgens de LED. Vergeet niet dat de lange (positieve) poot van de LED via een weerstand is aangesloten. Het tweede been van de weerstand is verbonden met pin 5 op de ESP8266-module. De tweede (kathode) LED is verbonden met de GND-pin op de ESP8266.

Geheel geassembleerd circuit weergegeven in de onderstaande foto.


Laten we nu eens kijken naar de schets die we voor dit project gebruiken. Nogmaals, de code is vrij groot en complex, dus we zullen alleen de belangrijkste delen ervan behandelen:

We beginnen met het opnemen van de benodigde bibliotheken:

#erbij betrekken

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

Wifi-instellingen configureren:

#define WLAN_SSID "uw_wifi_ssid"

#define WLAN_PASS "uw_wifi_wachtwoord"

#define WLAN_SECURITY WLAN_SEC_WPA2

We configureren ook de Adafruit IO-parameters. Hetzelfde als in het vorige gedeelte:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_username"

#define AIO_KEY "adafruit_io_key"

We geven aan op welke pin we de LED hebben aangesloten (in de toekomst wordt dit ons slot of relais):

int relaisPin = 5;

Interactie met de vingerafdruksensor, zoals in het vorige gedeelte:

const char LOCK_FEED PROGMEM = AIO_USERNAME "/feeds/lock";

Adafruit_MQTT_Subscribe lock = Adafruit_MQTT_Subscribe(&mqtt, LOCK_FEED);

In de body van de setup()-functie geven we aan dat de pin waarmee de LED is verbonden, zou moeten werken in de OUTPUT-modus:

pinMode (relayPin, OUTPUT);

Binnen de loop()-lus controleren we eerst of we verbinding hebben gemaakt met Adafruit IO:

Daarna kijken we welk signaal er komt. Als "1" wordt verzonden, activeren we de pin die we eerder hebben aangegeven, waarmee onze LED is verbonden. Als we "0" hebben ontvangen, plaatsen we het contact in de "laag" staat:

Adafruit_MQTT_Abonneren *abonnement;

while ((abonnement = mqtt.readSubscription(1000))) (

if (abonnement == &lock) (

Serial.print(F("Gekregen: "));

Serial.println((char *)lock.lastread);

// Sla de opdracht op als tekenreeksgegevens

String-opdracht = String((char *)lock.lastread);

if (opdracht == "0") (

digitalWrite (relayPin, LAAG);

if (opdracht == "1") (

digitalWrite (relayPin, HOOG);

Vinden laatste versie Je kunt de schets bekijken op GitHub.

Het is tijd om ons project te testen. Vergeet niet alle benodigde bibliotheken voor uw Arduino te downloaden en te controleren of u de juiste wijzigingen in de schets hebt aangebracht.

Een eenvoudige USB-FTDI-converter kan worden gebruikt om de ESP8266-chip te programmeren.

Upload de schets naar de Arduino en open het seriële monitorvenster. In dit stadium hebben we net gekeken of we verbinding konden maken met Adafruit IO: we zullen de beschikbare functionaliteit verder bekijken.

Het project testen

Laten we nu beginnen met testen! Ga naar het gebruikersmenu van je Adafruit IO, in het menu Feeds. Controleer of er kanalen voor vingerafdruk en slot zijn gemaakt of niet (op het onderstaande printscherm zijn dit de vingerafdruk- en slotlijnen):


Als ze niet bestaan, moet u ze handmatig maken.

Nu moeten we zorgen voor gegevensuitwisseling tussen de vingerafdruk- en vergrendelingskanalen. Het vergrendelingskanaal moet worden ingesteld op "1" wanneer het vingerafdrukkanaal is ingesteld op "1" en vice versa.

Hiervoor gebruiken we een zeer krachtige Adafruit IO-tool: triggers. Triggers zijn in wezen voorwaarden die u kunt toepassen op geconfigureerde kanalen. Dat wil zeggen, ze kunnen worden gebruikt om twee kanalen met elkaar te verbinden.

Maak een nieuwe reactieve trigger in de sectie Triggers in Adafruit IO. Dit biedt de mogelijkheid om gegevens uit te wisselen tussen de kanalen van de vingerafdruksensor en het slot:


Dit is hoe het eruit zou moeten zien als beide triggers zijn geconfigureerd:

Alles! Nu kunnen we ons project echt testen! We leggen onze vinger op de sensor en zien hoe de Arduino begon te knipogen met de LED, wat overeenkomt met de gegevensoverdracht. Daarna zou de LED op de ESP8266-module moeten gaan knipperen. Dit betekent dat hij gegevens begon te ontvangen via MQTT. De LED op de printplaat moet op dit punt ook gaan branden.

Na de vertraging die u in de schets hebt ingesteld (standaard is 10 seconden), gaat de LED uit. Gefeliciteerd! U kunt de LED overal ter wereld bedienen met uw vingerafdruk!

Een elektronisch slot instellen

We zijn aangekomen bij het laatste deel van het project: het rechtstreeks aansluiten en besturen van een elektronisch slot met behulp van een Arduino en een vingerafdruksensor. Het project is niet eenvoudig, je kunt alle bronnen gebruiken in de vorm waarin ze hierboven worden weergegeven, maar in plaats van een LED een relais aansluiten.

Om het slot rechtstreeks aan te sluiten, hebt u extra componenten nodig: een 12 V-voeding, een stroomaansluiting, een transistor (in dit voorbeeld een IRLB8721PbF MOSFET wordt gebruikt, maar een andere, zoals een TIP102 bipolaire transistor, kan worden gebruikt. Als u een bipolaire transistor gebruikt, moet u een weerstand toevoegen.

Hieronder weergegeven schakelschema alle componenten aansluiten op de ESP8266-module:


Merk op dat als je een MOSFET gebruikt, je geen weerstand nodig hebt tussen ESP8266 pin 5 en de transistor.

Het volledig geassembleerde project wordt weergegeven op de onderstaande foto:


Schakel de ESP8266-module in met behulp van de FTDI-module en sluit de 12V-voeding aan op de jack. Als je de hierboven aanbevolen pinnen hebt gebruikt voor verbinding, hoef je niets aan de schets te veranderen.

Nu kun je je vinger op de sensor leggen: het slot zou moeten werken als reactie op je vingerafdruk. De onderstaande video toont het automatische smart lock-project in actie:

Verdere ontwikkeling van het Smart Lock-project

In ons project vrijgegeven afstandsbediening deurslot met vingerafdruk.

Voel je vrij om te experimenteren, de schets en het harnas aan te passen. U kunt bijvoorbeeld een elektronisch deurslot vervangen door een relais om de kracht van uw 3D-printer, robotarm of quadcopter te regelen...

Je kunt je ontwikkelen Slim huis". Activeer bijvoorbeeld op afstand het irrigatiesysteem op de Arduino of doe het licht in de kamer aan ... Vergeet niet dat je met Adafruit IO tegelijkertijd een bijna onbeperkt aantal apparaten kunt activeren.

Laat uw opmerkingen, vragen achter en deel persoonlijke ervaring onderstaand. In de discussie worden vaak nieuwe ideeën en projecten geboren!

Toevallig hebben we op het werk besloten om een ​​cijferslot op onze deur te installeren, omdat we, terwijl we constant naar binnen rennen, het kantoor uit rennen, waarvan de deur constant gesloten moet zijn bij afwezigheid van bewoners. Sleutels worden vaak binnen vergeten. Over het algemeen hebben we besloten dat een combinatieslot een goede uitweg is.

Na wat rondneuzen op Chinese vlooienmarkten en ebay, vond ik niets goedkoops en min of meer serieus en besloot ik het zelf te maken. Ik zal meteen een voorbehoud maken dat het Arduino-platform is gekozen vanwege zijn eenvoud, omdat er helemaal geen ervaring was met microcontrollers.

Idee

Op de deur, aan de buitenkant van de deur, moet een toetsenbord zijn waarop het wachtwoord wordt ingevoerd, en de rest van de structuur is aan de binnenkant bevestigd. Een reed-schakelaar wordt gebruikt om het volledig sluiten van de deur te regelen. Bij het verlaten van het kantoor drukt een persoon op "*" op het toetsenbord en, zonder te wachten tot de deur sluit, doet de deurdranger zijn werk, wanneer de deur volledig gesloten is, gaat de reed-schakelaar dicht en wordt het slot gesloten. De deur wordt geopend door een 4-cijferig wachtwoord in te voeren en op "#" te drukken.

Accessoires

Arduino UNO = $ 18
Arduino protoshield + breadboard = $ 6
L293D = $1
Bundel draden 30 stuks voor bredboard = $ 4
2 RJ45-aansluitingen = $ 4
2 RJ45-stekkers = $0,5
centrale vergrendelingsactuator = 250 roebel.
Reed schakelaar = gratis gescheurd uit het oude raam.
Espagnolet metaal gigantische maten = gratis
Kast van een oude D-LINK-naaf van 1,5 mm ijzer = gratis
Voeding van dezelfde D-LINK hub voor 12 en 5v = ook gratis
Een stel schroeven en moeren om al deze spullen aan de koffer te bevestigen = 100 roebel.
Het bedieningspaneel van het alarmsysteem = gratis.

Totaal:$ 33,5 en 350 roebel.

Niet zo weinig, zegt u, en u zult zeker gelijk hebben, maar voor plezier moet u betalen! En het is altijd leuk om iets met je eigen handen te verzamelen. Daarnaast kan het design flink in prijs verlaagd worden als je een kale MK gebruikt zonder Arduino.

Montage voorbereiding

Ik zou graag iets willen zeggen over de aankoop van een sleutelelement van het actuatorontwerp. Bij een plaatselijke autowinkel boden ze me twee soorten actuatoren aan: "met twee draden en met vijf." Volgens de verkoopster waren ze precies hetzelfde en betekende het verschil in het aantal draden helemaal niets. Maar zoals later bleek, is dit niet zo! Ik koos een apparaat met twee draden, het werd aangedreven door 12v. Het vijfdraads ontwerp is voorzien van eindschakelaars om de beweging van de hendel te regelen. Ik realiseerde me pas dat ik de verkeerde had gekocht toen ik hem uit elkaar haalde en het te laat was om hem te veranderen. De slag van de hendel bleek te kort om de grendel goed te duwen, daarom was het nodig om deze een beetje aan te passen, namelijk om twee rubberen ringen te verwijderen die de slag van de actuatorhendel verkorten. Om dit te doen, moest het lichaam samen met een gewone ijzerzaag worden gezaagd, omdat de tweede ring erin zat. De blauwe ducttape heeft ons, zoals altijd, later geholpen bij het terug monteren.
Om de actuatormotor aan te sturen, werd de L293D-motordriver gebruikt, die een piekbelasting tot 1200 mA kan weerstaan, in ons geval, toen de actuatormotor werd gestopt, nam de piekbelasting toe tot slechts 600 mA.
Contacten van het toetsenbord, de luidspreker en twee LED's zijn verwijderd van het bedieningspaneel van het beveiligingsalarm. De afstandsbediening en het hoofdapparaat moesten worden aangesloten met behulp van een twisted pair en RJ45-connectoren

Programmeren.

Dus, aangezien ik tot nu toe geen ervaring heb gehad met Arduino-programmering. Ik heb gebruik gemaakt van de ontwikkelingen en artikelen van andere mensen van de arduino.cc-website. Who cares, kan deze lelijke code bekijken :)

Foto en video



Arduino en actuator


Stroomvoorziening


Toetsenbord


Espagnolet (verbonden met de actuator met een metalen naald en waarop krimpkous is aangebracht voor schoonheid)

Video van het bedieningsproces van het apparaat:

De gastheer van het YouTube-kanaal "AlexGyver" werd gevraagd om met zijn eigen handen een elektronisch slot te maken. Welkom bij de videocyclus over elektronische sloten op Arduino. V in algemene termen de meester zal het idee uitleggen.

Er zijn verschillende opties voor het maken van een systeem elektronisch slot. Meestal gebruikt om deuren en laden, kasten te vergrendelen. En ook om schuilplaatsen en geheime kluizen te creëren. Je moet daarom een ​​lay-out maken waar je gemakkelijk mee kunt werken en je kunt de opbouw van het systeem van binnen en van buiten duidelijk en gedetailleerd weergeven. Daarom besloot ik een frame met een deur te maken. Dit vereist: vierkante balk 30 x 30. Multiplex 10mm. Deurscharnieren. Aanvankelijk wilde ik een multiplex kist maken, maar ik herinnerde me dat alles in de kamer bezaaid was met reserveonderdelen. Er is nergens om zo'n doos te plaatsen. Daarom wordt er een indeling gemaakt. Als iemand zichzelf een elektronisch slot wil geven, dan kun je, kijkend naar de lay-out, alles gemakkelijk herhalen.

Alles wat je nodig hebt voor een kasteel vind je in deze Chinese winkel.

Het doel is om het meest te ontwikkelen efficiënte schema's en firmware voor elektronische sloten. U kunt deze resultaten gebruiken om deze systemen op uw deuren, laden, kasten en schuilplaatsen te installeren.

De deur is klaar. Nu moet u uitzoeken hoe u elektronisch kunt openen en sluiten. Voor deze doeleinden is een krachtige magneetvergrendeling van aliexpress geschikt (link naar de winkel hierboven). Als u spanning op de klemmen zet, gaat deze open. De spoelweerstand is bijna 12 ohm, wat betekent dat de spoel bij een spanning van 12 volt ongeveer 1 ampère verbruikt. Zal deze taak aankunnen en lithium batterij en boost-module. We passen ons aan op de juiste spanning. Hoewel misschien een beetje meer. De heck is gehecht aan binnen deuren op een afstand zodat de rand niet plakt en dicht kan slaan. De heck zou een tegenhanger in de vorm moeten zijn metalen doos. Het zonder gebruiken is onhandig en verkeerd. We zullen een stap moeten zetten, in ieder geval de schijn van normale werking hebben gecreëerd.

In de inactieve modus gaat de grendel normaal open, dat wil zeggen, als er een hendel op de deur zit, geven we een impuls, we openen de deur bij de hendel. Maar als je het springt, is deze methode niet meer geschikt. De boost-converter kan de belasting niet aan. Om de veerbelaste deur te openen, moet u grotere batterijen en een krachtigere omvormer gebruiken. Of een netvoeding en scoren op de autonomie van het systeem. V Chinese winkels er zijn heck grote maten. Ze passen in dozen. Stroom kan worden geleverd met behulp van een relais of mosfet-transistor, of een aan / uit-schakelaar op dezelfde transistor. Een interessantere en goedkopere optie is een servo die is aangesloten op een drijfstang met een vergrendelingselement - een grendel of een serieuzere klep. Het kan ook een stuk stalen breinaald nodig hebben dat als een verbindingsstang fungeert. Zo'n systeem heeft geen grote stroom nodig. Maar ze neemt meer ruimte en meer sluwe besturingslogica.

Er zijn twee soorten servo's. Kleine zwakke en grote krachtige, die gemakkelijk in gaten in serieuze metalen pinnen kunnen worden geduwd. Beide getoonde opties werken op beide deuren en laden. Je zult moeten sleutelen aan de doos, waarbij je een gat in de schuifwand moet maken.

Tweede deel

De tutorial van vandaag gaat over het gebruik van een RFID-lezer met Arduino om een ​​eenvoudig sluitsysteem te maken, in simpele termen- RFID-slot.

RFID (Engelse Radio Frequency IDentification, radio frequency identificatie) is een methode voor automatische identificatie van objecten waarbij gegevens die zijn opgeslagen in zogenaamde transponders, of RFID-tags, worden gelezen of geschreven met behulp van radiosignalen. Elk RFID-systeem bestaat uit een lezer (lezer, lezer of ondervrager) en een transponder (ook bekend als RFID-tag, soms wordt ook de term RFID-tag gebruikt).

De tutorial gebruikt een RFID-tag met een Arduino. Het apparaat leest de unique identifier (UID) van elke RFID-tag die we naast de lezer plaatsen en geeft deze weer op het OLED-display. Als de UID van de tag gelijk is aan de vooraf gedefinieerde waarde die is opgeslagen in het Arduino-geheugen, dan zien we de melding "Unlocked" op het display. Als de unieke identifier niet gelijk is aan de vooraf gedefinieerde waarde, zal het bericht "Ontgrendeld" niet verschijnen - zie onderstaande foto.

Het kasteel is gesloten

Het kasteel is open

Details die nodig zijn om dit project te maken:

  • RFID-lezer RC522
  • OLED-scherm
  • Broodplank
  • draden

Overige gegevens:

  • Batterij (powerbank)

De totale kosten van de projectcomponenten bedroegen ongeveer $ 15.

Stap 2: RFID-lezer RC522

Elke RFID-tag heeft een kleine chip (witte kaart op de foto). Als je een zaklamp op deze RFID-kaart richt, zie je een kleine chip en een spoel eromheen. Deze chip heeft geen batterij om stroom op te wekken. Het ontvangt draadloos stroom van de lezer met behulp van deze grote spoel. Het is mogelijk om een ​​dergelijke RFID-kaart tot op 20 mm afstand uit te lezen.

Dezelfde chip bestaat in RFID-sleutelhangers.

Elke RFID-tag heeft een uniek nummer dat deze identificeert. Dit is de UID die op het OLED-scherm wordt weergegeven. Met uitzondering van deze UID kan elke tag gegevens opslaan. Op dit type kaart kunnen maximaal 1.000 gegevens worden opgeslagen. Indrukwekkend, niet? Deze functie wordt vandaag niet gebruikt. Tegenwoordig is het enige dat van belang is de identificatie van een bepaalde kaart door zijn UID. De RFID-lezer en deze twee RFID-kaarten kosten ongeveer $ 4.

Stap 3OLED-scherm

De tutorial gebruikt een 0,96" 128x64 I2C OLED-monitor.

Dit is een zeer goed scherm om te gebruiken met Arduino. Het is een OLED-scherm en dat betekent dat het een laag stroomverbruik heeft. Het stroomverbruik van dit beeldscherm is ongeveer 10-20mA en is afhankelijk van het aantal pixels.

Het display heeft een resolutie van 128 bij 64 pixels en is klein van formaat. Er zijn twee weergavemogelijkheden. De ene is monochroom en de andere, zoals die in de zelfstudie wordt gebruikt, kan twee kleuren weergeven: geel en blauw. De bovenkant van het scherm kan alleen geel zijn en de onderkant blauw.

Dit OLED-scherm is zeer helder en heeft een geweldige en zeer mooie bibliotheek die Adafruit voor dit scherm heeft ontwikkeld. Daarnaast maakt het display gebruik van een I2C-interface, dus verbinding maken met de Arduino is ongelooflijk eenvoudig.

U hoeft slechts twee draden aan te sluiten, behalve Vcc en GND. Als Arduino nieuw voor u is en u een goedkoop en eenvoudig display in uw project wilt gebruiken, begin dan hier.

Stap 4: Alle onderdelen bij elkaar zetten