Cuprins:

Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului: 7 pași
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului: 7 pași

Video: Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului: 7 pași

Video: Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului: 7 pași
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Noiembrie
Anonim
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului

Salut baieti!

Acesta este un proiect pe care l-am realizat folosind un microcontroler pic, un sistem electronic de securitate a codului PIN cu ceas în timp real și caracteristici ale codului PIN definite de utilizator, această pagină conține toate detaliile pentru a face unul singur.

FUNCȚIONAREA ȘI CONCEPTUL SĂU:

Ei bine, pornind sistemul de securitate, va cere un cod PIN pentru a deschide poarta (140595), dacă îl introduceți corect, ușa se va deschide. Ușa este deschisă doar 1 minut, apoi se închide din nou. Dacă introduceți codul PIN greșit Sistemul de securitate vă va oferi încă 3 șanse, dacă toate șansele sunt irosite, acesta pornește buzzer-ul și cere cod alternativ pentru a opri buzzer-ul, dacă acest cod alternativ (adică 1984) este introdus corect atunci:

1) Oprește soneria

2) Resetează codul original care a fost 140595

3) Solicită un nou cod pentru a înlocui codul original care era 140595 (nu mai mult de 6 cifre)

acum poarta va fi deschisă prin acest nou cod.

Să presupunem că este introdus un cod alternativ greșit, atunci sistemul cere să aștepte numărătoarea inversă de 1 min, timp în care toate butoanele sunt dezactivate și buzzerul continuă să sune.

VIDEO:

www.youtube.com/watch?v=O0lYVIN-CJY&t=5s

BINE LASĂ SĂ FĂCĂ UNUL …

Înainte de a începe, presupun că aveți deja cunoștințe de bază despre limbajul C și ați mai lucrat la MikroC pro și că știți cum să aprindeți un LED, cum să interfațați un LCD cu un microcontroler PIC. Bine, să începem!

Pasul 1: Strângerea componentelor

Adunarea componentelor
Adunarea componentelor

PENTRU PROIECT: S. Nr. | CANTITATE | COMPONENTA | INFO

1) 1 pachet LCD 16x2 14 la pin 1 apoi pachet Pin 15 și Pin 16 pini.

2) 1 microcontroler PIC18F4550

3) 1 IC PCF8583 Ceas în timp real (RTC)

4) 14 Butoane Reset În loc de tastatură, am folosit butoane de resetare

5) 1 baterie 9v Alimentare principală.

6) 1 Pot 10K Ohm Pentru setarea contrastului ecranului LCD

7) 2 mufe audio de 3,5 mm pentru conectarea externă a buzzerului și a porții

8) 1 capac condensator 100uF Ceremic pentru utilizarea cu pinul 1 al controlerului.

9) 1 32.682kHz Crystal Pentru PCF8583 IC

10) 1 muf de alimentare DC Dacă utilizați proiectul cu un adaptor DC

11) 1 IC7805 Pentru conversia de 9V la 5V

12) 1 rezistor de 1K Ohm pentru utilizarea cu pinul 1 al controlerului.

13) 3 rezistențe de 10K Ohm pentru utilizarea cu pinul 1 al controlerului și IC RTC

14) 13 220 Ohm rezistor fiecare buton va folosi 1 220 Ohm voi explica mai târziu

15) 1 celulă de 3V pentru utilizarea cu IC RTC

16) 1 comutator TICK TICK

17) 1 PCB Board la alegere dacă vă simțiți confortabil pe verro este bine.

18) 1 DIP cu 8 pini pentru IC RTC

19) 1 DIP cu 40 pini pentru PIC184550 sau puteți face soclu Zip dacă doriți

20) 1 suport pentru celule 3V

21) 1 Suport baterie 9V

22) 1 antet masculin pentru lipire cu LCD

23) 1 antet feminin pentru lipire pe PCB sau verro unde va fi plasat ecranul LCD.

ALTE PĂRȚI:

20) Panou pentru testare

21) Fier de lipit

22) Sârmă de lipit

23) Programator PIC (sau PICKIT2)

24) Soluție de gravare (pentru PCB)

25) Burghiu PCB

26) Multimetru

Se crede că veți observa că nu am inclus un cristal pentru microcontrolerul PIC nu? Ei bine, asta pentru că am folosit oscilatorul intern al PIC18F4550

ASTA E TOT…! ACUM SA O FACEM …!

Pasul 2: TESTARE PE PROTEU

TESTARE PE PROTEU
TESTARE PE PROTEU
TESTARE PE PROTEU
TESTARE PE PROTEU

Puteți testa circuitul pe proteus, astfel încât să vă puteți face o idee despre proiect.

Fișierul proteus va necesita un fișier hexagonal pentru microcontrolerul PIC.

Ambele fișiere sunt furnizate.

Pasul 3: Realizarea PCB-ului

Realizarea PCB-ului
Realizarea PCB-ului

Vă recomand să construiți acest proiect pe PCB, nu utilizați verroboard.

Imprimați acest PCB, a fost proiectat de mine pe Cadsoft Eagle. Dacă aveți instalat cadsoft eagle, deschideți fișierul brd (descărcați mai jos) și generați fișierul în funcție de cerința dvs. de dimensiune a paginii.

În caz contrar, am atașat două fișiere pe A4 și altele sunt A5, tipăriți și verificați componentele, apoi imprimați PCB-ul. Întreb acest lucru, deoarece poate exista un factor de scară a paginii.

NOTĂ: Puteți porni proiectul fie printr-o baterie care urmează să fie conectată la conector aproape de 7805, aveți grijă la polaritate. SAU puteți alimenta proiectul cu ajutorul unui adaptor prin mufa DC Power. Sursele de alimentare pot fi comutate prin intermediul butonului tick tick, când butonul este blocat în interiorul circuitului se alimentează de la sursa externă prin conector, când butonul este apăsat în afara circuitului se alimentează de la mufa de alimentare DC.

Pasul 4: Componente de lipit

Componente de lipit
Componente de lipit
Componente de lipit
Componente de lipit
Componente de lipit
Componente de lipit
Componente de lipit
Componente de lipit

Lipiți toate componentele, consultați imaginile atașate.

În ceea ce trebuie să vă spun, deoarece proteus este ideal de aceea butoanele sunt conectate direct la pinul microcontrolerului fără rezistență.

Dar în viața reală există un factor de zgomot.

Să presupunem că, în acest proiect, dacă apăsați butonul 4 o dată, pe proteus veți primi 4 pe LCD, dar dacă îl apăsați în viața reală, veți primi 44444444 pe LCD din cauza zgomotului. Pentru a elimina acest lucru, placa conține rezistență de 220 Ohm cu fiecare buton.

Pasul 5: Programarea IC RTC PCF8583

Programare IC RTC PCF8583
Programare IC RTC PCF8583

Bine, acesta este un lucru puțin dificil, dar, deoarece codul este furnizat, nu va fi atât de complicat. Nu am dat fișierul.hex pentru programarea IC RTC, deoarece trebuie să-l generați pentru a vă seta timpul necesar, de asemenea, anul este setat la 2015, nu trebuie să-l setați.

Deschideți mikroC Pro din PIC și selectați PIC18F4550, copiați și lipiți codul de mai jos:

// Conexiuni modul LCDsbit LCD_RS la RB2_bit;

sbit LCD_EN la RB3_bit;

sbit LCD_D4 la RB4_bit;

sbit LCD_D5 la RB5_bit;

sbit LCD_D6 la RB6_bit;

sbit LCD_D7 la RB7_bit;

sbit LCD_RS_Direction la TRISB2_bit;

sbit LCD_EN_Direction la TRISB3_bit;

sbit LCD_D4_Direction la TRISB4_bit;

sbit LCD_D5_Direction la TRISB5_bit;

sbit LCD_D6_Direction la TRISB6_bit;

sbit LCD_D7_Direction la TRISB7_bit;

// Încheiați conexiunile modulului LCD

void main () {

ADCON1 = 0x0F;

CMCON | = 7; // Dezactivați comparatoarele

OSCCON = 0b01111111; // Utilizarea Oscilator intern @ 8MHz

TRISB = 0x00; // PORTB pentru ieșire (LCD)

LATB = 0xFF; // PORTC pentru intrare

LATC = 0xFF; // PORTD pentru intrare

TRISA. RA2 = 0; // RA2 pentru ieșire

TRISA. RA3 = 0; // RA3 pentru ieșire

UCON. USBEN = 0; // Dezactivează usb UCFG. UTRDIS = 1;

TRISD = 0xF9; // ieșire PORTD

Lcd_Init (); // Inițializați ecranul LCD

Lcd_Cmd (_LCD_CLEAR); // Ștergeți afișajul

Lcd_Cmd (_LCD_CURSOR_OFF); // Cursorul oprit

Lcd_Out (1, 1, "Setarea timpului …");

Întârziere_ms (1000);

I2C1_Init (100000); // inițializați modul master complet

I2C1_Start (); // emite semnal de pornire

I2C1_Wr (0xA0); // adresa PCF8583

I2C1_Wr (0); // începe de la cuvânt la adresa 0 (cuvânt de configurare)

I2C1_Wr (0x80); // scrieți 80 USD pentru configurare. (contor pauză …)

I2C1_Wr (0); // scrieți 0 la cenți cuvânt

I2C1_Wr (0); // scrieți 0 la secunde cuvânt

I2C1_Wr (0x10); // SCHIMBAȚI ACEST 10 la orice minute doriți să setați

I2C1_Wr (0x17); // SCHIMBAȚI ACEST 17 la orele pe care doriți să le setați

I2C1_Wr (0x23); // SCHIMBAȚI ACEST 23 la orice dată doriți să setați

I2C1_Wr (0x2); // SCHIMBAȚI ACEST 2 în orice lună doriți să setați

I2C1_Stop (); // emite semnal de oprire

I2C1_Start (); // emite semnal de pornire

I2C1_Wr (0xA0); // adresa PCF8530

I2C1_Wr (0); // începe de la cuvânt la adresa 0

I2C1_Wr (0); // scrieți 0 la configurarea cuvântului (activați numărarea)

I2C1_Stop (); // emite semnal de oprire

Lcd_Cmd (_LCD_CLEAR);

Lcd_Out (1, 1, "Set de timp.!");

Întârziere_ms (500);

}

_END COD _

Generați un fișier hexagonal din Mikroc Pro pentru PIC după compilarea codului de mai sus, apoi ardeți-l în microcontrolerul pic PIC18F4550

Puneți-l pe PCB lipit cu toate componentele, porniți-l. Ecranul LCD ar trebui să afișeze „Setarea timpului …”, atunci când afișează „Setarea timpului!” opriți alimentarea. Scoateți microcontrolerul PIC din DIP, ați programat cu succes IC PCTC8583 RTC.:)

Pasul 6: Programarea PIC18F4550

Programare PIC18F4550
Programare PIC18F4550

Ei bine, fișierul hex este deja furnizat în Pasul 2, îl puteți inscripționa pe PIC18F4550 prin programatorul PIC.

Pasul 7: Ultimul pas și TESTUL FINAL …

Atașați un LED la mufa audio de 3,5 mm din dreapta jos și un buzzer la mufa de 3,5 mm din dreapta sus. Plasați PIC18F4550 programat pe PCB și porniți alimentarea.

Când este introdus codul corect, dă logica 1 la ledul inferior, am presupus că atunci când dau logica 1 la led, deschide poarta.

Sistemul dvs. electronic de securitate ar trebui să fie gata acum …! Și dacă ați făcut fiecare lucru corect, ar trebui să funcționeze bine.

Vă rugăm să apreciați și să urmați pagina mea de Facebook:

www.facebook.com/pg/ElectronicProjectsbySh…

Site-ul blogului meu:

epshahrukh.blogspot.com/

Recomandat: