INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hi ouens!
Dit is 'n projek wat ek gemaak het met behulp van die pic -mikrobeheerder, 'n elektroniese PIN -kode beveiligingsstelsel met 'n intydse klok en funksies wat deur die gebruiker gedefinieer kan word; hierdie bladsy bevat al die besonderhede om dit self te maak.
SY WERK EN KONSEP:
Deur die beveiligingstelsel aan te skakel, vra dit 'n PINCODE om die hek oop te maak (sy 140595), as u dit korrek invoer, sal die deur oopgaan. Deur word slegs vir 1 min oopgemaak en dan weer toegemaak. As u 'n verkeerde PIN -kode ingevoer het, sal die sekuriteitstelsel u nog 3 kanse gee; as alle kanse vermors word, sal dit 'n gonser aanskakel en 'n alternatiewe kode vra om die gonser te stop, as hierdie alternatiewe kode (dws 1984) korrek ingevoer is:
1) Dit stop gonser
2) Stel die oorspronklike kode terug, wat 140595 was
3) Vra nuwe kode om die oorspronklike kode wat 140595 was, te vervang (nie meer as 6 syfers nie)
nou sal die hek met hierdie nuwe kode oopgemaak word.
Gestel 'n verkeerde alternatiewe kode word ingevoeg, dan vra die stelsel om te wag vir die aftelling van 1 minuut waartydens alle knoppies gedeaktiveer word en die gonser aanhou lui.
VIDEO:
www.youtube.com/watch?v=O0lYVIN-CJY&t=5s
OKAY KOM MAAK EEN …
Voordat ons begin, neem ek aan dat u alreeds basiese kennis van C -taal het en voorheen aan MikroC pro gewerk het, en dat u weet hoe u 'n LED moet brand, hoe u 'n LCD met 'n PIC -mikrokontroller kan koppel. Goed, laat ons begin!
Stap 1: Versamel komponente
VIR PROJEK: S. No. | AANTAL | KOMPONENT | INLIGTING
1) 1 16x2 LCD Pin 14 tot Pin 1 dan Pin 15 en Pin 16 pins pakket.
2) 1 PIC18F4550 mikrokontroleerder
3) 1 PCF8583 Real Time Clock (RTC) IC
4) 14 Reset -knoppies In plaas van die toetsbord gebruik ek reset -knoppies
5) 1 9v battery Hoof kragbron.
6) 1 10K Ohm -pot om die kontras van die LCD in te stel
7) 2 klankaansluitings van 3,5 mm om buzzer en hek ekstern aan te sluit
8) 1 100uF kondensator Keramiese dop vir gebruik met pin1 van die kontroleerder.
9) 1 32,682 kHz kristal vir PCF8583 IC
10) 1 DC Power Jack As u projek met 'n DC adapter gebruik
11) 1 IC7805 Vir die omskakeling van 9V na 5V
12) 1 1K Ohm -weerstand vir gebruik met pin1 van die beheerder.
13) 3 10K Ohm weerstand vir gebruik met pin1 van kontroleerder en RTC IC
14) 13 220 Ohm weerstand elke knoppie sal 1 220 Ohm gebruik, sal ek later verduidelik
15) 1 3V -sel vir gebruik met RTC IC
16) 1 TICK TICK -skakelaar
17) 1 PCB -bord, u keuse, as u gemaklik is.
18) 1 8 -pins DIP vir RTC IC
19) 1 40 -pins DIP vir PIC184550, of u kan 'n zip -aansluiting gebruik as u wil
20) 1 3V -selhouer
21) 1 9V batteryhouer
22) 1 kopstuk vir soldeer met LCD
23) 1 vroulike kop vir soldeer op PCB of verro waar LCD geplaas sal word.
ANDER ONDERDELE:
20) Broodbord vir toetsing
21) Soldeerbout
22) Soldeerdraad
23) PIC -programmeerder (of PICKIT2)
24) Etsoplossing (vir PCB)
25) PCB -boor
26) Multimeter
'N Mens dink jy sal agterkom dat ek nie 'n kristal vir die PIC -mikrobeheerder ingesluit het nie? Dit is omdat ek 'n interne ossillator van PIC18F4550 gebruik het
DIT IS ALLES …! KOM ONS NOU DOEN …!
Stap 2: TOETS OP PROTEUS
U kan die stroombaan op proteus toets, sodat u 'n idee kan kry van die projek.
Die proteus -lêer benodig 'n hex -lêer vir die PIC -mikrobeheerder.
Beide lêers word verskaf.
Stap 3: Maak PCB
Ek sal u aanbeveel om hierdie projek op PCB te bou, gebruik nie verroboard nie.
Druk hierdie PCB, dit is ontwerp deur my op Cadsoft Eagle. As u cadsoft eagle geïnstalleer het, open dan die brd -lêer (laai hieronder af) en genereer die lêer volgens die vereiste bladsygrootte.
Andersins het ek twee lêers aangeheg op 'n A4 -lêer en 'n ander A5, druk en kyk na die komponente en druk dan u PCB af. Ek vra dit omdat daar moontlik 'n bladsy skaal faktor is.
OPMERKING: u kan die projek aanskakel met 'n battery wat aan die aansluiting naby 7805 gekoppel moet word, kyk uit vir polariteit. OF u kan die projek met 'n adapter deur die DC -aansluiting aansit. Die kragbronne kan met die tik -knoppie omgeskakel word, as die knoppie binne -in die stroombaan in die kring aangeskakel word, word die eksterne kragbron deur die aansluiting aangeskakel, terwyl die knoppie buite die stroombaan van die DC -aansluiting ingedruk word.
Stap 4: Soldeerkomponente
Soldeer alle komponente, sien die aangehegte foto's.
Ek moet jou vertel, aangesien proteus ideaal is, daarom is die knoppies direk sonder 'n weerstand aan die pen van die mikrokontroleerder gekoppel.
Maar in die werklike lewe bestaan daar 'n geraasfaktor.
Soos byvoorbeeld, as u in hierdie projek een keer op knoppie 4 druk, op proteus, sal u 4 op die LCD kry, maar as u dit in die regte lewe druk, kry u 44444444 op die LCD as gevolg van geraas. Om dit te verwyder, bevat die PCB 220 Ohm -weerstand met elke knoppie.
Stap 5: Programmering van RTC IC PCF8583
Dit is 'n bietjie moeilike ding, maar aangesien kode verskaf word, is dit nie so moeilik nie. Ek het nie 'n.hex -lêer vir die programmering van RTC IC gegee nie, aangesien u dit moet genereer om die vereiste tyd in te stel, ook is die jaar ingestel op 2015, u hoef dit nie in te stel nie.
Maak mikroC Pro oop vir PIC en kies PIC18F4550, kopieer en plak die onderstaande kode:
// LCD module verbindingsbit LCD_RS by RB2_bit;
sbit LCD_EN by RB3_bit;
sbit LCD_D4 by RB4_bit;
sbit LCD_D5 by RB5_bit;
sbit LCD_D6 by RB6_bit;
sbit LCD_D7 by RB7_bit;
sbit LCD_RS_Direction by TRISB2_bit;
sbit LCD_EN_Rigting by TRISB3_bit;
sbit LCD_D4_Rigting by TRISB4_bit;
sbit LCD_D5_Rigting by TRISB5_bit;
sbit LCD_D6_Rigting by TRISB6_bit;
sbit LCD_D7_Rigting by TRISB7_bit;
// Beëindig die LCD -moduleverbindings
void main () {
ADCON1 = 0x0F;
CMCON | = 7; // Skakel vergelykers uit
OSCCON = 0b01111111; // Gebruik interne oscilator @ 8MHz
TRISB = 0x00; // PORTB vir uitvoer (LCD)
LATB = 0xFF; // PORTC vir insette
LATC = 0xFF; // PORTD vir insette
TRISA. RA2 = 0; // RA2 vir uitvoer
TRISA. RA3 = 0; // RA3 vir uitvoer
UCON. USBEN = 0; // Skakel usb UCFG. UTRDIS = 1 uit;
TRISD = 0xF9; // PORTD uitset
Lcd_Init (); // Initialiseer LCD
Lcd_Cmd (_LCD_CLEAR); // Duidelike vertoning
Lcd_Cmd (_LCD_CURSOR_OFF); // Wyser af
Lcd_Out (1, 1, "Stel tyd in …");
Vertraging_ms (1000);
I2C1_Init (100000); // initialiseer die volledige meestermodus
I2C1_Start (); // uitgawe beginsein
I2C1_Wr (0xA0); // adres PCF8583
I2C1_Wr (0); // begin van woord by adres 0 (opsetwoord)
I2C1_Wr (0x80); // skryf $ 80 vir konfig. (pouse toonbank …)
I2C1_Wr (0); // skryf 0 tot sent woord
I2C1_Wr (0); // skryf 0 tot sekondes woord
I2C1_Wr (0x10); // VERANDER HIERDIE 10 na die minute wat u wil stel
I2C1_Wr (0x17); // VERANDER HIERDIE 17 na die uur wat u wil stel
I2C1_Wr (0x23); // VERANDER HIERDIE 23 na watter datum u ook al wil stel
I2C1_Wr (0x2); // VERANDER HIERDIE 2 na watter maand u ook al wil stel
I2C1_Stop (); // stop stop sein
I2C1_Start (); // uitgawe beginsein
I2C1_Wr (0xA0); // adres PCF8530
I2C1_Wr (0); // begin van woord by adres 0
I2C1_Wr (0); // skryf 0 vir konfiguurwoord (aktiveer tel)
I2C1_Stop (); // stop stop sein
Lcd_Cmd (_LCD_CLEAR);
Lcd_Out (1, 1, "Tyd vasgestel!");
Vertraging_ms (500);
}
_END KODE_
Genereer 'n hex -lêer van Mikroc Pro vir PIC nadat die kode hierbo saamgestel is, en brand dit dan na die pic -mikrobeheerder PIC18F4550
Plaas dit op die printplaat wat met alle komponente gesoldeer is, en skakel dit aan. Die skerm moet "Stel tyd …" vertoon, en dan "Tyd ingestel!" skakel die krag af. Verwyder PIC -mikrobeheerder van DIP, u het PCF8583 RTC IC suksesvol geprogrammeer.:)
Stap 6: Programmering van PIC18F4550
Die hex -lêer word reeds in stap 2 verskaf, u kan dit via u PIC -programmeerder na u PIC18F4550 verbrand.
Stap 7: Laaste stap en finale toets …
Koppel 'n LED aan die regterkantste 3,5 mm -klankaansluiting en 'n gonser aan die regterkantste 3,5 mm -aansluiting. Plaas u geprogrammeerde PIC18F4550 op die rekenaar en skakel die krag aan.
As die korrekte kode ingevoer word, gee dit logika 1 aan laer led, ek het aanvaar dat wanneer ek logika 1 aan led gee, dit die hek oopmaak.
U elektroniese sekuriteitstelsel behoort nou gereed te wees …! En as u alles reg gedoen het, behoort dit goed te werk.
Like en volg my Facebook -blad:
www.facebook.com/pg/ElectronicProjectsbySh…
My blog webwerf:
epshahrukh.blogspot.com/