- Használt alkatrészek:
- 4x4-es kezelő csatlakoztatása Raspberry Pi-hez multiplexeléssel:
- Áramkör leírása:
- Munka magyarázat:
- Programozási magyarázat:
A biztonság a mindennapi életünkben komoly gondot jelent, és a digitális zárak e biztonsági rendszerek fontos részévé váltak. Számos típusú technológia áll rendelkezésre a helyünk biztosításához, például PIR alapú biztonsági rendszerek, RFID alapú biztonsági rendszerek, lézeres biztonsági riasztók, biomátrix rendszerek stb.
Korábban felépítettük a Digital Lock with Password alkalmazást az Arduino és a 8051 használatával, itt fogjuk megépíteni ezt a digitális zárat a Raspberry Pi segítségével, a felhasználó által definiált jelszóval. A jelszó beállítása után a felhasználó csak helyes jelszóval férhet hozzá az ajtóhoz.
Ha még nem ismeri a Raspberry Pi-t, akkor létrehoztunk egy sor oktatóanyagot a Raspberry Pi elsajátításához, összekapcsolva az összes alapkomponenssel és néhány egyszerű projekttel.
Használt alkatrészek:
- Raspberry Pi (indított SD-kártyával)
- Kezelő modul
- Berregő
- 16x2 LCD
- 10 ezer fazék
- 10k ellenállási csomag (felhúzható)
- VEZETTE
- 1k ellenállás
- Kenyérlap
- CD / DVD kocsi Gate néven
- Teljesítmény 5 volt
- Motorvezető L293D
- 12 voltos akkumulátor
- Csatlakozó vezetékek
4x4-es kezelő csatlakoztatása Raspberry Pi-hez multiplexeléssel:
Ebben az áramkörben a Multiplexing Technique- et használtuk a kezelő összekapcsolására a jelszó beírásához a rendszerbe. Itt 4x4 multiplex billentyűzetet használunk 16 billentyűvel. Normális esetben, ha 16 kulcsot akarunk használni, akkor 16 csapra van szükségünk az Arduino-hoz való csatlakozáshoz, de a multiplexelési technikában csak 8 tűre van szükségünk a 16 kulcs összekapcsolásához. Tehát ez egy intelligens mód a kezelő modul összekapcsolására. Tudjon meg többet a multiplexelési technikáról és annak működéséről ebben a digitális zárban a 8051 használatával.
A multiplexelési technika nagyon hatékony módja annak, hogy csökkentse a mikrovezérlővel bevitt csapok számát a bevitel, jelszó vagy számok megadásához. Alapvetően ezt a technikát kétféleképpen használják - az egyik a soros, a másik az oszlopos. Ha a kezelő könyvtárat használjuk (#include
De ebben a projektben egy rövid kódolási módot vezettünk be ugyanarra a kezelőre, a billentyűzet könyvtár használata nélkül. Kérjük, olvassa el az alábbi programozási részben.
Áramkör leírása:
Ennek a Raspberry Pi digitális ajtózárnak az áramköre nagyon egyszerű, amely a Raspberry Pi 3-at, a kezelőmodult, a hangjelzőt, a kaput és az LCD-t tartalmazza. Itt a Raspberry Pi vezérli a teljes folyamatot, mint például a jelszó formázása a kezelő modulból, a jelszavak összehasonlítása, a hangjelzés, a kapu nyitása / bezárása és az állapot küldése az LCD kijelzőre. A kezelő a jelszó megadására szolgál. A hangjelzést jelzésekre használják, és beépített NPN tranzisztor hajtja. Az LCD az állapot vagy az üzenetek megjelenítésére szolgál.
A kezelő modul oszlopcsapjai közvetlenül kapcsolódnak a GPIO 22, 23, 24, 25 csapokhoz, a soros csapok pedig a Raspberry Pi wringPi csapjainak 21, 14, 13, 12 csatlakozóihoz. Egy 16x2-es LCD- t 4-bites módban csatlakoztatnak a málna Pi-hez. LCD vezérlő csap RS, RW és En közvetlenül csatlakoznak GPIO pin 11 GND és 10. Adatok csapok D4-D7 csatlakozik GPIO 6., 15., 4. és 1. Egy hangjelzés van kötve GPIO pin 8. És Motor Driver Az L293D a Raspberry Pi GPIO 28. és 29. érintkezőjéhez csatlakozik. Egy 12 voltos akkumulátor van csatlakoztatva az L293D 8. érintkezőjéhez a testhez képest.
Munka magyarázat:
A projekt kidolgozása egyszerű. Amikor a felhasználó a Raspberry Pi programban futtatja a kódot, az LCD néhány üdvözlő üzenetet jelenít meg, miután megjelenik az „A- bemeneti jelszó” és a második sorban a „B-kulcs módosítása” felirat. Most a felhasználó kiválaszthatja a választást az A és B megnyomásával a kezelőn.
Ha a felhasználó meg akarja nyitni a kaput, akkor meg kell nyomnia az 'A' billentyűt a kezelőn, majd a rendszer jelszót kér. Az alapértelmezett jelszó: „1234”. Most a felhasználónak be kell írnia a jelszót, és miután a rendszer ellenőrzi a jelszót, függetlenül attól, hogy érvényes-e vagy sem:
1. Ha a felhasználó megadja a helyes jelszót, akkor a rendszer kinyitja a kaput.
2. Ha a felhasználó rossz jelszót ír be, a rendszer parancsot küld a hangjelzőnek, hogy sípoljon, és az LCD-n a „Hozzáférés megtagadva” felirat jelenik meg.
Tegyük fel, hogy a felhasználó meg akarja változtatni a jelszavát, majd meg kell nyomnia a „B” billentyűt a kezelőn, majd a felhasználótól meg kell kérni az „Jelenlegi jelszó” vagy „Jelenlegi jelszó” értéket. Most a felhasználónak be kell írnia az aktuális jelszót, majd a rendszernek ellenőriznie kell a helyességét és végre kell hajtania az adott feladatot.
1. Ha a felhasználó megadja a megfelelő jelszót, akkor a rendszer „Új jelszót” fog kérni, és a felhasználó új jelszó megadásával megváltoztathatja a jelszót.
2. És ha a felhasználó rossz jelszót ír be, akkor a rendszer meghajtja a hangjelzőt, és az LCD-n a „Hibás jelszó:” felirat jelenik meg.
Most a felhasználónak meg kell ismételnie az egész folyamatot a jelszó megváltoztatásához.
Alapvetõen a kapu nyitása és bezárása nem más, mint a motor órájának bölcs és balra forgatása az ajtó kinyitásához és bezárásához. Egy kis projekt esetében egyszerűen hozzáadhat egy egyenáramú motort az ajtó kinyitásához és bezárásához. Használhatunk Servo vagy léptetőmotort is, de ennek megfelelően módosítanunk kell a Kódot.
Továbbá használhat egy megfelelő elektronikus ajtózárat (könnyen elérhető online) a CD-kocsi helyett. Elektromágnessel rendelkezik, amely zárva tartja az ajtót, ha nincs áram a záron keresztül (nyitott áramkör), és amikor valamilyen áram áthalad rajta, a zár feloldódik és az ajtó kinyitható. A kód ennek megfelelően változik, ellenőrizze ezt a megosztott projekt-áttekintést is: Arduino RFID Ajtózár
Programozási magyarázat:
A programozás nagyon hasonlít az Arduinóra. Az Arduino függvény osztályokat használ, de itt megcsináltuk ezt a kódot, c programozással, osztályok nélkül. Telepítettünk egy wiringPi könyvtárat is a GPIO-k számára.
Most először be kell vennünk a szükséges könyvtárakat, majd meg kell határoznunk az LCD, a hangjelző, a LED és a motor csapjait.
#include
Ezután adjon meg csapokat a kezelő sorainak és oszlopainak, és határozzon meg tömböt a jelszó és a kezelő számainak tárolásához.
char bérlet; char pass1 = {'1', '2', '3', '4'}; int n = 0; char sor = {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 '}};
Utána írtunk néhány funkciót az LCD vezetésére:
A void lcdcmd funkció a parancs LCD-re küldésére szolgál, a void write funkció pedig az adatok LCD-re küldésére szolgál.
A függvény érvénytelen nyomtatása a karakterlánc LCD-re történő elküldésére szolgál.
void print (char * str) {while (* str) {write (* str); str ++; }}
Funkció void setCursor a kurzor pozíciójának beállítására szolgál az LCD-n.
void setCursor (int x, int y) {int set = 0; ha (y == 0) halmaz = 128 + x; ha (y == 1) halmaz = 192 + x; lcdcmd (készlet); }
A void clear () funkció az LCD törlésére szolgál, a void buzzer () pedig a sípoló hangjelzésére szolgál.
A void gate_open (), void gate_stop () és void gate_close () függvények a Gate vezetésére szolgálnak (CD-kocsi)
void gate_open () {digitalWrite (m1, LOW); digitalWrite (m2, HIGH); késés (2000); } void gate_stop () {digitalWrite (m1, LOW); digitalWrite (m2, LOW); késés (2000); } void gate_close () {digitalWrite (m1, HIGH); digitalWrite (m2, LOW); késés (2000); }
Az adott funkció az LCD inicializálására szolgál 4 bites módban.
void begin (int x, int y) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x06); lcdcmd (0x0e); lcdcmd (0x01); }
A megadott void billentyűzet () funkció a billentyűzet modul és a Raspberry Pi összekapcsolására szolgál egy „rövid módszerrel”.
érvénytelen billentyűzet () {int i, j; int x = 0, k = 0; késés (2000); míg (k <4) {for (i = 0; i <4; i ++) {digitalWrite (oszlop, LOW); for (j = 0; j <4; j ++) {if (digitalRead (sor) == 0) {setCursor (x, 1);…………………
Ellenőrizze az összes funkciót az alábbi Teljes kód alatt, a kód egyszerű és magától értetődő.