Am primit de curând o încuietoare electronica pe care am hotărât să o transform în încuietoare inteligentă cu amprentă și taste numerice. Aceasta era inițial 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ă o transform în încuietoare inteligentă, prin transformare din metoda inițială de deblocare în una mult mai la îndemână și anume amprentă și taste numerice.

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.
Thank you for Sharing. Very easy to use. Time effective.
Hello mates, its impressive article concerning educationand completely explained, keep it up all the time.
https://leasing.com.ua/ledovski-fary-chomu-varto-obrati-ci-rishennya-dlya-avto