Arduino kombinasjonslås med to-nivå autentisering. Arduino kombinasjonslås

Fremgangen står ikke stille og «Smartlåser» dukker i økende grad opp på dørene til leiligheter, garasjer og hus.

En lignende lås åpnes når du trykker på en knapp på en smarttelefon. Heldigvis har smarttelefoner og nettbrett allerede kommet inn i hverdagen vår. I noen tilfeller kobles "smartlåser" til " skytjenester"som en google drive og åpne eksternt. I tillegg gjør dette alternativet det mulig å gi tilgang til å åpne døren for andre mennesker.

I dette prosjektet skal en DIY-versjon av smartlåsen på Arduino implementeres, som kan fjernstyres fra hvor som helst på jorden.

I tillegg la prosjektet til muligheten til å åpne låsen etter fingeravtrykkgjenkjenning. For dette vil en fingeravtrykksensor bli integrert. Begge døråpningsalternativene vil bli drevet av Adafruit IO-plattformen.

En lås som denne kan være et flott første skritt i ditt Smart Home-prosjekt.

Oppsett av fingeravtrykksensor

For å jobbe med fingeravtrykksensoren er det et utmerket bibliotek for Arduino som gjør prosessen med å sette opp sensoren mye enklere. Dette prosjektet bruker Arduino Uno. Et Adafruit CC3000-kort brukes til å koble til Internett.

La oss starte med å koble til strømmen:

  • Koble 5V-pinnen fra Arduino-kortet til den røde strømskinnen;
  • GND-pinnen til Arduino kobles til den blå skinnen på det loddeløse kretskortet.

La oss gå videre til å koble til fingeravtrykksensoren:

  • Koble til strømmen først. For dette er den røde ledningen koblet til +5 V-skinnen, og den svarte ledningen er koblet til GND-skinnen;
  • Den hvite ledningen til sensoren kobles til pinne 4 på Arduino.
  • Den grønne ledningen går til pinne 3 på mikrokontrolleren.

La oss nå takle CC3000-modulen:

  • IRQ-pinnen fra CC3000-kortet er koblet til pinne 2 på Arduino.
  • VBAT - til pinne 5.
  • CS - til pinne 10.
  • Etter det må du koble SPI-pinnene til Arduinoen: MOSI, MISO og CLK - til henholdsvis pinnene 11, 12 og 13.

Til slutt må du gi strøm: Vin til Arduino 5V (rød skinne på kretskortet ditt), og GND til GND (blå skinne på breadboard).

Et bilde av det ferdigmonterte prosjektet er vist nedenfor:

Før du utvikler en skisse som skal laste opp data til Adafruit IO, må du overføre fingeravtrykkdataene dine til sensoren. Ellers vil han ikke kjenne deg igjen i fremtiden;). Vi anbefaler å kalibrere fingeravtrykksensoren ved å bruke Arduino separat. Hvis du arbeider med denne sensoren for første gang, anbefaler vi at du gjør deg kjent med kalibreringsprosessen og detaljerte instruksjoner for arbeid med fingeravtrykksensoren.

Hvis du ikke allerede har gjort det, så opprett en konto hos Adafruit IO.

Etter det kan vi gå til neste nivå utvikling av en "smart lås" på Arduino: nemlig utvikling av en skisse som skal overføre data til Adafruit IO. Siden programmet er ganske omfangsrikt, vil vi i artikkelen fremheve og vurdere bare hoveddelene, og deretter vil vi gi en lenke til GitHub, hvor du kan laste ned hele skissen.

Skissen begynner med å laste inn alle nødvendige biblioteker:

#inkludere

#inkludere

#inkludere

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_CC3000.h"

#inkludere

#inkludere >

Etter det må du korrigere skissen litt ved å sette inn parameterne til WiFi-nettverket ditt, spesifisere SSID og passord (passord):

#define WLAN_SECURITY WLAN_SEC_WPA2>

I tillegg må du skrive inn navnet ditt og AIO-nøkkelen (nøkkel) for å logge på Adafruit IO-kontoen din:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

Følgende linjer er ansvarlige for samhandling og behandling av data fra fingeravtrykksensoren. Hvis sensoren ble aktivert (fingeravtrykkstilpasset), vil det være "1":

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

Adafruit_MQTT_Publish fingeravtrykk = Adafruit_MQTT_Publish (& mqtt, FINGERPRINT_FEED);

I tillegg må vi lage en forekomst av SoftwareSerial-objektet for sensoren vår:

SoftwareSerial mySerial (3, 4);

Etter det kan vi lage et objekt for sensoren vår:

Adafruit_Fingerprint finger = Adafruit_Fingerprint (& mySerial);

Inne i skissen angir vi hvilken fingerID som skal aktivere låsen i fremtiden. Dette eksemplet bruker 0, som tilsvarer ID-en til det første fingeravtrykket som brukes av sensoren:

int fingerID = 0;

Etter det initialiserer vi telleren og forsinker prosjektet vårt. I utgangspunktet ønsker vi at låsen skal fungere automatisk etter åpning. Dette eksemplet bruker en forsinkelse på 10 sekunder, men du kan justere denne verdien for å passe dine behov:

int activationCounter = 0;

int lastActivation = 0;

int aktiveringstid = 10 * 1000;

I hoveddelen av oppsettfunksjonen () initialiserer vi fingeravtrykksensoren og kobler CC3000-brikken til WiFi-nettverket ditt.

Koble til Adafruit IO i hoveddelen av loop ()-funksjonen. Følgende linje er ansvarlig for dette:

Etter å ha koblet til Adafruit IO-plattformen, sjekker vi det siste fingeravtrykket. Hvis det stemmer, og låsen ikke er aktivert, sender vi "1" for behandling i Adafruit IO:

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

Serial.println (F ("Tilgang gitt!"));

lockState = sant;

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

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

lastActivation = millis ();

Hvis låsen er aktivert innenfor loop ()-funksjonen og vi har nådd forsinkelsesverdien som er angitt ovenfor, sender vi "0":

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

lockState = falsk;

if (! fingerprint.publish (state)) (

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

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

Du kan laste ned den nyeste versjonen av koden på GitHub.

Det er på tide å teste prosjektet vårt! Ikke glem å laste ned og installere alle de nødvendige Arduino-bibliotekene!

Pass på at du gjør alle nødvendige endringer i skissen og last den opp til din Arduino. Åpne deretter seriell monitorvinduet.

Når Arduino kobles til WiFi-nettverk, blinker fingeravtrykksensoren rødt. Plasser fingeren på sensoren. Seriell monitorvinduet skal vise ID-nummeret. Hvis det stemmer, vil meldingen "OK!" vises. Dette betyr at dataene er sendt til Adafruit IO-servere.

Diagram og skisse for videre konfigurasjon av låsen ved å bruke eksempelet på en LED

La oss nå ta for oss den delen av prosjektet som er direkte ansvarlig for å administrere dørlås... For å koble til trådløst nettverk og aktivere / deaktivere låsen, trenger du en ekstra Adafruit ESP8266-modul (ESP8266-modulen trenger ikke å være fra Adafruit). Ved å bruke eksemplet nedenfor kan du forstå hvor enkelt det er å utveksle data mellom to plattformer (Arduino og ESP8266) ved å bruke Adafruit IO.

I denne delen vil vi ikke jobbe direkte med låsen. I stedet vil vi ganske enkelt koble LED-en til pinnen som låsen skal kobles til senere. Dette vil gjøre det mulig å teste koden vår uten å gå dypt inn i utformingen av låsen.

Opplegget er ganske enkelt: Installer først ESP8266 på brødbrettet. Installer deretter LED. Ikke glem at det lange (positive) benet på LED-en er koblet til gjennom en motstand. Den andre delen av motstanden kobles til pinne 5 på ESP8266-modulen. Den andre (katoden) av LED-en er koblet til GND-pinnen på ESP8266.

Fullt sammensatt krets vist på bildet nedenfor.


La oss nå ta en titt på skissen vi skal bruke for dette prosjektet. Igjen, koden er ganske omfangsrik og kompleks, så vi vil bare dekke hoveddelene av den:

Vi starter med å koble til de nødvendige bibliotekene:

#inkludere

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

Konfigurering av WiFi-parametere:

#define WLAN_SSID "din_wifi_ssid"

#define WLAN_PASS "ditt_wifi_passord"

#define WLAN_SECURITY WLAN_SEC_WPA2

Vi konfigurerer også Adafruit IO-parametrene. Det samme som i forrige seksjon:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_username"

#define AIO_KEY "adafruit_io_key"

Vi indikerer hvilken pinne vi koblet LED-en til (i fremtiden vil det være vår lås eller relé):

int relayPin = 5;

Interaksjonen med fingeravtrykksensoren er den samme som i forrige del:

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

Adafruit_MQTT_Subscribe lock = Adafruit_MQTT_Subscribe (& mqtt, LOCK_FEED);

I hoveddelen av oppsettfunksjonen () indikerer vi at pinnen som LED-en er koblet til skal fungere i OUTPUT-modus:

pinMode (relayPin, OUTPUT);

Innenfor loopen (), sjekker vi først om vi er koblet til Adafruit IO:

Etter det sjekker vi hvilket signal som mottas. Hvis "1" sendes, aktiverer vi kontakten som vi deklarerte tidligere, som LED-en vår er koblet til. Hvis vi mottok "0", overfører vi kontakten til "lav" tilstand:

Adafruit_MQTT_Subscribe * abonnement;

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

if (abonnement == & lås) (

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

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

// Lagre kommandoen til strengdata

String kommando = String ((char *) lock.lastread);

if (kommando == "0") (

digitalWrite (relayPin, LOW);

if (kommando == "1") (

digitalWrite (relayPin, HIGH);

Finne siste versjon skisse du kan på GitHub.

Det er på tide å teste prosjektet vårt. Ikke glem å laste ned alle nødvendige biblioteker for din Arduino og sjekk om du har gjort de riktige endringene i skissen.

En enkel USB-FTDI-omformer kan brukes til å programmere ESP8266-brikken.

Last opp skissen til Arduino og åpne seriellskjermvinduet. På dette stadiet sjekket vi nettopp om vi var i stand til å koble til Adafruit IO: vi vil vurdere den tilgjengelige funksjonaliteten videre.

Tester prosjektet

La oss nå begynne å teste! Gå til brukermenyen til din Adafruit IO, under Feed-menyen. Sjekk om kanalene for fingeravtrykket og låsen er opprettet (på utskriftsskjermen under er disse fingeravtrykket og låselinjene):


Hvis de ikke er der, må du opprette det manuelt.

Nå må vi sikre utveksling av data mellom fingeravtrykk og låsekanaler. Låsekanalen må settes til "1" når fingeravtrykkkanalen er satt til "1" og omvendt.

For å gjøre dette bruker vi et veldig kraftig Adafruit IO-verktøy: triggere. Utløsere er i hovedsak forhold som du kan bruke på konfigurerte kanaler. Det vil si at de kan brukes til å koble sammen to kanaler.

Opprett en ny reaktiv trigger fra Triggers-delen av Adafruit IO. Dette vil gi muligheten til å utveksle data mellom fingeravtrykksensoren og låsekanalene:


Slik skal det se ut når begge utløsere er konfigurert:

Alt! Nå kan vi virkelig teste prosjektet vårt! Vi setter fingeren på sensoren og ser hvordan Arduino begynte å blunke med lysdioden som tilsvarer dataoverføringen. Etter det skal LED-en på ESP8266-modulen begynne å blinke. Dette betyr at han begynte å motta data gjennom MQTT. LED-en på kretskortet skal også slå seg på på dette tidspunktet.

Etter forsinkelsen du angir i skissen (standard er 10 sekunder), vil LED-en slå seg av. Gratulerer! Du kan kontrollere LED-en med fingeravtrykket ditt fra hvor som helst i verden!

Sette opp en elektronisk lås

Vi kom til siste del av prosjektet: direkte tilkobling og kontroll av den elektroniske låsen ved hjelp av en Arduino og en fingeravtrykkssensor. Prosjektet er ikke lett, du kan bruke alle kildene i formen de er presentert ovenfor, men i stedet for LED, koble til et relé.

For å koble til låsen direkte, trenger du tilleggskomponenter: en 12 V strømforsyning, en strømkontakt, en transistor (i dette eksemplet IRLB8721PbF MOSFET brukes, men en annen, for eksempel en bipolar transistor TIP102, kan brukes. Hvis du bruker en bipolar transistor, må du legge til en motstand.

Vist under elektrisk krets koble alle komponenter til ESP8266-modulen:


Merk at hvis du bruker en MOSFET-transistor, trenger du ikke en motstand mellom pin 5 på ESP8266 og transistoren.

Det ferdigmonterte prosjektet er vist på bildet nedenfor:


Strøm ESP8266-modulen ved hjelp av FTDI-modulen og koble 12V-strømforsyningen til kontakten. Hvis du brukte tilkoblingspinnene som er anbefalt ovenfor, trenger du ikke å endre noe i skissen.

Nå kan du sette fingeren på sensoren: låsen skal fungere og svare på fingeravtrykket ditt. Videoen nedenfor viser prosjektet til en automatisk "smart" lås i aksjon:

Videreutvikling av «Smart Lock»-prosjektet

I vårt prosjekt har vi gitt ut fjernkontroll dørlås ved hjelp av fingeravtrykket ditt.

Gjerne eksperimenter, modifiser skissen og selen. Du kan for eksempel bytte ut en elektronisk dørlås med et relé for å kontrollere kraften til 3D-printeren, manipulatoren eller quadcopteren ...

Du kan utvikle din " smart hus For eksempel fjernaktivere vanningssystemet på Arduino eller slå på lysene i rommet ... Men ikke glem at du samtidig kan aktivere et nesten ubegrenset antall enheter ved å bruke Adafruit IO.

Legg igjen kommentarer, spørsmål og del personlig erfaring under. Nye ideer og prosjekter fødes ofte i diskusjonen!

Det skjedde at vi bestemte oss for å installere en kombinasjonslås på døren vår på jobben, fordi vi hele tiden løper inn - vi løper ut av kontoret, døren som må lukkes konstant i fravær av innbyggere. Nøkler er ofte glemt inne. Generelt har vi bestemt at kombinasjonslåsen er en flott løsning.

Etter å ha rotet gjennom kinesiske loppemarkeder og ebay fant jeg ikke noe billig og mer eller mindre seriøst og bestemte meg for å lage det selv. Jeg tar umiddelbart forbehold om at Arduino-plattformen ble valgt for sin enkelhet, siden det ikke var noen erfaring med å kommunisere med mikrokontrollere i det hele tatt.

Idé

På døra med utenfor døren skal ha et tastatur som passordet skrives inn på, resten av strukturen er festet på innsiden. En reed-bryter brukes til å kontrollere fullstendig lukking av døren. Når en person forlater kontoret, trykker en person på "*" på tastaturet og uten å vente på at døren lukkes når den nærmere går i gang, når døren er helt lukket, lukkes reed-bryteren og låsen lukkes. Døren åpnes ved å taste inn et 4-sifret passord og trykke "#".

Komponenter

Arduino UNO = $ 18
Arduino protoskjold + brødbrett = $ 6
L293D = $ 1
30 stk Bradboard Wire Bundle = $ 4
2 RJ45-kontakter = $ 4
2 RJ45-plugger = $ 0,5
aktuator Sentrallås= 250 rubler.
Sivbryter = fri fra det gamle vinduet.
Metalllås av gigantisk størrelse = gratis
Gammelt D-LINK nav laget av 1,5 mm jern = gratis
En strømforsyning fra samme D-LINK-hub for 12 og 5v = er også gratis
En haug med skruer og muttere for å feste alle disse tingene til kroppen = 100 rubler.
Kontrollpanel fra innbruddsalarm= gratis.

Total:$ 33,5 og 350 rubler.

Ikke så lite, sier du, og du vil definitivt ha rett, men du må betale for gleden! Og å samle noe med egne hender er alltid hyggelig. I tillegg kan designet reduseres kraftig hvis du bruker en bar MC uten Arduino.

Forbereder for montering

Jeg vil gjerne si noen ord om kjøpet av et nøkkelelement i aktuatordesignet. I en lokal bilbutikk ble jeg tilbudt to typer aktuatorer: "med to ledninger og med fem." Ifølge selgeren var de helt like og forskjellen i antall ledninger betydde absolutt ingenting. Men som det viste seg senere, er dette ikke tilfelle! Jeg valgte en enhet med to ledninger, den ble drevet av 12V. 5-trådsdesignet inkluderer grensebrytere for å kontrollere bevegelsen til armen. Jeg innså at jeg kjøpte feil først da jeg tok den fra hverandre og det var for sent å bytte den. Spakens vandring var for kort til å bevege sperren normalt, derfor var det nødvendig å modifisere den litt, nemlig å fjerne to gummiskiver som forkorter aktuatorspakens vandring. For dette måtte kroppen skjæres sammen vanlig baufil fordi den andre vaskemaskinen var inne. Den blå elektriske tapen, som alltid, hjalp oss i fremtiden når vi satte den tilbake.
For å kontrollere motoren til aktuatoren ble L293D-motordriveren brukt, som tåler en toppbelastning på opptil 1200 mA, da vi stoppet motoren til aktuatoren, vokste topplasten til bare 600 mA.
Fra kontrollpanelet fra innbruddsalarmen ble kontakter fra tastatur, høyttaler og to lysdioder fjernet. Fjernkontrollen og hovedenheten skulle være koblet sammen med tvunnet par og RJ45-kontakter.

Programmering.

Så jeg har ikke hatt noen erfaring med Arduino-programmering før nå. Jeg brukte andres utvikling og artikler fra arduino.cc-siden. Alle som er interessert kan se på denne stygge koden :)

Foto og video



Arduino og aktuator


Strømforsyning


Tastatur


Espagnolett (koblet til aktuatoren med en metallnål og på hvilken en varmekrymping er slitt for skjønnhet)

Video av enhetens operasjonsprosess:

I denne artikkelen vil jeg vise deg hvordan du lager en arduino-kombinasjonslås. Til dette trenger vi røde og grønne lysdioder, en summer, en arduino nano, en LCD-skjerm med en I2C-omformer, en servostasjon og et 4x4 matrisetastatur. Når den er slått på, vil displayet skrive "Skriv inn kode."

den røde LED-en tennes,

og den grønne slås av, servoen er satt til 0 °. Når du taster inn tall, lyser * på displayet.

Hvis koden er tastet inn feil, vil displayet skrive "Skriv inn cod.". Hvis koden er riktig, vil et pip høres, servoen vil rotere 180 °, displayet vil skrive "Åpne".

den grønne LED-en tennes,

og den røde slår seg av. Etter 3 sekunder vil servoen gå tilbake til utgangsposisjonen, den røde lysdioden vil slå seg på og den grønne lysdioden vil slå seg av, displayet vil skrive "Lukk".

da vil displayet skrive "Skriv inn kode.". Nå om ordningen. Først kobler vi arduinoen med ledninger til brødbrett(strømkontakter).

Deretter kobler vi matrisetastaturet til kontaktene D9 - D2.

Så servoen. Vi kobler den til pin 10.

Rød LED til pinne 11.

Grønn - til pinne 12.

Summer - til pinne 13.

Last nå opp skissen.

#inkludere #inkludere #inkludere #inkludere iarduino_KB KB (9, 8, 7, 6, 5, 4, 3, 2); LiquidCrystal_I2C lcd (0x27, 16, 2); Servo servo; int pass = (3, 6, 1, 8); int i; int r = 11; int g = 12; void oppsett () (KB.begin (KB1); pinMode (r, OUTPUT); pinMode (g, OUTPUT); lcd.init (); lcd.backlight (); digitalWrite (g, LOW); digitalWrite (r, HIGH ); servo.attach (10); servo.write (0); lcd.setCursor (0, 0);) void loop () (lcd.clear (); lcd.print ("Skriv inn kode."); while ( ! KB.check (KEY_DOWN)) (forsinkelse (1);) in = KB.getNum; lcd.clear (); lcd.setCursor (0, 0); lcd.print ("*"); mens (! KB. check (KEY_DOWN)) (forsinkelse (1);) in = KB.getNum; lcd.print ("*"); mens (! KB.check (KEY_DOWN)) (forsinkelse (1);) in = KB.getNum; lcd.print ("*"); while (! KB.check (KEY_DOWN)) (forsinkelse (1);) in = KB.getNum; lcd.print ("*"); if (in == pass) (hvis (i == bestått) (hvis (i == bestått) (hvis (i == bestått) (lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Åpne."); tone ( 13, 400, 750); servo.write (180); digitalWrite (r, LOW); digitalWrite (g, HIGH); forsinkelse (3000); lcd.clear (); lcd.setCursor (0, 0); lcd. print ("Lukk."); tone (13, 300, 700); servo.write (0); digitalWrite (g, LOW); digitalWrite (r, HIGH); dela y (1000); )))))

Det er alt. Nyt kombinasjonslåsen!

Liste over radioelementer

Betegnelse Type av Valør Mengde MerkButikkMin notatbok
E1 Arduino-brett

Arduino Nano 3.0

1 5B Inn i notisblokk
E8, E9 Motstand

220 ohm

2 SMD Inn i notisblokk
E6 Lysdiode

AL102G

1 rød Inn i notisblokk
E7 Lysdiode

AL307G

1 Grønn Inn i notisblokk
E3 LCD-skjermMed I2C-grensesnitt1 Grønn bakgrunnsbelysning Inn i notisblokk
E5 ServoSG901 180 grader Inn i notisblokk
E2 Buzzer5B1 Bu Inn i notisblokk
E4 Tastatur4X41 Matrise Inn i notisblokk
Nei Brødbrett640 poeng1 Ingen lodding

I denne leksjonen vil vi lære hvordan du gjør enkelt system, som vil låse opp låsen ved hjelp av en elektronisk nøkkel (Tag).

I fremtiden kan du endre og utvide funksjonaliteten. Legg for eksempel til funksjonen "legg til nye nøkler og fjern dem fra minnet". I det grunnleggende tilfellet, vurder et enkelt eksempel, når en unik nøkkelidentifikator er forhåndsinnstilt i programkoden.

I denne opplæringen trenger vi:

For å implementere prosjektet må vi installere bibliotekene:

2) Nå må du koble til en summer, som vil gi et signal hvis nøkkelen utløses og låsen åpnes, og et andre signal når låsen er lukket.

Vi kobler summeren i følgende sekvens:

Arduino Buzzer
5V VCC
GND GND
pinne 5 IO

3) Servoen vil bli brukt som en opplåsingsmekanisme. En hvilken som helst servo kan velges, avhengig av dimensjonene og kreftene som kreves av deg, som servoen lager. Servoen har 3 pinner:

Mer tydelig kan du se hvordan vi koblet sammen alle modulene på bildet nedenfor:

Nå, hvis alt er tilkoblet, kan du fortsette til programmering.

Skisse:

#inkludere #inkludere #inkludere // "RFID"-bibliotek. #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); usignert lang uidDec, uidDecTemp; // for å lagre etikettnummeret i desimalformat Servo servo; void oppsett () (Serial.begin (9600); Serial.println ("Venter på kort ..."); SPI.begin (); // SPI-initialisering / Init SPI bus.mfrc522.PCD_Init (); // initialisering MFRC522 / Init MFRC522 card.servo.attach (6); servo.write (0); // sett servoen til lukket) void loop () (// Finn en ny etikett hvis (! Mfrc522.PICC_IsNewCardPresent ()) (return) ; ) // Velg en etikett hvis (! Mfrc522.PICC_ReadCardSerial ()) (return;) uidDec = 0; // Problem serienummer etiketter. for (byte i = 0; i< mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // Выводим UID метки в консоль. if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone(5, 200, 500); // Делаем звуковой сигнал, Открытие servo.write(90); // Поворациваем серву на угол 90 градусов(Отпираем какой либо механизм: задвижку, поворациваем ключ и т.д.) delay(3000); // пауза 3 сек и механизм запирается. tone(5, 500, 500); // Делаем звуковой сигнал, Закрытие } servo.write(0); // устанавливаем серву в закрытое сосотояние }

La oss analysere skissen mer detaljert:

For å finne ut UIDen til kortet (Tags), må du skrive denne skissen til arduino, sette sammen kretsen beskrevet ovenfor og åpne konsollen (Serial Port Monitoring). Når du tar med taggen til RFID, vil et nummer vises i konsollen

Den resulterende UID-en må angis på følgende linje:

If (uidDec == 3763966293) // Sammenlign Uid på etiketten, hvis den er lik den gitte åpner servoen ventilen.

Hvert kort har denne unike identifikatoren og gjentas ikke. Dermed, når du tar med kortet, identifikatoren som du har satt i programmet, vil systemet åpne tilgang ved hjelp av servoen.

Video:

Verten for youtube-kanalen "AlexGyver" ble bedt om å lage en elektronisk lås med egne hender. Velkommen til videosyklusen om elektroniske låser på arduino. V generell disposisjon mesteren vil forklare ideen.

Det er flere alternativer for å lage et system elektronisk lås... Oftest brukt til å låse dører og skuffer, skap. Og også for å lage skjulesteder og hemmelige safer. Derfor må du lage en mock-up som er praktisk å jobbe med, og du kan tydelig og detaljert vise strukturen til systemet fra innsiden og utsiden. Derfor bestemte jeg meg for å lage en ramme med dør. Dette vil kreve firkantet bjelke 30 x 30. Kryssfiner 10mm. Dørhengsler... I utgangspunktet ønsket jeg å lage en kryssfinerboks, men jeg husket at alt i rommet var overfylt med reservedeler. Det er ingen steder å sette en slik boks. Det vil derfor bli laget en layout. Hvis noen vil sette seg en elektronisk lås, kan du enkelt gjenta alt, når du ser på oppsettet.

Du kan finne alt du trenger til et slott i denne kinesiske butikken.

Målet er å utvikle like mye effektive ordninger og fastvare for elektroniske låser. Du vil kunne bruke disse resultatene til å installere disse systemene på dører, skuffer, skap og skjulesteder.

Døren er klar. Nå må du finne ut hvordan du åpner og lukker elektronisk. For disse formålene er en kraftig magnetlås fra aliexpress egnet (lenke til butikken ovenfor). Hvis du legger spenning på terminalene, vil den åpne seg. Motstanden til spolen er nesten 12 ohm, noe som betyr at ved en spenning på 12 volt vil spolen spise ca 1 ampere. Vil takle en slik oppgave og litiumbatteri og en step-up-modul. Vi justerer til riktig spenning. Selv om litt mer er mulig. Låsen er festet til innsiden dørene på avstand slik at de ikke fester seg i kanten og kan slås igjen. Låsen skal være et motstykke i formen metallboks... Det er upraktisk og feil å bruke den uten. Vi må sette et skritt, i det minste for å skape et utseende som normalt arbeid.

I hvilemodus åpnes låsen normalt, det vil si at hvis det er et håndtak på døren, gi en impuls, åpne døren ved håndtaket. Men hvis du spretter det opp, er ikke denne metoden egnet lenger. Boost-omformeren kan ikke håndtere belastningen. For å åpne den fjærbelastede døren må du bruke et større batteri og en kraftigere omformer. Enten strømforsyningen og hammer på systemets autonomi. V kinesiske butikker ha pokker store størrelser... De passer til bokser. Strøm kan tilføres ved hjelp av et relé eller en transistormosfet, eller en strømbryter på samme transistor. Et mer interessant og rimeligere alternativ er en servo koblet til en koblingsstang med et hvilket som helst låseelement - en lås eller en mer seriøs ventil. Han kan også trenge et stykke ståleiker som fungerer som en koblingsstang. Et slikt system trenger ikke mye strøm. Men hun tar mer plass og mer vanskelig kontrolllogikk.

Det finnes to typer servoer. Liten, svak og stor, kraftig, som du trygt kan dytte inn i hull i seriøse metallstifter. Begge alternativene som vises fungerer på begge dører og skuffer... Du må tukle med boksen og lage et hull i skyveveggen.

Andre del