- Mga Ginamit na Mga Bahagi:
- Pagkonekta ng 4x4 Keypad sa Raspberry Pi gamit ang Multiplexing:
- Paglalarawan ng Circuit:
- Paggawa ng Paliwanag:
- Paliwanag sa Programming:
Ang seguridad ay isang pangunahing alalahanin sa ating pang-araw-araw na buhay, at ang mga digital lock ay naging isang mahalagang bahagi ng mga sistemang pangseguridad. Mayroong maraming mga uri ng teknolohiya na magagamit upang ma-secure ang aming lugar, tulad ng mga sistema ng seguridad na Batay sa PIR, sistema ng Security na nakabatay sa RFID, mga alarma sa seguridad ng Laser, mga system ng bio-matrix atbp.
Nakagawa na kami dati ng Digital Lock na may Password gamit ang Arduino at gumagamit ng 8051, dito namin itatayo ang Digital Lock na ito gamit ang Raspberry Pi na may Defined Password ng User. Kapag naitakda ang password, maa-access lamang ng gumagamit ang pintuan gamit ang wastong password.
Kung hindi ka pamilyar sa Raspberry Pi, lumikha kami ng isang serye ng mga tutorial upang malaman ang Raspberry Pi, na may interfacing sa lahat ng mga pangunahing bahagi at ilang mga simpleng proyekto upang magsimula, suriin.
Mga Ginamit na Mga Bahagi:
- Raspberry Pi (na may boot na SD card)
- Module ng Keypad
- Buzzer
- 16x2 LCD
- 10k palayok
- 10k Resistor Pack (Pull-up)
- LED
- 1k Resistor
- Bread board
- CD / DVD trolley bilang Gate
- Lakas 5 volt
- Motor driver L293D
- 12 Bolta na Baterya
- Mga kumokonekta na mga wire
Pagkonekta ng 4x4 Keypad sa Raspberry Pi gamit ang Multiplexing:
Sa circuit na ito, gumamit kami ng Multiplexing Technique upang i-interface ang keypad para sa pagpasok ng password sa system. Narito ginagamit namin ang 4x4 multiplex keypad na may 16 na mga key. Karaniwan kung nais naming gumamit ng 16 mga key kung gayon kailangan namin ng 16 na mga pin para sa koneksyon sa Arduino ngunit sa multiplexing na diskarte kailangan lamang namin ng 8 mga pin para sa interfacing 16 na mga key. Sa gayon ito ay isang matalinong paraan upang mag-interface ng isang keypad module. Matuto nang higit pa tungkol sa Multiplexing technique at ang pagtatrabaho nito sa Digital Lock gamit ang 8051.
Ang diskarteng multiplexing ay isang mahusay na paraan upang mabawasan ang bilang ng mga pin na ginamit sa microcontroller para sa pagbibigay ng input o password o mga numero. Karaniwan ang pamamaraan na ito ay ginagamit sa dalawang paraan - ang isa ay row scanning at ang isa pa ay ang pag-scan ng haligi. Kung gumagamit kami ng keypad library (# isama
Ngunit dito sa proyektong ito, nagpatupad kami ng isang maikling paraan ng pag-coding para sa parehong keypad, nang hindi ginagamit ang library ng keypad. Mangyaring tingnan ito sa seksyon ng programa sa ibaba.
Paglalarawan ng Circuit:
Ang circuit ng Raspberry Pi Digital Door Lock na ito ay napaka-simple na naglalaman ng Raspberry Pi 3, keypad module, buzzer, DVD / CD trolley bilang gate at LCD. Dito kinokontrol ng Raspberry Pi ang kumpletong proseso tulad ng pagkuha ng form ng keypad na form ng password, paghahambing ng mga password, pagmamaneho ng buzzer, pagbubukas / pagsasara ng gate at pagpapadala ng katayuan sa pagpapakita ng LCD. Ginagamit ang Keypad para sa pagpasok ng password. Ginagamit ang buzzer para sa mga pahiwatig at hinihimok ng inbuilt na NPN transistor. Ginagamit ang LCD para sa pagpapakita ng katayuan o mga mensahe dito.
Ang mga pin ng Haligi ng Keypad module ay direktang konektado sa GPIO pin 22, 23, 24, 25 at Row pin ay konektado sa 21, 14, 13, 12 ng mga wringPi pin ng Raspberry Pi. Ang isang 16x2 LCD ay konektado sa raspberry Pi sa 4-bit mode. Ang control pin ng LCD na RS, RW at En ay direktang konektado sa GPIO pin 11, GND at 10. Ang mga data pin na D4-D7 ay konektado sa GPIO pin 6, 15, 4 at 1. Ang isang buzzer ay konektado sa GPIO pin 8. At Motor Driver Ang L293D ay konektado sa GPIO pin 28 at 29 ng Raspberry Pi. Ang isang 12 volt na baterya ay konektado sa pin 8 ng L293D na patungkol sa lupa.
Paggawa ng Paliwanag:
Ang pagtatrabaho ng proyektong ito ay simple. Kapag pinatakbo ng gumagamit ang code sa Raspberry Pi, nagpapakita ang LCD ng ilang maligayang mensahe at pagkatapos nitong ipakita ang "A- Input Password" at sa pangalawang linya B- Change Passkey ". Ngayon ay maaaring mapili ng gumagamit ang kanilang pagpipilian sa pamamagitan ng pagpindot sa A at B sa keypad.
Ngayon kung nais ng gumagamit na buksan ang gate pagkatapos ay kailangan niyang pindutin ang 'A' sa keypad at pagkatapos ay hihilingin ng system para sa Password. Ang default na Password ay "1234". Ngayon ay kailangang i-input ng gumagamit ang password at pagkatapos suriin ng sistemang ito ang password, kung ito ay wasto o hindi:
1. Kung ang gumagamit ay nagpasok ng kanang password pagkatapos buksan ng system ang gate.
2. Kung ang gumagamit ay nagpasok ng maling password ang system ay magpapadala ng utos sa buzzer na beep at ipinapakita ang "Access Denied" sa LCD.
Ngayon ipagpalagay na nais ng gumagamit na baguhin ang password pagkatapos ay kailangan niyang pindutin ang 'B' sa keypad at pagkatapos ay tatanungin ang gumagamit para sa "Kasalukuyang Password" o "Kasalukuyang Passkey". Ngayon ay kailangang i-input ng gumagamit ang kasalukuyang password, pagkatapos suriin ng system ang kawastuhan nito at isagawa ang isa sa mga ibinigay na gawain.
1. Kung ang gumagamit ay nagpasok ng tamang password pagkatapos ay hihilingin ng system ang "Bagong Password" at ngayon ay maaaring baguhin ng gumagamit ang password sa pamamagitan ng pagpasok ng bagong password.
2. At kung ang gumagamit ay nagpasok ng maling password pagkatapos ay itutulak ng system ang buzzer at ipapakita ang "Maling Password: sa LCD.
Ngayon ang gumagamit ay kailangang ulitin muli ang buong proseso upang baguhin ang password.
Karaniwan, ang pagbubukas at pagsasara ng Gate ay walang iba kundi ang paikutin ang isang motor na orasan na matalino at laban sa pakaliwa upang buksan at isara ang pinto. Para sa isang maliit na proyekto maaari ka lamang magdagdag ng isang DC motor upang buksan at isara ang pinto. Maaari din naming gamitin ang Servo o stepper motor, ngunit kailangan naming baguhin ang Code nang naaayon.
Dagdag dito maaari kang gumamit ng wastong Electronic Door Lock (madaling magagamit online) kapalit ng CD Trolley. Mayroon itong magnet na elektro na pinapanatili ang lock ng Pinto kapag walang kasalukuyang dumaan sa Lock (bukas na circuit), at kapag ang ilang kasalukuyang dumaan dito, ang lock ay mabubuksan at mabubuksan ang pinto. Ang code ay mababago nang naaayon, suriin din ang pagbabahagi ng pagsusuri ng proyekto: Arduino RFID Door Lock
Paliwanag sa Programming:
Ang Programming ay halos kapareho sa Arduino. Ang pag-andar ng Arduino ay gumagamit ng mga klase ngunit dito namin nagawa ang code na ito, gamit ang c programming, nang walang mga klase. Nag-install din kami ng isang library ng mga wiringPi para sa mga GPIO.
Ngayon muna sa lahat kailangan nating isama ang mga kinakailangang aklatan at pagkatapos ay tukuyin ang mga pin para sa LCD, buzzer, LED at Motor.
# isama
Matapos itong tukuyin ang mga pin para sa hilera at mga haligi ng keypad at tukuyin ang array para sa pagtatago ng mga numero ng password at keypad.
pass ng char; char pass1 = {'1', '2', '3', '4'}; int n = 0; char row = {21, 14, 13, 12}; char col = {22, 23, 24, 25}; char num = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', ' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Pagkatapos nito nagsulat kami ng ilang mga pagpapaandar para sa pagmamaneho ng LCD:
Ang pagpapaandar ng walang bisa na lcdcmd ay ginagamit para sa pagpapadala ng utos sa LCD at ang walang bisa na pagsulat na pag- andar ay ginagamit para sa pagpapadala ng data sa LCD.
Ginagamit ang function na void print para sa pagpapadala ng string sa LCD.
walang bisa ang pag-print (char * str) {habang (* str) {isulat (* str); str ++; }}
Ginagamit ang function void setCursor para sa pagtatakda ng posisyon ng cursor sa LCD.
void setCursor (int x, int y) {int set = 0; kung (y == 0) itakda = 128 + x; kung (y == 1) itakda = 192 + x; lcdcmd (set); }
Ang function void clear () ay ginagamit upang i-clear ang LCD at void buzzer () ay ginagamit upang beep ang buzzer.
Ang function na void gate_open (), void gate_stop () at void gate_close () ay ginagamit para sa pagmamaneho ng Gate (CD Trolley)
void gate_open () {digitalWrite (m1, LOW); digitalWrite (m2, TAAS); pagkaantala (2000); } void gate_stop () {digitalWrite (m1, LOW); digitalWrite (m2, LOW); pagkaantala (2000); } void gate_close () {digitalWrite (m1, TAAS); digitalWrite (m2, LOW); pagkaantala (2000); }
Ginagamit ang Pag-andar upang magamit ang LCD sa 4-bit Mode.
walang bisa magsimula (int x, int y) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x06); lcdcmd (0x0e); lcdcmd (0x01); }
Dahil sa void keypad () function ay ginagamit para sa interfacing keypad module na may Raspberry Pi na may isang 'maikling pamamaraan'.
void keypad () {int i, j; int x = 0, k = 0; pagkaantala (2000); habang (k <4) {para sa (i = 0; i <4; i ++) {digitalWrite (col, LOW); para sa (j = 0; j <4; j ++) {kung (digitalRead (row) == 0) {setCursor (x, 1);…………………
Suriin ang lahat ng mga pag-andar sa Buong code sa ibaba, ang code ay madali at nagpapaliwanag sa sarili.