Acasă / Atelier / Microcontroler / PIC / Încuietoare inteligentă cu amprentă si taste numerice

Încuietoare inteligentă cu amprentă si taste numerice

Am primit de curând o încuietoare inteligentă care era folosită cu IC EEPROM Card. Nu am reușit să o testez cu un card deoarece nu am avut unul, așadar am hotărât să modific putin designul inițial și să înlocuiesc metoda inițială de deblocare cu una mult mai la îndemână și anume „amprenta”.

Pentru început a trebuit să desenez schema electrică pentru a vedea dacă aceasta modificare va avea un impact major asupra schemei inițiale.

Microcontrolerul folosit este un PIC16F73 care are atașată o memorie 24LC64 și un modul ceas DS1302. Acest montaj mai include un motor DC care acționează mecanismul de încuiere sau descuiere ușa, un buzzer pentru semnale sonore, un LED bicolor pentru semnale luminoase și un regulator de tensiune pentru alimentarea IC Card. De la încuietoare preluăm starea încuiat/descuiat, starea de broască blocată și starea cheie introdusa. Suplimentar mai preluam și starea de baterii descărcate.

Am redesenat schema într-un simulator pentru teste.

La prima vedere, schema poate fi adaptată cu ușurință acestei aplicații. Prin eliminarea cititorului ID Card obținem o tastatură numerica cu tastele 0, 1, 2, 3, prin care obținem un meniu de parametrizare sau putem să deblocam încuietoarea, folosind un PIN.

Mai departe avem nevoie de un cititor de amprenta care sa comunice pe UART. Căutând pe google am găsit următorul model, aici.

Pe acest model pot fi salvate până la 125 de profile, am ținut cont de acest aspect pentru alocarea memoriei.

Specificațiile cititorului de găsiți la atașamente.

O mare provocare a fost scrierea codului pe acest PIC. După o mare bătaie de cap cu comprimarea codului am hotărât să înlocuiesc PIC-ul actual cu unul ceva mai performant și cu arhitectură similară pentru a nu modifica PCB-ul actual, așadar l-am inlocuit cu PIC16F676.

O altă mare provocare a fost realizarea unui soft cat mai economic din punct de vedere energetic, ținând cont de faptul că acesta va fi alimentat în permanență de 4 baterii AA 1,5Ah, este vital pentru fiabilitatea montajului ca acesta să consume cât mai puțină energie. Asadar, pentru a economisi energia am ales folosirea WDT (Watchdog Timer), utilizand ciclic functia SLEEP() si CLRWDT().

Programul l-am împărțit în mai multe blocuri:

  • Secvența principală (main)
  • Comunicația UART
  • Comunicația cu memoria
  • Comunicația cu RT clock
  • Instrucțiunile pentru cititor amprentă

Programul îl găsiți la atașamente.

După realizarea programului am trecut la teste.

Pentru carcasă și taste am apelat la un bun prieten din Cluj, care mă ajutată cu partea de proiectare și print 3D. Zion3d.

Voi reveni cu poze după ce voi primi carcasa pentru cititor.

Atașat acestui articol :

Fingerprint user manual___
Filename : fingerprint-user-manual___.pdf (486 KB)
proiect_fingerprint
Filename : proiect_fingerprint.zip (22 KB)

Despre Ciprian

Am dezvoltat o pasiune pentru acest domeniu de cand eram foarte mic, cred ca aveam 6-7 ani, din cate imi amintesc, am invatat sa citesc din revistele Tehnium, cam astea erau preferatele mele la varsta respectiva. In plus, aveam o atractie pentru informatica fapt ce a dus la inscrierea mea la un liceu de informatica, iar pentru a continua cu pasiunea mea m-am inscris apoi la facultatea de electrotehnica...

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *