Inhoudsopgave:

Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode - Ajarnpa
Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode - Ajarnpa

Video: Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode - Ajarnpa

Video: Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode - Ajarnpa
Video: Smart Alarm Systems Vcare 2 — датчик дыма 2024, Juni-
Anonim
Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode
Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode
Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode
Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode
Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode
Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode
Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode
Elektronisch beveiligingssysteem met RTC en door de gebruiker gedefinieerde pincode

Hallo jongens!

Dit is een project dat ik heb gemaakt met behulp van een pic-microcontroller, het is een elektronisch pincodebeveiligingssysteem met realtime klok en door de gebruiker gedefinieerde pincodefuncties, deze pagina bevat alle details om er zelf een te maken.

ZIJN WERKING EN CONCEPT:

Welnu, door het beveiligingssysteem in te schakelen, zal het om een PINCODE vragen om de poort te openen, (zijn 140595) als u het correct invoert, gaat de deur open. De deur wordt slechts 1 minuut geopend en vervolgens weer gesloten. Als u de pincode verkeerd invoert, geeft het beveiligingssysteem u nog 3 kansen, als alle kansen worden verspild, wordt de zoemer ingeschakeld en wordt om een alternatieve code gevraagd om de zoemer te stoppen. Als deze alternatieve code (d.w.z. 1984) correct is ingevoerd, dan:

1) Het stopt zoemer

2) Reset de originele code die 140595. was

3) Vraagt nieuwe code om originele code te vervangen die 140595 was (niet meer dan 6 cijfers)

nu wordt de poort geopend door deze nieuwe code.

Stel dat er een verkeerde alternatieve code is ingevoerd, dan vraagt het systeem om te wachten op het aftellen van 1 minuut, waarbij alle knoppen worden uitgeschakeld en de zoemer blijft rinkelen.

VIDEO:

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

OK, LAAT ER EEN MAKEN…

Voordat we beginnen, ga ik ervan uit dat je al basiskennis van C-taal hebt en eerder aan MikroC pro hebt gewerkt en dat je weet hoe je een LED moet laten branden, hoe je een LCD-scherm met een PIC-microcontroller kunt koppelen. Oké laten we beginnen!

Stap 1: Componenten verzamelen

Componenten verzamelen
Componenten verzamelen

VOOR PROJECT: S. Nr. | HOEVEELHEID | COMPONENT | INFO

1) 1 16x2 LCD Pin 14 naar Pin 1 dan Pin 15 en Pin 16 pins pakket.

2) 1 PIC18F4550-microcontroller

3) 1 PCF8583 real-time klok (RTC) IC

4) 14 Reset-knoppen In plaats van toetsenbord heb ik reset-knoppen gebruikt

5) 1 9v Batterij Hoofdvoeding.

6) 1 10K Ohm Pot Voor het instellen van het contrast van LCD

7) 2 3,5 mm audio-aansluitingen voor het extern aansluiten van zoemer en poort

8) 1 100uF condensator Ceremische dop voor gebruik met pin1 van controller.

9) 1 32.682kHz kristal voor PCF8583 IC

10) 1 DC-voedingsaansluiting Bij gebruik van een project met een DC-adapter:

11) 1 IC7805 Voor het omzetten van 9V naar 5V

12) 1 1K Ohm weerstand voor gebruik met pin1 van controller.

13) 3 10K Ohm weerstand voor gebruik met pin1 van controller en RTC IC

14) 13 220 Ohm weerstand elke knop zal 1 220 Ohm gebruiken, ik zal het later uitleggen

15) 1 3V-cel voor gebruik met RTC IC

16) 1 TICK TICK-schakelaar

17) 1 printplaat naar keuze als je je comfortabel voelt op verro, het is prima.

18) 1 8-pins DIP voor RTC IC

19) 1 40-pins DIP voor PIC184550 of je kunt Zip-socket gebruiken als je wilt

20) 1 3V-celhouder

21) 1 9V Batterijhouder

22) 1 mannelijke header voor solderen met LCD

23) 1 female header voor het solderen op PCB of verro waar LCD zal worden geplaatst.

OVERIGE ONDERDELEN:

20) Breadboard om te testen

21) Soldeerbout:

22) Soldeerdraad

23) PIC-programmeur (of PICKIT2)

24) Etsoplossing (voor PCB)

25) PCB-boor:

26) Multimeter

Je zou denken dat je zult merken dat ik geen kristal voor PIC Microcontroller heb toegevoegd, toch? Nou, dat komt omdat ik de interne oscillator van PIC18F4550 heb gebruikt

DAT IS ALLES…! LAAT HET NU DOEN…!

Stap 2: TESTEN OP PROTEUS

TESTEN OP PROTEUS
TESTEN OP PROTEUS
TESTEN OP PROTEUS
TESTEN OP PROTEUS

Je kunt het circuit testen op proteus, zodat je een idee krijgt van het project.

Het proteus-bestand vereist een hex-bestand voor de PIC-microcontroller.

Beide bestanden zijn aanwezig.

Stap 3: PCB maken

PCB maken
PCB maken

Ik zal je aanraden om dit project op PCB te bouwen en geen verroboard te gebruiken.

Print deze print, hij is door mij ontworpen op Cadsoft Eagle. Als u cadsoft eagle hebt geïnstalleerd, open dan het brd-bestand (download hieronder) en genereer een bestand volgens uw vereiste van paginagrootte.

Anders heb ik twee bestanden bijgevoegd die van A4 zijn en andere van A5, print en controleer de plaatscomponenten en druk vervolgens je PCB af. Ik vraag dit omdat er mogelijk een paginaschaalfactor is.

OPMERKING: U kunt het project opstarten met een batterij die moet worden aangesloten op de connector in de buurt van 7805, let op de polariteit. OF u kunt het project opstarten met een adapter via de DC Power-aansluiting. De stroombronnen kunnen worden geschakeld door de tick-tick-knop, wanneer de knop in het circuit wordt gestoken, wordt het vermogen ingeschakeld van de externe bron via de connector, wanneer de knop buiten het circuit wordt ingedrukt, wordt het ingeschakeld via de DC-voedingsaansluiting.

Stap 4: Soldeercomponenten

Soldeercomponenten
Soldeercomponenten
Soldeercomponenten
Soldeercomponenten
Soldeercomponenten
Soldeercomponenten
Soldeercomponenten
Soldeercomponenten

Soldeer alle onderdelen, zie de bijgevoegde foto's.

Wat ik je moet vertellen, aangezien proteus ideaal is, zijn de knoppen daarom rechtstreeks verbonden met de microcontroller-pin zonder weerstand.

Maar in het echte leven bestaat er een ruisfactor.

Stel je voor, als je in dit project eenmaal op knop 4 drukt, krijg je op Proteus 4 op LCD, maar als je er in het echt op drukt, krijg je 44444444 op LCD vanwege ruis. Om dit te verwijderen bevat de print bij elke knop een weerstand van 220 Ohm.

Stap 5: Programmering RTC IC PCF8583

Programmering RTC IC PCF8583
Programmering RTC IC PCF8583

Oké, dit is een beetje lastig, maar aangezien er code wordt verstrekt, zal het niet zo lastig zijn. Ik heb geen.hex-bestand gegeven voor het programmeren van RTC IC, omdat je het moet genereren om de vereiste tijd in te stellen, ook het jaar is ingesteld op 2015 en je hoeft het niet in te stellen.

Open mikroC Pro voor PIC en selecteer PIC18F4550, kopieer en plak de onderstaande code:

// LCD-moduleverbindingensbit LCD_RS op RB2_bit;

sbit LCD_EN op RB3_bit;

sbit LCD_D4 op RB4_bit;

sbit LCD_D5 op RB5_bit;

sbit LCD_D6 op RB6_bit;

sbit LCD_D7 op RB7_bit;

sbit LCD_RS_Direction op TRISB2_bit;

sbit LCD_EN_Direction op TRISB3_bit;

sbit LCD_D4_Direction op TRISB4_bit;

sbit LCD_D5_Direction op TRISB5_bit;

sbit LCD_D6_Direction op TRISB6_bit;

sbit LCD_D7_Direction op TRISB7_bit;

// Einde LCD module verbindingen

ongeldig hoofd() {

ADCON1 = 0x0F;

CMCON |= 7; //Vergelijkers uitschakelen

OSCCON = 0b01111111; //Gebruik interne oscillator @ 8MHz

TRISB = 0x00; //PORTB voor uitvoer (LCD)

LATB = 0xFF; //PORTC voor invoer

LATC = 0xFF; //PORTD voor invoer

TRISA. RA2 = 0; // RA2 voor uitvoer

TRISA. RA3 = 0; // RA3 voor uitvoer

UCON. USBEN = 0; // USB UCFG. UTRDIS uitschakelen = 1;

TRISD = 0xF9; // PORTD-uitgang

Lcd_Init(); // LCD initialiseren

Lcd_Cmd(_LCD_CLEAR); // Duidelijke weergave

Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor uit

Lcd_Out(1, 1, "Tijd instellen…");

Vertraging_ms(1000);

I2C1_Init(100000); // initialiseer de volledige master-modus

I2C1_Start(); // geef startsignaal uit

I2C1_Wr(0xA0); // adres PCF8583

I2C1_Wr(0); // start vanaf woord op adres 0 (configuratiewoord)

I2C1_Wr(0x80); // schrijf $80 naar config. (pauzeteller…)

I2C1_Wr(0); // schrijf het woord van 0 tot cent

I2C1_Wr(0); // schrijf 0 tot seconden woord

I2C1_Wr(0x10); // WIJZIG DEZE 10 in de minuten die je wilt instellen

I2C1_Wr(0x17); // WIJZIG DEZE 17 naar het uur dat je wilt instellen

I2C1_Wr(0x23); // WIJZIG DEZE 23 naar de datum die je wilt instellen

I2C1_Wr(0x2); // WIJZIG DEZE 2 naar de maand die je wilt instellen

I2C1_Stop(); // stopsignaal geven

I2C1_Start(); // geef startsignaal uit

I2C1_Wr(0xA0); // adres PCF8530

I2C1_Wr(0); // begin vanaf woord op adres 0

I2C1_Wr(0); // schrijf 0 naar configuratiewoord (telfunctie inschakelen)

I2C1_Stop(); // stopsignaal geven

Lcd_Cmd(_LCD_CLEAR);

Lcd_Out(1, 1, "Tijd ingesteld.!");

Vertraging_ms(500);

}

_END CODE_

Genereer een hex-bestand van Mikroc Pro voor PIC na het compileren van bovenstaande code en brand het vervolgens op pic-microcontroller PIC18F4550

Plaats het op de printplaat gesoldeerd met alle componenten, zet het aan. Op het LCD-scherm moet "Setting Time…" worden weergegeven en wanneer "Time Set!" schakel de stroom uit. Verwijder de PIC-microcontroller uit DIP, u hebt met succes PCF8583 RTC IC geprogrammeerd.:)

Stap 6: PIC18F4550 programmeren

Programmering PIC18F4550
Programmering PIC18F4550

Welnu, het hex-bestand is al aanwezig in stap 2, je kunt het op je PIC18F4550 branden via PIC Programmer.

Stap 7: Laatste stap & LAATSTE TEST…

Bevestig een LED aan de 3,5 mm audio-aansluiting rechtsonder en een zoemer aan de 3,5 mm-aansluiting rechtsboven. Plaats uw geprogrammeerde PIC18F4550 op pcb en schakel de stroom in.

Wanneer de juiste code is ingevoerd, geeft het logica 1 aan lagere led, ik nam aan dat bij het geven van logica 1 aan led de poort wordt geopend.

Je elektronische beveiligingssysteem zou nu klaar moeten zijn …! En als je alles goed hebt gedaan, zou het goed moeten werken.

Like en volg mijn Facebook-pagina:

www.facebook.com/pg/ElectronicProjectsbySh…

Mijn blogsite:

epshahrukh.blogspot.com/

Aanbevolen: