Turinys:

Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu: 7 žingsniai
Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu: 7 žingsniai

Video: Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu: 7 žingsniai

Video: Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu: 7 žingsniai
Video: Šventinis namų projektas 2024, Lapkritis
Anonim
Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu
Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu
Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu
Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu
Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu
Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu
Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu
Elektroninė apsaugos sistema su RTC ir naudotojo apibrėžtu PIN kodu

Sveiki vaikinai!

Tai projektas, kurį sukūriau naudodamas „pic“mikrovaldiklį, jo elektroninę PIN kodo apsaugos sistemą su realaus laiko laikrodžiu ir vartotojo apibrėžtomis PIN kodo funkcijomis. Šiame puslapyje yra visa informacija, kurią galite sukurti patys.

JO DARBAS IR SĄVOKA:

Na, įjungus apsaugos sistemą, ji paprašys PINKODO, kad atidarytų vartus, (jo 140595), jei įvesite teisingai, durys atsidarys. Durys atidaromos tik 1 minutę, tada vėl uždaromos. Jei neteisingai įvedėte PIN kodą, apsaugos sistema suteiks jums dar tris šansus, jei visos galimybės bus iššvaistytos, ji įjungs garso signalą ir paprašys įvesti kitą kodą, kad sustabdytų signalą, jei šis alternatyvus kodas (t. Y. 1984 m.) Įvestas teisingai:

1) Sustabdo garsinį signalą

2) Iš naujo nustato pradinį kodą, kuris buvo 140595

3) prašo naujo kodo, kuris pakeistų pradinį kodą, kuris buvo 140595 (ne daugiau kaip 6 skaitmenys)

dabar vartai bus atverti šiuo nauju kodu.

Tarkime, įterptas neteisingas alternatyvus kodas, tada sistema prašo palaukti 1 minutės atgalinės atskaitos laiko, per kurį visi mygtukai yra išjungti ir garsinis signalas nuolat skamba.

VIDEO:

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

Gerai, sukurkime vieną …

Prieš pradėdami, darau prielaidą, kad jau turite pagrindinių C kalbos žinių ir anksčiau dirbote su „MikroC pro“ir kad žinote, kaip užsidegti šviesos diodas, kaip sujungti LCD su PIC mikrovaldikliu. Gerai, pradėkime!

1 žingsnis: Surinkite komponentus

Surinkimo komponentai
Surinkimo komponentai

PROJEKTUI: S. Nr. | KIEKIS | KOMPONENTAS | INFORMACIJA

1) 1 16x2 skystųjų kristalų kaištis 14 į kaištį 1, tada kaištis 15 ir kaištis 16 kaiščių.

2) 1 PIC18F4550 mikrovaldiklis

3) 1 PCF8583 realaus laiko laikrodžio (RTC) IC

4) 14 Atstatymo mygtukai Vietoj klaviatūros naudojau atstatymo mygtukus

5) 1 9v baterija Pagrindinis maitinimo šaltinis.

6) 1 10K omo indas LCD ekrano kontrastui nustatyti

7) 2 3,5 mm garso lizdai, skirti išoriniam garsinio signalo ir vartų sujungimui

8) 1 100uF kondensatoriaus Ceremic dangtelis, skirtas naudoti su valdiklio 1 kaiščiu.

9) 1 32,682 kHz kristalas, skirtas PCF8583 IC

10) 1 DC maitinimo lizdas Jei naudojate projektą su nuolatinės srovės adapteriu

11) 1 IC7805 9V konvertavimui į 5V

12) 1 1K omo rezistorius, skirtas naudoti su valdiklio 1 kaiščiu.

13) 3 10K omų rezistorius, skirtas naudoti su valdiklio 1 kaiščiu ir RTC IC

14) 13 220 omų rezistorius kiekvienas mygtukas naudos 1 220 omų, paaiškinsiu vėliau

15) 1 3V elementas, skirtas naudoti su RTC IC

16) 1 TICK TICK jungiklis

17) 1 PCB plokštė, kurią pasirinkote, jei jums patogu.

18) 1 8 kontaktų DIP RTC IC

19) 1 40 kontaktų DIP, skirtas PIC184550, arba, jei norite, galite užtraukti lizdą

20) 1 3V elementų laikiklis

21) 1 9V akumuliatoriaus laikiklis

22) 1 antraštė, skirta litavimui su LCD

23) 1 moteriška antraštė, skirta litavimui ant PCB arba verro, kur bus LCD.

KITOS DALYS:

20) Duonos lenta bandymui

21) Lituoklis

22) Litavimo viela

23) PIC programuotojas (arba PICKIT2)

24) ėsdinimo tirpalas (PCB)

25) PCB gręžtuvas

26) Multimetras

Manote, kad pastebėsite, kad neįtraukiau PIC mikrokontrolerio kristalo? Na, taip yra todėl, kad naudojau vidinį PIC18F4550 osciliatorių

TAI VISKAS…! DABAR DARYKIME …!

2 žingsnis: PROTEUS BANDYMAS

BANDYMAS PROTEUS
BANDYMAS PROTEUS
BANDYMAS PROTEUS
BANDYMAS PROTEUS

Galite išbandyti grandinę „proteus“, kad gautumėte idėją apie projektą.

„Proteus“failui reikės šešiakampio failo PIC mikrovaldikliui.

Pateikiami abu failai.

3 žingsnis: PCB gamyba

PCB gamyba
PCB gamyba

Aš rekomenduosiu jums sukurti šį projektą ant PCB, nenaudokite „Verroboard“.

Spausdinkite šią PCB, ją sukūriau „Cadsoft Eagle“. Jei turite įdiegtą „cadsoft eagle“, atidarykite brd failą (atsisiųskite žemiau) ir sugeneruokite failą pagal savo puslapio dydžio reikalavimus.

Priešingu atveju aš pridėjau du failus iš A4, o kitas - A5, atsispausdinkite ir patikrinkite vietos komponentus, tada atspausdinkite savo PCB. Klausiu to, nes gali būti puslapio masto veiksnys.

PASTABA: projektą galite įjungti naudodami bateriją, kuri turi būti prijungta prie jungties, esančios netoli 7805, saugokitės poliškumo. ARBA galite įjungti projektą per adapterį per DC maitinimo lizdą. Maitinimo šaltinius galima perjungti varnele, kai mygtukas yra įkištas į grandinę, įjungiamas iš išorinio šaltinio per jungtį, kai mygtukas spaudžiamas už grandinės ribų, įjungiamas iš nuolatinės srovės maitinimo lizdo.

4 žingsnis: litavimo komponentai

Litavimo komponentai
Litavimo komponentai
Litavimo komponentai
Litavimo komponentai
Litavimo komponentai
Litavimo komponentai
Litavimo komponentai
Litavimo komponentai

Lituokite visus komponentus, žiūrėkite pridėtas nuotraukas.

Turiu jums pasakyti, nes „proteus“yra idealus, todėl mygtukai yra tiesiogiai prijungti prie mikrovaldiklio kaiščio be rezistoriaus.

Tačiau realiame gyvenime egzistuoja triukšmo veiksnys.

Kaip ir tarkime, šiame projekte vieną kartą paspaudus mygtuką 4, ant „proteus“gausite 4 LCD, bet jei paspausite realiame gyvenime, dėl triukšmo LCD ekrane pasirodys 44444444. Norėdami tai pašalinti, PCB yra 220 omų rezistorius su kiekvienu mygtuku.

5 žingsnis: RTC IC PCF8583 programavimas

RTC IC PCF8583 programavimas
RTC IC PCF8583 programavimas

Gerai, tai šiek tiek keblus dalykas, bet kadangi kodas yra pateiktas, tai nebus taip sudėtinga. Aš nepateikiau.hex failo RTC IC programavimui, nes jūs turite jį sugeneruoti, kad nustatytumėte reikiamą laiką, taip pat metai yra nustatyti 2015 m.

Atidarykite „mikroC Pro“iš PIC ir pasirinkite PIC18F4550, nukopijuokite ir įklijuokite žemiau esantį kodą:

// LCD modulio jungtisbitbit LCD_RS ir RB2_bit;

sbit LCD_EN ties RB3_bit;

sbit LCD_D4 ir RB4_bit;

sbit LCD_D5 ir RB5_bit;

sbit LCD_D6 ir RB6_bit;

sbit LCD_D7 ir RB7_bit;

sbit LCD_RS_Kryptis TRISB2_bit;

sbit LCD_EN_Kryptis TRISB3_bit;

sbit LCD_D4_Kryptis TRISB4_bit;

sbit LCD_D5_Kryptis TRISB5_bit;

sbit LCD_D6_Kryptis TRISB6_bit;

sbit LCD_D7_Kryptis TRISB7_bit;

// Baigti LCD modulio jungtis

void main () {

ADCON1 = 0x0F;

CMCON | = 7; // Išjungti lygintuvus

OSCCON = 0b01111111; // Naudojant vidinį oscilatorių @ 8MHz

TRISB = 0x00; // PORTB išvestis (LCD)

LATB = 0xFF; // PORTC įvedimui

LATC = 0xFF; // PORTD įvedimui

TRISA. RA2 = 0; // RA2 išėjimui

TRISA. RA3 = 0; // RA3 išėjimui

UCON. USBEN = 0; // Išjungti usb UCFG. UTRDIS = 1;

TRISD = 0xF9; // PORTD išvestis

Lcd_Init (); // Inicijuoti LCD

Lcd_Cmd (_LCD_CLEAR); // Išvalyti ekraną

Lcd_Cmd (_LCD_CURSOR_OFF); // Žymeklis išjungtas

Lcd_Out (1, 1, „Nustatymo laikas …“);

Delay_ms (1000);

I2C1_Init (100000); // inicijuoti visą pagrindinį režimą

I2C1_Start (); // išduoti pradžios signalą

I2C1_Wr (0xA0); // adresas PCF8583

I2C1_Wr (0); // pradėti nuo žodžio adresu 0 (konfigūracijos žodis)

I2C1_Wr (0x80); // parašykite $ 80, kad sukonfigūruotumėte. (pauzės skaitiklis …)

I2C1_Wr (0); // rašyti žodį nuo 0 iki centų

I2C1_Wr (0); // rašyti žodį nuo 0 iki sekundžių

I2C1_Wr (0x10); // PAKEISKITE ŠIĄ 10 į bet kurias minutes, kurias norite nustatyti

I2C1_Wr (0x17); // PAKEISKITE ŠĮ 17 į bet kurią valandą, kurią norite nustatyti

I2C1_Wr (0x23); // PAKEISKITE ŠĮ 23 į bet kurią datą, kurią norite nustatyti

I2C1_Wr (0x2); // PAKEISKITE ŠĮ 2 į bet kurį mėnesį, kurį norite nustatyti

I2C1_Stop (); // išduoti sustabdymo signalą

I2C1_Start (); // išduoti pradžios signalą

I2C1_Wr (0xA0); // adresas PCF8530

I2C1_Wr (0); // pradėti nuo žodžio adresu 0

I2C1_Wr (0); // parašykite 0, kad sukonfigūruotumėte žodį (įgalinkite skaičiavimą)

I2C1_Stop (); // išduoti sustabdymo signalą

Lcd_Cmd (_LCD_CLEAR);

Lcd_Out (1, 1, „Nustatytas laikas!“);

Delay_ms (500);

}

_END KODAS _

Sukurkite šešiakampį failą iš „Mikroc Pro for PIC“, surinkę aukščiau esantį kodą, tada įrašykite jį į „Pic“mikrovaldiklį PIC18F4550

Padėkite jį ant PCB, lituoto su visais komponentais, įjunkite. Skystųjų kristalų ekrane turėtų būti rodoma „Nustatymo laikas…“, o tada, kai rodoma „Laiko nustatymas!“. išjunkite maitinimą. Pašalinkite PIC mikrovaldiklį iš DIP, sėkmingai užprogramavę PCF8583 RTC IC.:)

6 žingsnis: PIC18F4550 programavimas

Programavimas PIC18F4550
Programavimas PIC18F4550

Šešiakampis failas jau pateiktas 2 veiksme, kurį galite įrašyti į savo PIC18F4550 per PIC programuotoją.

7 žingsnis: paskutinis žingsnis ir galutinis testas …

Prie apatinio dešiniojo 3,5 mm garso lizdo pritvirtinkite šviesos diodą, o viršutiniame dešiniajame 3,5 mm lizde - garso signalą. Įdėkite užprogramuotą PIC18F4550 į PCB ir įjunkite maitinimą.

Kai įvedamas teisingas kodas, jis suteikia logiką 1 žemesniam šviesos diodui, aš maniau, kad duodamas logiką 1, jis atveria vartus.

Jūsų elektroninė apsaugos sistema turėtų būti paruošta dabar …! Ir jei viską padarėte teisingai, tai turėtų veikti gerai.

Prašome pamėgti ir sekti mano Facebook puslapį:

www.facebook.com/pg/ElectronicProjectsbySh…

Mano tinklaraščio svetainė:

epshahrukh.blogspot.com/

Rekomenduojamas: