Arduino kombinovana brava sa dvostepenom autentifikacijom. Arduino kombinovana brava

Napredak ne miruje i "pametne brave" se sve češće pojavljuju na vratima stanova, garaža i kuća.

Slična brava se otvara kada pritisnete dugme na pametnom telefonu. Na sreću, pametni telefoni i tableti već su ušli u naš svakodnevni život. U nekim slučajevima, "pametne brave" se povezuju na " usluge u oblaku"poput google diska i otvorite se daljinski. Osim toga, ova opcija omogućava da se da pristup otvaranju vrata drugim ljudima.

U ovom projektu će biti implementirana DIY verzija pametne brave na Arduinu, kojom se može upravljati daljinski s bilo kojeg mjesta na zemlji.

Osim toga, projekat je dodao mogućnost otvaranja brave nakon prepoznavanja otiska prsta. Za to će biti integrisan senzor otiska prsta. Obje opcije otvaranja vrata će pokretati Adafruit IO platforma.

Ovakva brava može biti odličan prvi korak u vašem projektu pametne kuće.

Podešavanje senzora otiska prsta

Za rad sa senzorom otiska prsta, postoji odlična biblioteka za Arduino koja znatno olakšava proces podešavanja senzora. Ovaj projekat koristi Arduino Uno. Adafruit CC3000 ploča se koristi za povezivanje na Internet.

Počnimo spajanjem napajanja:

  • Povežite pin od 5V sa Arduino ploče na crvenu šinu napajanja;
  • GND pin iz Arduina spaja se na plavu šinu na ploči bez lemljenja.

Pređimo na povezivanje senzora otiska prsta:

  • Prvo priključite napajanje. Da biste to učinili, crvena žica je spojena na +5 V šinu, a crna žica na GND šinu;
  • Bijela žica senzora spaja se na pin 4 na Arduinu.
  • Zelena žica ide na pin 3 na mikrokontroleru.

Sada se pozabavimo CC3000 modulom:

  • IRQ pin sa CC3000 ploče je spojen na pin 2 na Arduinu.
  • VBAT - na pin 5.
  • CS - na pin 10.
  • Nakon toga, potrebno je da spojite SPI pinove na Arduino: MOSI, MISO i CLK - na pinove 11, 12 i 13, respektivno.

Konačno, trebate osigurati napajanje: Vin na Arduino 5V (crvena šina na vašoj ploči) i GND na GND (plava šina na matičnoj ploči).

Fotografija potpuno montiranog projekta prikazana je u nastavku:

Prije nego što razvijete skicu koja će učitati podatke u Adafruit IO, morate prenijeti podatke o otisku prsta na senzor. Inače te neće prepoznati u budućnosti;). Preporučujemo da kalibrirate senzor otiska prsta koristeći Arduino zasebno. Ako prvi put radite s ovim senzorom, preporučujemo da se upoznate s procesom kalibracije i detaljnim uputama za rad sa senzorom otiska prsta.

Ako to već niste učinili, onda kreirajte račun na Adafruit IO.

Nakon toga možemo ići do sledeća faza razvoj "pametne brave" na Arduinu: naime, razvoj skice koja će prenijeti podatke u Adafruit IO. Budući da je program prilično obiman, u članku ćemo istaknuti i razmotriti samo njegove glavne dijelove, a zatim ćemo dati vezu na GitHub, gdje možete preuzeti cijelu skicu.

Skica počinje učitavanjem svih potrebnih biblioteka:

#include

#include

#include

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_CC3000.h"

#include

#include >

Nakon toga morate malo ispraviti skicu umetanjem parametara vaše WiFi mreže, navodeći SSID i lozinku (lozinku):

#define WLAN_SECURITY WLAN_SEC_WPA2>

Pored toga, potrebno je da unesete svoje ime i AIO ključ (ključ) da biste se prijavili na svoj Adafruit IO nalog:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

Sljedeći redovi su odgovorni za interakciju i obradu podataka sa senzora otiska prsta. Ako je senzor bio aktiviran (podudaran otisak prsta), bit će "1":

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

Adafruit_MQTT_Publish otisak prsta = Adafruit_MQTT_Objavi (& mqtt, FINGERPRINT_FEED);

Osim toga, moramo kreirati instancu SoftwareSerial objekta za naš senzor:

SoftwareSerial mySerial (3, 4);

Nakon toga možemo kreirati objekt za naš senzor:

Adafruit_Fingerprint finger = Adafruit_Fingerprint (& mySerial);

Unutar skice označavamo koji ID prsta bi trebao aktivirati zaključavanje u budućnosti. Ovaj primjer koristi 0, što odgovara ID-u prvog otiska prsta koji koristi senzor:

int fingerID = 0;

Nakon toga inicijaliziramo brojač i odgađamo naš projekat. U osnovi, želimo da brava radi automatski nakon otvaranja. U ovom primjeru koristi se odgoda od 10 sekundi, ali ovu vrijednost možete podesiti prema svojim potrebama:

int activationCounter = 0;

int lastActivation = 0;

int vrijeme aktivacije = 10 * 1000;

U tijelu funkcije setup () inicijaliziramo senzor otiska prsta i povezujemo CC3000 čip na vašu WiFi mrežu.

U tijelu funkcije petlje () povežite se na Adafruit IO. Za to je odgovoran sljedeći red:

Nakon povezivanja na Adafruit IO platformu, provjeravamo posljednji otisak prsta. Ako se podudara, a zaključavanje nije aktivirano, šaljemo "1" na obradu u Adafruit IO:

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

Serial.println (F ("Pristup odobren!"));

lockState = istina;

Serial.println (F ("Neuspješno"));

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

lastActivation = millis ();

Ako je zaključavanje aktivirano unutar funkcije petlje () i dostigli smo vrijednost kašnjenja navedenu gore, šaljemo "0":

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

lockState = lažno;

if (! fingerprint.publish (stanje)) (

Serial.println (F ("Neuspješno"));

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

Najnoviju verziju koda možete preuzeti na GitHub-u.

Vrijeme je da testiramo naš projekat! Ne zaboravite preuzeti i instalirati sve potrebne Arduino biblioteke!

Pobrinite se da napravite sve potrebne promjene na skici i prenesite je na svoj Arduino. Zatim otvorite prozor serijskog monitora.

Kada se Arduino poveže na WiFi mreže, senzor otiska prsta će treptati crveno. Stavite prst na senzor. Prozor serijskog monitora bi trebao prikazati ID broj. Ako se podudara, pojavit će se poruka "OK!". To znači da su podaci poslani na Adafruit IO servere.

Dijagram i skica za daljnju konfiguraciju brave na primjeru LED-a

Sada se pozabavimo dijelom projekta koji je direktno odgovoran za upravljanje brava... Za povezivanje na bežičnu mrežu i za aktiviranje/deaktiviranje brave, trebat će vam dodatni Adafruit ESP8266 modul (modul ESP8266 ne mora biti iz Adafruita). Koristeći donji primjer, možete shvatiti koliko je lako razmjenjivati ​​podatke između dvije platforme (Arduino i ESP8266) koristeći Adafruit IO.

U ovom odeljku nećemo raditi direktno sa bravom. Umjesto toga, jednostavno ćemo spojiti LED na pin na koji će se kasnije spojiti brava. Ovo će omogućiti testiranje našeg koda bez ulaska duboko u dizajn brave.

Krug je prilično jednostavan: prvo instalirajte ESP8266 na matičnu ploču. Zatim instalirajte LED diodu. Ne zaboravite da je duga (pozitivna) noga LED-a povezana preko otpornika. Druga noga otpornika spaja se na pin 5 na ESP8266 modulu. Druga (katoda) LED diode je spojena na GND pin na ESP8266.

Potpuno sklopljeno kolo prikazano na fotografiji ispod.


Sada pogledajmo skicu koju ćemo koristiti za ovaj projekat. Opet, kod je prilično velik i složen, tako da ćemo pokriti samo njegove glavne dijelove:

Počinjemo povezivanjem potrebnih biblioteka:

#include

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

Konfiguriranje WiFi parametara:

#define WLAN_SSID "vaš_wifi_ssid"

#define WLAN_PASS "vaša_wifi_lozinka"

#define WLAN_SECURITY WLAN_SEC_WPA2

Također konfiguriramo Adafruit IO parametre. Isto kao u prethodnom dijelu:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_username"

#define AIO_KEY "adafruit_io_key"

Označavamo na koji pin smo spojili LED (u budućnosti će to biti naša brava ili relej):

int relayPin = 5;

Interakcija sa senzorom otiska prsta je ista kao u prethodnom odjeljku:

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

Adafruit_MQTT_Subscribe lock = Adafruit_MQTT_Subscribe (& mqtt, LOCK_FEED);

U tijelu funkcije setup () označavamo da bi pin na koji je spojen LED trebao raditi u OUTPUT modu:

pinMode (relayPin, OUTPUT);

Unutar petlje (), prvo provjeravamo da li smo povezani na Adafruit IO:

Nakon toga provjeravamo koji signal se prima. Ako se prenosi "1", aktiviramo kontakt koji smo ranije deklarirali, na koji je povezana naša LED dioda. Ako primimo "0", kontakt prenosimo u "nisko" stanje:

Adafruit_MQTT_Subscribe * pretplata;

dok ((pretplata = mqtt.readSubscription (1000))) (

if (pretplata == & zaključavanje) (

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

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

// Sačuvajte naredbu u niz podataka

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

if (komanda == "0") (

digitalWrite (relayPin, LOW);

if (naredba == "1") (

digitalWrite (relayPin, HIGH);

Nađi najnoviju verziju skicirati možete na GitHubu.

Vrijeme je da testiramo naš projekat. Ne zaboravite da preuzmete sve potrebne biblioteke za vaš Arduino i provjerite jeste li napravili ispravne promjene na skici.

Jednostavan USB-FTDI konverter se može koristiti za programiranje ESP8266 čipa.

Otpremite skicu na Arduino i otvorite prozor serijskog monitora. U ovoj fazi smo upravo provjerili da li smo u mogućnosti da se povežemo na Adafruit IO: dalje ćemo razmotriti dostupnu funkcionalnost.

Testiranje projekta

Sada počnimo sa testiranjem! Idite na korisnički meni vašeg Adafruit IO, ispod menija Feeds. Provjerite da li su kanali za otisak prsta i bravu kreirani (na print-screenu ispod su otisak prsta i linije za zaključavanje):


Ako ih nema, morat ćete ga kreirati ručno.

Sada moramo osigurati razmjenu podataka između kanala otiska prsta i zaključavanja. Kanal zaključavanja mora biti postavljen na "1" kada je kanal otiska prsta postavljen na "1" i obrnuto.

Da bismo to učinili, koristimo vrlo moćan Adafruit IO alat: okidače. Okidači su u suštini uvjeti koje možete primijeniti na konfigurirane kanale. Odnosno, mogu se koristiti za međusobno povezivanje dva kanala.

Kreirajte novi reaktivni okidač iz odjeljka Triggers u Adafruit IO. Ovo će omogućiti razmjenu podataka između senzora otiska prsta i zaključanih kanala:


Ovako bi to trebalo izgledati kada su oba okidača konfigurirana:

Sve! Sada zaista možemo testirati naš projekat! Stavljamo prst na senzor i vidimo kako je Arduino počeo treptati LED koja odgovara prijenosu podataka. Nakon toga, LED na modulu ESP8266 bi trebao početi treptati. To znači da je počeo da prima podatke preko MQTT-a. LED na pločici bi se također trebala upaliti u ovom trenutku.

Nakon kašnjenja koje ste postavili u skici (podrazumevano je 10 sekundi), LED će se ugasiti. Čestitamo! Možete kontrolisati LED pomoću otiska prsta s bilo kojeg mjesta na svijetu!

Postavljanje elektronske brave

Stigli smo do posljednjeg dijela projekta: direktnog povezivanja i kontrole elektronske brave pomoću Arduina i senzora otiska prsta. Projekt nije lak, možete koristiti sve izvore u obliku u kojem su prikazani gore, ali umjesto LED-a, spojite relej.

Da biste direktno povezali bravu, trebat će vam dodatne komponente: napajanje od 12 V, utičnica za napajanje, tranzistor (u ovaj primjer Koristi se IRLB8721PbF MOSFET, ali se može koristiti još jedan, na primjer, bipolarni tranzistor TIP102. Ako koristite bipolarni tranzistor, morat ćete dodati otpornik.

Prikazano ispod električni krug povezivanje svih komponenti na ESP8266 modul:


Imajte na umu da ako koristite MOSFET tranzistor, nije vam potreban otpornik između pina 5 ESP8266 i tranzistora.

Potpuno sastavljen projekat prikazan je na fotografiji ispod:


Napajajte modul ESP8266 pomoću FTDI modula i povežite napajanje od 12 V na utičnicu. Ako ste koristili gore preporučene pinove za povezivanje, nećete morati ništa mijenjati na skici.

Sada možete staviti prst na senzor: brava bi trebala raditi, reagirajući na vaš otisak prsta. Video ispod prikazuje projekat automatske "pametne" brave u akciji:

Dalji razvoj projekta "Smart Lock".

U našem projektu smo objavili daljinski upravljač zaključavanje vrata pomoću otiska prsta.

Slobodno eksperimentirajte, modificirajte skicu i pojas. Na primjer, možete zamijeniti elektronsku bravu vrata relejem za kontrolu snage vašeg 3D štampača, manipulatora ili kvadrokoptera...

Možete razviti svoje " smart House". Na primjer, daljinski aktivirajte sistem za navodnjavanje na Arduinu ili upalite svjetla u prostoriji... Ali ne zaboravite da možete istovremeno aktivirati gotovo neograničen broj uređaja koristeći Adafruit IO.

Ostavite svoje komentare, pitanja i podijelite lično iskustvo ispod. U raspravi se često rađaju nove ideje i projekti!

Desilo se da smo na poslu odlučili da na svoja vrata ugradimo kombinovanu bravu, jer stalno uletimo - istrčavamo iz kancelarije, čija vrata moraju biti zatvorena stalno u odsustvu stanovnika. Ključevi se često zaborave unutra. Općenito, odlučili smo da je kombinovana brava odlično rješenje.

Preturajući po kineskim buvljacima i ebayu, nisam našao ništa jeftino i manje-više ozbiljno i odlučio sam da ga napravim sam. Odmah ću napraviti rezervaciju da je Arduino platforma odabrana zbog svoje jednostavnosti, jer uopće nije bilo iskustva u komunikaciji s mikrokontrolerima.

Ideja

Na vratima sa vani vrata treba da imaju tastaturu na kojoj se upisuje lozinka, ostatak konstrukcije je fiksiran sa unutrašnje strane. Reed prekidač se koristi za kontrolu potpunog zatvaranja vrata. Napuštajući kancelariju, osoba pritisne "*" na tastaturi i, ne čekajući da se vrata zatvore od strane zatvarača, ide svojim poslom, kada su vrata potpuno zatvorena, prekidač će se zatvoriti i brava će se zatvoriti . Vrata se otvaraju unosom 4-cifrene lozinke i pritiskom na "#".

Komponente

Arduino UNO = 18 dolara
Arduino protoshield + matična ploča = 6 dolara
L293D = 1 $
30kom pletene žice snop = $4
2 RJ45 utičnice = 4 $
2 RJ45 utikača = 0,5 USD
aktuator centralno zaključavanje= 250 RUB
Reed prekidač = otkinut sa starog prozora.
Metalni zasun ogromne veličine = slobodan
Stara D-LINK glavčina od 1,5 mm željeza = besplatna
Napajanje iz istog D-LINK čvorišta za 12 i 5v = je također besplatno
Gomila vijaka i matica za pričvršćivanje svih ovih stvari na tijelo = 100 rubalja.
Kontrolni panel od alarmni sustav= besplatno.

Ukupno: 33,5 dolara i 350 rubalja.

Ne tako malo, kažete, i sigurno ćete biti u pravu, ali za zadovoljstvo morate platiti! I uvijek je lijepo sastaviti nešto vlastitim rukama. Osim toga, dizajn se može znatno smanjiti ako koristite goli MC bez Arduina.

Priprema za montažu

Želio bih reći nekoliko riječi o kupovini ključnog elementa dizajna aktuatora. U lokalnoj prodavnici automobila ponudili su mi dva tipa aktuatora: "sa dvije žice i sa pet." Prema riječima prodavačice, bile su potpuno iste, a razlika u broju žica nije značila apsolutno ništa. Međutim, kako se kasnije pokazalo, to nije slučaj! Odabrao sam uređaj sa dvije žice, napajao se na 12V. Dizajn sa 5 žica uključuje granične prekidače za kontrolu kretanja ruke. Shvatio sam da sam kupio pogrešnu tek kada sam je rastavljao i bilo je kasno da je mijenjam. Hod poluge je bio prekratak da bi pravilno gurnuo zasun, stoga ga je bilo potrebno malo modificirati, odnosno ukloniti dvije gumene podloške koje skraćuju hod poluge aktuatora. Da bi se to postiglo, tijelo je trebalo prerezati obicna pila za metal jer je druga perilica bila unutra. Plava izolacijska traka nam je, kao i uvijek, pomogla u budućnosti pri ponovnom sklapanju.
Za upravljanje motorom aktuatora korišćen je drajver motora L293D, koji izdržava vršno opterećenje do 1200 mA, u našem slučaju, kada je motor aktuatora zaustavljen, vršno opterećenje je poraslo na samo 600 mA.
Sa kontrolne table od protuprovalnog alarma uklonjeni su kontakti sa tastature, zvučnika i dvije LED diode. Daljinski upravljač i glavni uređaj trebali su biti povezani pomoću upredene parice i RJ45 konektora.

Programiranje.

Dakle, do sada nisam imao iskustva sa Arduino programiranjem. Koristio sam razvoje i članke drugih ljudi sa arduino.cc stranice. Koga briga za ovaj ruzni kod :)

Fotografija i video



Arduino i aktuator


Napajanje


Tastatura


Espagnolette (povezan sa aktuatorom metalnim krakom i na kojem se radi ljepote nosi toplotno skupljanje)

Video procesa rada uređaja:

U ovom članku ću vam pokazati kako napraviti kombinacijsku bravu od arduina. Za ovo su nam potrebne crvene i zelene LED diode, zujalica, arduino nano, LCD ekran sa I2C konvertorom, servo drajv i 4x4 matrična tastatura. Kada je uključen, ekran će napisati "Unesite kod".

pali se crvena LED dioda,

a zeleni se ugasi, servo je postavljen na 0°. Dok unosite brojeve, * će zasvijetliti na ekranu.

Ako se šifra unese pogrešno, na displeju će pisati "Unesite kod.". Ako je kod ispravan, oglasit će se bip, servo će se rotirati za 180°, na displeju će pisati "Otvori".

zelena LED se pali,

a crveni se gasi. Nakon 3 sekunde servo će se vratiti u početni položaj, crvena LED dioda će se upaliti, a zelena će se ugasiti, na displeju će pisati "Zatvori".

tada će na ekranu biti ispisano "Unesite kod.". Sada o šemi. Prvo povezujemo arduino sa žicama matična ploča(kontakti za napajanje).

Zatim spojimo matričnu tastaturu na kontakte D9 - D2.

Zatim servo. Povezujemo ga na pin 10.

Crvena LED dioda na pin 11.

Zelena - do igle 12.

Zujalica - na pin 13.

Sada otpremite skicu.

#include #include #include #include iarduino_KB KB (9, 8, 7, 6, 5, 4, 3, 2); LiquidCrystal_I2C LCD (0x27, 16, 2); Servo servo; int prolaz = (3, 6, 1, 8); int in; int r = 11; int g = 12; void setup () (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 ("Unesite kod."); dok ( ! KB.check (KEY_DOWN)) (kašnjenje (1);) u = KB.getNum; lcd.clear (); lcd.setCursor (0, 0); lcd.print ("*"); while (! KB. check (KEY_DOWN)) (kašnjenje (1);) in = KB.getNum; lcd.print ("*"); dok (! KB.check (KEY_DOWN)) (kašnjenje (1);) in = KB.getNum; lcd.print ("*"); while (! KB.check (KEY_DOWN)) (kašnjenje (1);) in = KB.getNum; lcd.print ("*"); if (in == pass) (ako (u == prolaz) (ako (u == prolaz) (ako (u == prolaz) (lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Otvoreno."); ton ( 13, 400, 750); servo.write (180); digitalWrite (r, LOW); digitalWrite (g, HIGH); kašnjenje (3000); lcd.clear (); lcd.setCursor (0, 0); lcd. print ("Zatvori."); ton (13, 300, 700); servo.write (0); digitalWrite (g, LOW); digitalWrite (r, HIGH); dela; y (1000); )))))

To je sve. Uživajte u kombinovanoj bravi!

Spisak radioelemenata

Oznaka Vrstu Denominacija Količina BilješkaProdavnicaMoja sveska
E1 Arduino ploča

Arduino Nano 3.0

1 5B U notepad
E8, E9 Otpornik

220 ohma

2 SMD U notepad
E6 Dioda koja emituje svetlost

AL102G

1 Crveni U notepad
E7 Dioda koja emituje svetlost

AL307G

1 Zeleno U notepad
E3 LCD ekranSa I2C interfejsom1 Zeleno pozadinsko osvetljenje U notepad
E5 ServoSG901 180 stepeni U notepad
E2 Zujalica5B1 Bu U notepad
E4 Tastatura4X41 Matrix U notepad
br BreadBoard640 bodova1 Bez lemljenja

U ovoj lekciji ćemo naučiti kako to učiniti jednostavan sistem, koji će otključati bravu pomoću elektronskog ključa (Tag).

U budućnosti možete modificirati i proširiti funkcionalnost. Na primjer, dodajte funkciju "dodajte nove ključeve i uklonite ih iz memorije". U osnovnom slučaju, razmotrite jednostavan primjer, kada je jedinstveni identifikator ključa unaprijed postavljen u programskom kodu.

U ovom tutorijalu trebat će nam:

Za realizaciju projekta potrebno je da instaliramo biblioteke:

2) Sada trebate spojiti zujalicu, koja će dati signal ako se ključ aktivira i kada se brava otvori, te drugi signal kada je brava zatvorena.

Zujalicu povezujemo u sljedećem redoslijedu:

Arduino Zujalica
5V VCC
GND GND
pin 5 IO

3) Servo će se koristiti kao mehanizam za otključavanje. Može se odabrati bilo koji servo, ovisno o dimenzijama i silama koje servo stvara. Servo ima 3 pina:

Još jasnije možete vidjeti kako smo spojili sve module na slici ispod:

Sada, ako je sve povezano, možete nastaviti s programiranjem.

skica:

#include #include #include // Biblioteka "RFID". #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); nepotpisani dugi uidDec, uidDecTemp; // za pohranjivanje broja etikete u decimalnom formatu Servo servo; void setup () (Serial.begin (9600); Serial.println ("Waiting for card..."); SPI.begin (); // inicijalizacija SPI / Init SPI bus.mfrc522.PCD_Init (); // inicijalizacija MFRC522 / Init MFRC522 card.servo.attach (6); servo.write (0); // postavite servo na zatvoren) void loop () (// Pronađite novu oznaku if (! Mfrc522.PICC_IsNewCardPresent ()) (povratak ; ) // Odaberite oznaku ako (! Mfrc522.PICC_ReadCardSerial ()) (return;) uidDec = 0; // Problem serijski broj etikete. za (bajt 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); // устанавливаем серву в закрытое сосотояние }

Pogledajmo bliže skicu:

Da biste saznali UID kartice (oznake), potrebno je da napišete ovu skicu u arduino, sastavite gore opisano kolo i otvorite konzolu (nadzor serijskog porta). Kada donesete oznaku na RFID, broj će biti prikazan na konzoli

Rezultirajući UID se mora unijeti u sljedeći red:

If (uidDec == 3763966293) // Uporedi Uid naljepnice, ako je jednak zadanom onda servo otvara ventil.

Svaka kartica ima jedinstveni identifikator i ne ponavlja se. Dakle, kada donesete karticu čiji ste identifikator postavili u programu, sistem će otvoriti pristup pomoću servo drajva.

Video:

Voditelj youtube kanala "AlexGyver" zamoljen je da vlastitim rukama napravi elektronsku bravu. Dobrodošli u ciklus videa o elektronskim bravama na arduinu. V generalni pregled majstor će objasniti ideju.

Postoji nekoliko opcija za kreiranje sistema elektronska brava... Najčešće se koriste za zaključavanje vrata i ladica, ormara. A takođe i za stvaranje skrovišta i tajnih sefova. Stoga morate napraviti maketu koja je pogodna za rad i koju možete jasno i detaljno prikazati strukturu sistema iznutra i izvana. Stoga sam odlučio napraviti okvir sa vratima. Ovo će zahtijevati kvadratna traka 30 x 30. Šperploča 10mm. Šarke za vrata... U početku sam htio napraviti kutiju od šperploče, ali sam se sjetio da je sve u prostoriji bilo zatrpano rezervnim dijelovima. Takvu kutiju nema gdje staviti. Stoga će se izraditi raspored. Ako neko želi sebi postaviti elektronsku bravu, onda, gledajući izgled, lako možete sve ponoviti.

Sve što vam je potrebno za dvorac možete pronaći u ovoj kineskoj radnji.

Cilj je razvijati se što je više moguće efikasne šeme i firmver za elektronske brave. Ove rezultate ćete moći koristiti za instaliranje ovih sistema na svoja vrata, fioke, ormare i skrovišta.

Vrata su spremna. Sada morate shvatiti kako otvoriti i zatvoriti elektronski. Za ove svrhe prikladna je moćna solenoidna brava iz aliexpressa (veza na gornju trgovinu). Ako dovedete napon na terminale, otvorit će se. Otpor zavojnice je skoro 12 oma, što znači da će pri naponu od 12 volti zavojnica trošiti oko 1 amper. Hoće li se nositi s takvim zadatkom i litijumska baterija i modul za povećanje. Prilagođavamo se na odgovarajući napon. Iako je moguće i malo više. Zasun je pričvršćen za unutra vrata su na udaljenosti tako da se ne zakače za rub i da se mogu zalupiti. Zasun bi trebao biti pandan u obliku metalna kutija... Nezgodno je i pogrešno koristiti ga bez njega. Morat ćemo napraviti korak, barem da stvorimo privid normalnog rada.

U stanju mirovanja, zasun se normalno otvara, odnosno ako postoji ručka na vratima, dajte impuls, otvorite vrata za kvaku. Ali ako ga pokrenete, ova metoda više nije prikladna. Pojačani pretvarač ne može podnijeti opterećenje. Da biste otvorili vrata s oprugom, morat ćete koristiti veću bateriju i snažniji pretvarač. Ili mrežno napajanje i čekić na autonomiju sistema. V Kineske prodavnice dovraga velike veličine... Pogodni su za kutije. Napajanje se može napajati pomoću releja ili tranzistorskog mosfeta, ili prekidača za napajanje na istom tranzistoru. Zanimljivija i jeftinija opcija je servo pogon spojen na klipnjaču s bilo kojim elementom za zaključavanje - zasunom ili ozbiljnijim ventilom. Možda će mu trebati i komad čelične žbice koja služi kao klipnjača. Takav sistem ne treba mnogo struje. Ali ona uzima više prostora i složeniju logiku upravljanja.

Postoje dvije vrste servo uređaja. Mali, slab i moćan, sa kojim možete bezbedno da gurate u rupe u ozbiljnim metalnim iglicama. Obje prikazane opcije rade na oba vrata i ladice... Morat ćete petljati s kutijom, praveći rupu u kliznom zidu.

Drugi dio