Spisu treści:

Elektroniczny system bezpieczeństwa z RTC i kodem PIN definiowanym przez użytkownika: 7 kroków
Elektroniczny system bezpieczeństwa z RTC i kodem PIN definiowanym przez użytkownika: 7 kroków

Wideo: Elektroniczny system bezpieczeństwa z RTC i kodem PIN definiowanym przez użytkownika: 7 kroków

Wideo: Elektroniczny system bezpieczeństwa z RTC i kodem PIN definiowanym przez użytkownika: 7 kroków
Wideo: Bezpieczeństwo kodu PIN 2024, Lipiec
Anonim
Elektroniczny system bezpieczeństwa z RTC i kodem PIN definiowanym przez użytkownika
Elektroniczny system bezpieczeństwa z RTC i kodem PIN definiowanym przez użytkownika
Elektroniczny system bezpieczeństwa z RTC i kodem PIN definiowanym przez użytkownika
Elektroniczny system bezpieczeństwa z RTC i kodem PIN definiowanym przez użytkownika
Elektroniczny system bezpieczeństwa z RTC i zdefiniowanym przez użytkownika kodem PIN
Elektroniczny system bezpieczeństwa z RTC i zdefiniowanym przez użytkownika kodem PIN
Elektroniczny system bezpieczeństwa z RTC i zdefiniowanym przez użytkownika kodem PIN
Elektroniczny system bezpieczeństwa z RTC i zdefiniowanym przez użytkownika kodem PIN

Cześć chłopaki!

Jest to projekt, który wykonałem za pomocą mikrokontrolera pic, czyli elektronicznego systemu zabezpieczającego kodem PIN z zegarem czasu rzeczywistego i funkcjami definiowania kodu PIN przez użytkownika. Ta strona zawiera wszystkie szczegóły, które można zrobić samemu.

JEGO DZIAŁANIE I KONCEPCJA:

Cóż, po włączeniu systemu bezpieczeństwa poprosi o kod PIN, aby otworzyć bramę (jego 140595), jeśli wprowadzisz go poprawnie, drzwi się otworzą. Drzwi otwierają się tylko na 1 minutę, po czym ponownie się zamykają. Jeśli wpiszesz błędny kod PIN System alarmowy da ci 3 dodatkowe szanse, jeśli wszystkie szanse zostaną zmarnowane to włączy brzęczyk i poprosi o alternatywny kod do zatrzymania brzęczyka, jeśli ten alternatywny kod (np. 1984) zostanie wpisany poprawnie to:

1) Zatrzymuje brzęczyk

2) Resetuje oryginalny kod, który był 140595

3) Prosi nowy kod w celu zastąpienia oryginalnego kodu, który był 140595 (nie więcej niż 6 cyfr)

teraz brama zostanie otwarta przez ten nowy kod.

Załóżmy, że wprowadzono błędny kod alternatywny, a następnie system poprosi o odczekanie do odliczania 1 minuty, podczas którego wszystkie przyciski są wyłączone, a brzęczyk nadal dzwoni.

WIDEO:

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

OK, ZRÓBMY JEDEN…

Zanim zaczniemy, zakładam, że masz już podstawową wiedzę na temat języka C i pracowałeś wcześniej nad MikroC pro i że wiesz, jak świecić diodą LED, jak łączyć wyświetlacz LCD z mikrokontrolerem PIC. Ok, zaczynajmy!

Krok 1: Zbieranie komponentów

Zbieranie komponentów
Zbieranie komponentów

DLA PROJEKTU: S. Nr. | ILOŚĆ | SKŁADNIK | INFORMACJE

1) 1 pakiet 16x2 LCD Pin 14 do Pin 1, a następnie Pin 15 i Pin 16 pinów.

2) 1 mikrokontroler PIC18F4550

3) 1 układ scalony zegara czasu rzeczywistego PCF8583 (RTC)

4) 14 przycisków resetowania Zamiast klawiatury użyłem przycisków resetowania

5) 1 bateria 9v Zasilanie główne.

6) 1 potencjometr 10K Ohm Do ustawiania kontrastu LCD

7) 2 gniazda audio 3,5 mm do zewnętrznego podłączenia brzęczyka i bramki;

8) 1 100uF Kondensator Ceremiczna nasadka do użytku z pinem 1 kontrolera.

9) 1 kryształ 32,682 kHz dla układu PCF8583

10) 1 gniazdo zasilania prądem stałym Jeśli używasz projektu z adapterem prądu stałego

11) 1 IC7805 do konwersji 9V na 5V

12) 1 rezystor 1K Ohm do użycia z pinem1 sterownika.

13) 3 rezystory 10K Ohm do użytku z pinem 1 sterownika i RTC IC

14) Rezystor 13 220 Ohm każdy przycisk będzie używał 1 220 Ohm wyjaśnię później

15) 1 ogniwo 3 V do użytku z RTC IC

16) 1 TICK TICK Przełącznik

17) 1 płytka PCB do wyboru, jeśli czujesz się komfortowo na verro, jest w porządku.

18) 1 8-pinowy DIP dla RTC IC

19) 1 40-pinowy DIP dla PIC184550 lub możesz użyć gniazda Zip, jeśli chcesz

20) 1 uchwyt na ogniwo 3 V

21) 1 uchwyt baterii 9 V

22) 1 męski nagłówek do lutowania z LCD

23) 1 gniazdo żeńskie do lutowania na płytce drukowanej lub verro, na której będzie umieszczony wyświetlacz LCD.

INNE CZĘŚCI:

20) Deska do krojenia chleba do testowania

21) lutownica

22) Drut lutowniczy

23) Programator PIC (lub PICKIT2)

24) Roztwór trawiący (do PCB)

25) Wiertło PCB

26) Multimetr

Jeden myślisz, że zauważysz, że nie zawarłem kryształu dla mikrokontrolera PIC, prawda? To dlatego, że użyłem wewnętrznego oscylatora PIC18F4550

TO WSZYSTKO…! TERAZ ZRÓBMY TO…!

Krok 2: BADANIE NA PROTEUSIE

BADANIE NA PROTEUSIE
BADANIE NA PROTEUSIE
BADANIE NA PROTEUSIE
BADANIE NA PROTEUSIE

Możesz przetestować obwód na proteusie, aby zorientować się w projekcie.

Plik proteus będzie wymagał pliku szesnastkowego dla mikrokontrolera PIC.

Dostępne są oba pliki.

Krok 3: Tworzenie PCB

Dokonywanie PCB
Dokonywanie PCB

Polecam zbudować ten projekt na płytce drukowanej, nie używaj verroboard.

Wydrukuj tę płytkę drukowaną, została zaprojektowana przeze mnie na Cadsoft Eagle. Jeśli masz zainstalowany cadsoft eagle, otwórz plik brd (pobierz poniżej) i wygeneruj plik zgodnie z wymaganiami dotyczącymi rozmiaru strony.

W przeciwnym razie załączyłem dwa pliki w formacie A4, a drugi to A5, wydrukuj i sprawdź rozmieszczenie komponentów, a następnie wydrukuj swoją płytkę drukowaną. Pytam o to, ponieważ może istnieć czynnik skali strony.

UWAGA: Projekt można zasilać z baterii, która ma być podłączona do złącza w pobliżu 7805, uważaj na polaryzację. LUB możesz włączyć projekt za pomocą adaptera przez gniazdo zasilania prądem stałym. Źródła zasilania można przełączać za pomocą przycisku kleszcza, gdy przycisk jest umieszczony wewnątrz obwodu, zasilany jest ze źródła zewnętrznego przez złącze, gdy przycisk jest wciśnięty na zewnątrz obwodu, zasilany jest z gniazda zasilania DC.

Krok 4: Lutowanie elementów

Elementy lutownicze
Elementy lutownicze
Elementy lutownicze
Elementy lutownicze
Elementy lutownicze
Elementy lutownicze
Elementy lutownicze
Elementy lutownicze

Przylutuj wszystkie elementy, zobacz załączone zdjęcia.

Jedna rzecz, którą muszę ci powiedzieć, ponieważ proteus jest idealny, dlatego przyciski są podłączone bezpośrednio do pinu mikrokontrolera bez rezystora.

Ale w rzeczywistości istnieje czynnik hałasu.

Przypuśćmy, że w tym projekcie, jeśli naciśniesz raz przycisk 4, na proteusie otrzymasz 4 na LCD, ale jeśli naciśniesz go w prawdziwym życiu, otrzymasz 44444444 na LCD z powodu szumu. Aby to usunąć, każdy przycisk zawiera rezystor 220 Ohm.

Krok 5: Programowanie układu RTC IC PCF8583

Programowanie układu RTC PCF8583
Programowanie układu RTC PCF8583

Ok, to trochę trudna sprawa, ale ponieważ dostarczany jest kod, nie będzie to takie trudne. Nie podałem pliku.hex do programowania RTC IC, ponieważ trzeba go wygenerować, aby ustawić wymagany czas, również rok jest ustawiony na 2015, nie trzeba go ustawiać.

Otwórz mikroC Pro z PIC i wybierz PIC18F4550, skopiuj i wklej poniższy kod:

// Połączenia modułu LCDsbit LCD_RS na RB2_bit;

sbit LCD_EN w RB3_bit;

sbit LCD_D4 w RB4_bit;

sbit LCD_D5 w RB5_bit;

sbit LCD_D6 w RB6_bit;

sbit LCD_D7 w RB7_bit;

sbit LCD_RS_Direction w TRISB2_bit;

sbit LCD_EN_Direction w TRISB3_bit;

sbit LCD_D4_Direction w TRISB4_bit;

sbit LCD_D5_Direction w TRISB5_bit;

sbit LCD_D6_Direction w TRISB6_bit;

sbit LCD_D7_Direction w TRISB7_bit;

// Zakończ połączenia modułu LCD

nieważna główna () {

ADCON1 = 0x0F;

CMKON |= 7; //Wyłącz komparatory

OSCCON = 0b01111111; //Korzystanie z wewnętrznego oscylatora @ 8MHz

TRISB = 0x00; //PORTB dla wyjścia (LCD)

LATB = 0xFF; //PORTC dla danych wejściowych

LATC = 0xFF; //PORTD dla danych wejściowych

TRISA. RA2 = 0; //RA2 dla wyjścia

TRISA. RA3 = 0; //RA3 dla wyjścia

UKON. USBEN = 0; //Wyłącz usb UCFG. UTRDIS = 1;

TRISD = 0xF9; //wyjście PORTD

Lcd_Init(); // Zainicjuj LCD

Lcd_Cmd(_LCD_CLEAR); // Wyczyść wyświetlacz

Lcd_Cmd(_LCD_CURSOR_OFF); // Kursor wyłączony

Lcd_Out(1, 1, "Ustawianie czasu…");

Opóźnienie_ms(1000);

I2C1_Init (100000); // zainicjuj pełny tryb master

I2C1_Start(); // wyemituj sygnał startowy

I2C1_Wr(0xA0); // adres PCF8583

I2C1_Wr(0); // zacznij od słowa pod adresem 0 (słowo konfiguracyjne)

I2C1_Wr(0x80); // zapis 80 $ do konfiguracji. (licznik przerw…)

I2C1_Wr(0); // wpisz słowo od 0 do centów

I2C1_Wr(0); // zapisz słowo od 0 do sekund

I2C1_Wr(0x10); // ZMIEŃ TO 10 na dowolne minuty, które chcesz ustawić

I2C1_Wr(0x17); // ZMIEŃ TEN 17 na dowolną godzinę, którą chcesz ustawić

I2C1_Wr(0x23); // ZMIEŃ TO 23 na dowolną datę, którą chcesz ustawić

I2C1_Wr(0x2); // ZMIEŃ TO 2 na dowolny miesiąc, który chcesz ustawić

I2C1_Stop(); // wydaj sygnał zatrzymania

I2C1_Start(); // wyemituj sygnał startowy

I2C1_Wr(0xA0); // adres PCF8530

I2C1_Wr(0); // zacznij od słowa pod adresem 0

I2C1_Wr(0); // wpisz 0 do słowa konfiguracyjnego (włącz zliczanie)

I2C1_Stop(); // wydaj sygnał zatrzymania

Lcd_Cmd(_LCD_CLEAR);

Lcd_Out(1, 1, "Ustaw czas.");

Opóźnienie_ms(500);

}

_END KOD_

Wygeneruj plik szesnastkowy z Mikroc Pro for PIC po skompilowaniu powyższego kodu, a następnie wypal go na mikrokontrolerze pic PIC18F4550

Umieść go na płytce drukowanej zlutowanej ze wszystkimi komponentami, włącz. Na wyświetlaczu LCD powinien pojawić się komunikat „Ustawianie czasu…”, a następnie „Ustawiony czas!” wyłącz zasilanie. Usuń mikrokontroler PIC z DIP, który pomyślnie zaprogramowałeś PCF8583 RTC IC.:)

Krok 6: Programowanie PIC18F4550

Programowanie PIC18F4550
Programowanie PIC18F4550

Cóż, plik szesnastkowy jest już dostępny w kroku 2, możesz go nagrać na PIC18F4550 za pomocą programatora PIC.

Krok 7: Ostatni krok i TEST KOŃCOWY…

Podłącz diodę LED do prawego dolnego gniazda audio 3,5 mm, a brzęczyk do prawego górnego gniazda 3,5 mm. Umieść zaprogramowany PIC18F4550 na płytce drukowanej i włącz zasilanie.

Wpisanie poprawnego kodu daje logikę 1 do dolnego leda, założyłem, że podając logikę 1 do leda otwiera bramę.

Twój Elektroniczny System Bezpieczeństwa powinien być już gotowy…! A jeśli zrobiłeś wszystko dobrze, powinno działać dobrze.

Polub i śledź moją stronę na Facebooku:

www.facebook.com/pg/ElectronicProjectsbySh…

Moja witryna bloga:

epshahrukh.blogspot.com/

Zalecana: