Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pagbuo ng isang Kahon
- Hakbang 2: Up ng Kable
- Hakbang 3: Pag-download ng Mga Aklatan
- Hakbang 4: Pag-set up ng Fingerprint Sensor at Rfid Card Sensor
- Hakbang 5: ANG KODE
- Hakbang 6: Tapusin
Video: Ligtas ng Arduino High Tech: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ito ang aking arduino high tech na ligtas. Kailangan mong i-scan ang iyong daliri, i-scan ang iyong card, pagkatapos ay maglagay ng isang 4 na digit na password upang ma-unlock ang drawer. Ang proyektong ito ay hindi inirerekomenda para sa mga nagsisimula sapagkat ito ay napaka-advanced. Mahaba ang code, ngunit ibabahagi ko ito sa proyektong ito. Ang gastos ay humigit-kumulang na $ 75 kung magtatayo ka ng parehong ligtas sa akin. Ang proyektong ito ay maaari ding tumagal ng 1-3 araw upang makumpleto. Kaya, magsimula na!
Mga gamit
Upang mabuo ang parehong ligtas tulad ng sa akin kakailanganin mo:
Arduino (Inirekomenda ng Uno dahil wala akong mga hakbang para sa arduino mega o nano. Ngunit maaari mo pa ring gamitin ang mga ito)
breadboard
servo
jumper wires
joystick
20 * 4 (maaari mong gamitin ang 16 * 4, ngunit kailangan mong baguhin ang code)
scanner ng fingerprint
mfrc522 rfid card scanner
isang balde ng legos
Hakbang 1: Pagbuo ng isang Kahon
Una kakailanganin mo ng isang kahon upang ilagay ang iyong electronics. Maaari kang gumamit ng mga lego, isang naka-print na kahon na 3d, o kahit na karton! (Bagaman maaaring maging mahirap ito) Huwag kalimutang maglagay ng mga butas dito para sa isang drawer, at ang iyong electronics. Kung gumagamit ka ng scanner ng rfid card, hindi mo kailangang maglagay ng butas para doon kung manipis ang iyong dingding. Gumagana pa rin ang mga kard, ngunit kailangan mong ilagay malapit ang mga keychain upang mabasa ito ng senador ng RFID card. Mag-iwan din ng puwang para sa iyong arduino at mga wire sa loob. TANDAAN: Kapag itinayo mo ang drawer, mag-iwan ng butas dito upang ang iyong servo ay maaaring i-on at i-lock ang drawer.
Hakbang 2: Up ng Kable
Ang hakbang na ito ay maaaring maging kumplikado dahil kailangan mong mag-plug ng mga wire sa eksaktong lugar o hindi gagana ang electronics. Wala akong diagram ng mga kable, ngunit sasabihin ko sa iyo na ang bawat isa ay pupunta. Ang mga kable ay para sa arduino uno lamang. Kailangan mong maghanap para mailagay ang mga wire kung gumagamit ka ng isang arduino mega o nano. Kung hindi mo ginagamit ang lahat ng mga electronis na mayroon ako, maaari mo lamang laktawan ang mga kable na iyon.
Scanner ng daliri sa pag-print: berdeng kawad: D2 puting kawad: D3 itim na kawad: GND pulang kawad: 5V
Joystick: 5V = 3.3V GND = GND X = A2 Y = A3 Switch = D4
rfid card scanner: 3.3V = 3.3V rst = D9 GND = GND miso = D12 mosi = D11 sck = D13 sda = D10
lcd screen: 5V = 5V GND = GND sda = A4 sck = A5
Servo: pulang kawad: 5V Brown wire: GND dilaw na kawad: D6
TANDAAN: HUWAG I-plug ang RFID CARD SCANNER SA 5V. KUNG GAWIN MO, SISIRA ITO !!!
Maaaring nagtataka ka kung bakit sinabi kong i-plug ang Joystick power sa 3.3V nang sabihin na 5V sa gilid. Iyon ay dahil ang servo, screen, at fingerprint scanner ay nangangailangan ng 5V. Kung idinagdag mo ang joystick doon, maaaring hindi gumana ang electronics dahil kailangan ng lahat ng 5V. Ang joystick ay gagana pa rin sa 3.3V. Lamang ang max na halaga ay hindi 1023, ito ay magiging ~ 670.
Hakbang 3: Pag-download ng Mga Aklatan
Sa proyektong ito, kakailanganin mo ng 6 na mga aklatan upang magamit ang lahat ng mga electronics. 1 para sa servo, 1 para sa sensor ng fingerprint, 2 para sa RFID card scanner, at 2 para sa screen. Ang joystick ay hindi nangangailangan ng isang silid-aklatan. Ngayon, ano ang isang aklatan? Karaniwan ito ay isang file na nagtataglay ng maraming code na maaari mong gamitin sa iyong proyekto gamit ang mga simpleng utos. Upang makuha ang mga libraryong ito, kailangan mong pumunta sa isang lugar na tinatawag na GitHub. Kung alam mo kung paano mag-download at mag-unzip ng mga aklatan, pumunta lamang sa mga link sa ibaba para sa mga pag-download. Kung hindi mo alam kung paano, maaari kang pumunta sa aking itinuro kung aling mga pag-uusap tungkol sa kung paano mag-download ng isang silid aklatan sa hakbang 3:
o maghanap ng isang video sa youtube kung paano mag-download ng arduino library mula sa GitHub
Mga Link SA LIRARIES:
Servo
sensor ng fingerprint:
spi
sensor ng rfid card
screen library 1
screen library 2
Hakbang 4: Pag-set up ng Fingerprint Sensor at Rfid Card Sensor
Pinag-uusapan ng hakbang na ito ang tungkol sa kung paano mag-set up ng sensor ng fingerprint at sensor ng rfid card. Maliban kung nagamit mo na ang iyong sensor ng fingerprint, kakailanganin mong ipakita dito kung ano ang hitsura ng iyong fingerprint upang mai-save ito sa memorya nito. Kahit na ginamit mo ito dati, dapat mo pa ring gawin ang hakbang na ito. Sasabihin ko sa iyo kung paano ito gawin nang maikli, ngunit kung ito ay walang katuturan pumunta sa parehong itinuturo na link sa huling hakbang. Napupunta ito nang napakahusay. Pangunahing pagbukas lamang ng arduino ide. Pumunta sa file> mga halimbawa> sensor ng fingerprint ng adafruit> magpatala. Mag-upload ng code sa arduino, buksan ang serial monitor, at sundin ang mga hakbang na sinasabi nito sa iyo. Kapag sinabi nito sa iyo na bigyan ito ng isang numero. Mag-type sa 1 #.
Ngayon para sa rfid card, ang hakbang na ito ay medyo madali. Buksan ang arduino ide. Pumunta sa file> mga halimbawa> mfrc522> basahin ang personal na data. Mag-upload sa arduino at buksan ang serial monitor. I-scan ang card o keychain na nais mong gamitin na kasama ng iyong sensor. Pagkatapos bibigyan ka nito ng ilang impormasyon. Hanapin ang ID ng card na ito ay magiging 4 na hanay ng 2 mga digit. Tulad nito: AB 45 2Y 45 ngunit magkakaiba ang iyong code. Isulat ito sa isang piraso ng papel. Kakailanganin mo ulit ito mamaya. Iyon lang para sa hakbang na ito.
Hakbang 5: ANG KODE
Ito ang magiging pinakamahirap na hakbang sa karamihan sa iyo, ngunit ito ay medyo simple. Una kopyahin at i-paste ang code sa ideyang arduino mula sa ibaba. Pangalawa, i-edit ang 2 seksyon kung saan sinasabi ang EDIT CODE. Ang 1 seksyon ay para sa card scanner, 1 ay para sa joystick. Ang mga hakbang na ito ay hindi maaaring laktawan. Kapag tapos na, mag-upload ng code sa arduino!
# isama ang # isama ang Fingerprint.h>
# isama
# isama
# isama
# isama
LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
# tukuyin ang RST_PIN 9
# tukuyin ang SS_PIN 10
MFRC522 mfrc522 (SS_PIN, RST_PIN);
SoftwareSerial mySerial (2, 3);
Adafruit_Fingerprint daliri = Adafruit_Fingerprint (& mySerial);
Servo servo;
char d1;
char d2;
char d3;
char d4;
walang bisa ang pag-setup () {
servo.attach (6);
servo.write (170);
lcd.begin (20, 4);
Serial.begin (9600);
habang (! Serial);
SPI.begin ();
mfrc522. PCD_Init ();
antala (4);
mfrc522. PCD_DumpVersionToSerial ();
pagkaantala (100);
Serial.println ("\ n / nAdecruit daliri makita ang pagsubok");
daliri.begin (57600);
antala (5);
kung (daliri.verifyPassword ()) {
Serial.println ("Lahat ng mga system na gumagana,");
lcd.clear ();
lcd.setCursor (1, 0);
lcd.print ("Mangyaring i-scan ang daliri");
} iba pa {
Serial.println ("ERROR: Hindi nakita ang sensor ng daliri sa pag-print!");
lcd.setCursor (0, 0);
lcd.print ("ERROR: Finger print");
lcd.setCursor (1, 1);
lcd.print ("hindi nahanap ang sensor!");
habang (1) {pagkaantala (1); }
}
daliri.getTemplateCount ();
Serial.print ("Naglalaman ang Sensor"); Serial.print (daliri.templateCount); Serial.println ("mga template"); Serial.println ("Naghihintay para sa wastong daliri …"); }
walang bisa (* resetFunc) (walang bisa) = 0;
void loop () {
getFingerprintIDez ();
antala (50);
}
uint8_t getFingerprintID () {
uint8_t p = daliri.getImage ();
lumipat (p) {
kaso FINGERPRINT_OK:
Serial.println ("Kuha ng larawan");
pahinga;
kaso FINGERPRINT_NOFINGER:
Serial.println ("Walang nakitang daliri");
ibalik p;
kaso FINGERPRINT_PACKETRECIEVEERR:
Serial.println ("Error sa komunikasyon");
ibalik p;
kaso FINGERPRINT_IMAGEFAIL:
Serial.println ("Error sa imaging");
ibalik p;
default:
Serial.println ("Hindi kilalang error");
ibalik p;
}
p = daliri.image2Tz ();
lumipat (p) {
kaso FINGERPRINT_OK:
Serial.println ("Na-convert ang imahe");
pahinga;
kaso FINGERPRINT_IMAGEMESS:
Serial.println ("Masyadong magulo ang imahe");
ibalik p;
kaso FINGERPRINT_PACKETRECIEVEERR:
Serial.println ("Error sa komunikasyon");
ibalik p;
kaso FINGERPRINT_FEATUREFAIL:
Serial.println ("Hindi makahanap ng mga tampok sa fingerprint");
ibalik p;
kaso FINGERPRINT_INVALIDIMAGE:
Serial.println ("Hindi makahanap ng mga tampok sa fingerprint");
ibalik p;
default:
Serial.println ("Hindi kilalang error");
ibalik p;
}
p = daliri.fingerFastSearch ();
kung (p == FINGERPRINT_OK) {
Serial.println ("Nahanap ang isang laban sa pag-print!");
} iba pa kung (p == FINGERPRINT_PACKETRECIEVEERR) {Serial.println ("Error sa komunikasyon");
ibalik p;
} iba pa kung (p == FINGERPRINT_NOTFOUND) {
Serial.println ("Hindi nakakita ng tugma");
ibalik p;
} iba pa {
Serial.println ("Hindi kilalang error");
ibalik p;
}
Serial.print ("Found ID #"); Serial.print (daliri.fingerID);
Serial.print ("may kumpiyansa ng"); Serial.println (daliri. kumpiyansa);
ibalik ang daliri.fingerID;
}
int getFingerprintIDez () {
uint8_t p = daliri.getImage ();
kung (p! = FINGERPRINT_OK) bumalik -1;
p = daliri.image2Tz ();
kung (p! = FINGERPRINT_OK) bumalik -1;
p = daliri.fingerFastSearch ();
kung (p! = FINGERPRINT_OK) bumalik -1;
Serial.print ("Found ID #"); Serial.print (daliri.fingerID);
Serial.print ("may kumpiyansa ng"); Serial.println (daliri. kumpiyansa);
kung (daliri.fingerID == 1) {
lcd.clear ();
lcd.setCursor (2, 0);
lcd.print ("Tinanggap ang daliri,");
lcd.setCursor (2, 0);
lcd.print ("ngayon ay i-scan ang card …");
lcd.setCursor (0, 3);
lcd.print ("===================>");
habang (! mfrc522. PICC_IsNewCardPresent ());
habang (! mfrc522. PICC_ReadCardSerial ());
kung (mfrc522.uid.uidByte [0] == 0x92 && // ==================== EDIT CODE ==== ====
mfrc522.uid.uidByte [1] == 0xAB && // Kunin ang piraso ng papel na may ID dito, mayroong 4 na hanay ng 2 digit
mfrc522.uid.uidByte [2] == 0x90 && // Tumingin sa pamamagitan ng code, tingnan kung saan sinasabi nito 0x92, 0xAB, 0x90, 0x1c? Ipasok ang bawat isa
mfrc522.uid.uidByte [3] == 0x1C) {// ng seksyon ng 2 digit pagkatapos ng 0x. Halimbawa, sinasabi ng seksyon ng ID
lcd.clear (); // 3E, pagkatapos ay ipasok ang 3E pagkatapos ng 0x upang gumawa ng 0x3E. Gawin ito para sa bawat seksyon
lcd.setCursor (3, 0);
lcd.print ("Panghuli, ipasok");
lcd.setCursor (1, 1);
lcd.print ("joystick password");
habang (analogRead (A2)> = 100 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670) {
}
lcd.setCursor (8, 4);
lcd.print ("*"); kung (analogRead (A2) <= 100) {
d1 = L;
}
kung (analogRead (A2)> = 670) {
d1 = R;
}
kung (analogRead (A3) <= 100) {
d1 = U;
}
kung (analogRead (A3)> = 670) {
d1 = D;
}
pagkaantala (500);
habang (analogRead (A2)> = 100 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670) {
}
lcd.print ("*");
kung (analogRead (A2) <= 100) {
d2 = L;
}
kung (analogRead (A2)> = 670) {
d2 = R;
}
kung (analogRead (A3) <= 100) {
d2 = U;
}
kung (analogRead (A3)> = 670) {
d2 = D;
}
pagkaantala (500);
habang (analogRead (A2)> = 100 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670) {
}
lcd.print ("*");
kung (analogRead (A2) <= 100) {
d3 = L;
}
kung (analogRead (A2)> = 670) {
d3 = R;
}
kung (analogRead (A3) <= 100) {
d3 = U;
}
kung (analogRead (A3)> = 670) {
d3 = D;
}
pagkaantala (500);
habang (analogRead (A2)> = 10 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670) {
}
lcd.print ("*");
kung (analogRead (A2) <= 100) {
d4 = L;
}
kung (analogRead (A2)> = 670) {
d4 = R;
}
kung (analogRead (A3) <= 100) {
d4 = U;
}
kung (analogRead (A3)> = 670) {
d4 = D;
}
pagkaantala (500);
kung (d1 == L && d2 == U && d3 == L && d4 == R) {// ================= EDIT CODE ==== ====
lcd.clear (); // Ang seksyon na ito ay maaari mong mai-edit ang password gamit ang joystick
lcd.setCursor (2, 0); // ang password ay nakatakda sa kaliwa, kaliwa, kanan. Kung nais mong magbago
lcd.print ("Ipinagkaloob ang Pag-access!"); // ito, maglagay ng L para sa kaliwa, R para sa kanan, U para sa pataas, o D para sa pababa sa alinman sa
lcd.setCursor (2, 1); // 4 na seksyon na may isang titik pagkatapos ng == mga palatandaan.
lcd.print ("Na-unlock ang drawer.");
lcd.setCursor (2, 2);
lcd.print ("Kapag tapos na, lumipat");
lcd.setCursor (1, 3);
lcd.print ("Joystick to relock");
servo.write (90);
habang (analogRead (A2)> = 100 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670);
servo.write (170);
lcd.setCursor (3, 0);
lcd.print ("Naka-lock ang drawer");
pagkaantala (3000);
resetFunc ();
} iba pa {
lcd.clear ();
lcd.setCursor (2, 0);
lcd.print ("ACCESS DENIED !!!");
lcd.setCursor (0, 2);
lcd.print ("Restarting system…");
pagkaantala (3000);
resetFunc ();
}
} iba pa {
lcd.clear ();
lcd.setCursor (2, 0);
lcd.print ("ACCESS DENIED !!!");
lcd.setCursor (0, 2);
lcd.print ("Restarting system…");
pagkaantala (3000);
resetFunc ();
}
} iba pa {
lcd.clear ();
lcd.setCursor (2, 0);
lcd.print ("ACCESS DENIED !!!");
lcd.setCursor (0, 2);
lcd.print ("Restarting system…");
pagkaantala (3000);
resetFunc ();
}
ibalik ang daliri.fingerID; }
Hakbang 6: Tapusin
Isang bagay na nakalimutan kong sabihin sa iyo, well 2 bagay ay naitayo ko ito bago ako kumuha ng litrato, kaya hindi ko maipakita sa iyo kung paano ko itinayo ang kahon. Ang iba pa ay inirerekumenda na i-tornilyo ang bahagi ng servo sa bahagi na lumiliko. Kung hindi mo gagawin, maaaring may hilahin ang drawer habang naka-lock ito at hilahin ang piraso. Ngunit bago mo ito lokohin, hanapin ang tamang lugar kung saan ito isusuot dahil ang servo ay lumiliko sa isang tiyak na antas. O maaari mo lamang itong baguhin sa code. Kung ang ilan sa mga electronics ay kumikilos nang nakakatawa, baka gusto mong makahanap ng ibang paraan upang makakuha ng 5V para sa ilan sa kanila. Napansin ko nang nag-flash ang aking fingerprint scanner, ang screen ay bahagyang mag-flash kasama nito, at ang servo ay maingay. Kapag lumipat ang servo, lumabo ang screen. Sana nasiyahan ka sa proyekto! Kung mayroon kang anumang mga katanungan, iwanan ang mga ito sa mga komento. Hindi ako marami sa mga itinuturo, ngunit sasagutin ko sila sa lalong madaling panahon!
Inirerekumendang:
Awtomatikong Faucet (Walang Touch) Paggamit ng Arduino - Hugasan ang Mga Kamay at Manatiling Ligtas Sa panahon ng COVID-19 Crisis: 4 na Hakbang
Awtomatikong Faucet (Walang Touch) Paggamit ng Arduino - Hugasan ang Mga Kamay at Manatiling Ligtas Sa panahon ng COVID-19 Crisis: Hoy mga kaibigan! Inaasahan kong lahat kayo ay maayos at mananatiling ligtas ngayon. Sa post na ito, ipapaliwanag ko sa iyo ang tungkol sa aking prototype na aking dinisenyo upang hugasan ang mga kamay nang ligtas. Ginawa ko ang proyektong ito na may limitadong mga mapagkukunan. Ang mga interesado ay maaaring gawing muli ang pro
Ligtas na Arduino Key: 4 na Hakbang
Arduino Key Safe: Mga ideya mula sa: https://www.instructables.com/id/Key-Safe/Ako ay isang tao na palaging nawala ang aking mga bagay nang walang dahilan. Ginagawa kong ligtas ang key na ito upang maalala ko na ilagay ang aking mga gamit sa loob, nang hindi nawala ang mga bagay. Sa proyektong ito, gumawa ako ng ilang pagpapabuti
Maaasahan, Ligtas, Nako-customize na Remote Control ng SMS (Arduino / pfodApp) - Walang Kinakailangan na Coding: 4 na Hakbang
Maaasahan, Ligtas, Napapasadyang Remote Control ng SMS (Arduino / pfodApp) - Walang Kinakailangan na Pag-coding: Pag-update noong ika-6 ng Hulyo 2018: Ang isang bersyon na 3G / 2G ng proyektong ito, gamit ang SIM5320, ay magagamit ditoI-update: Ika-19 ng Mayo 2015: Gamitin ang pfodParser library Bersyon 2.5 o mas mataas Inaayos nito ang isang naiulat na problema ng hindi pinapayagan ang sapat na oras para sa kalasag upang kumonekta sa
Paano Gawing Ligtas ang Iyong Flash Drive Sa Isang Hindi Mapagpasyang Data na Ligtas: P: 4 Mga Hakbang
Paano Gawing Ligtas ang Iyong Flash Drive Sa Isang Hindi Mapipigilan na Data na Ligtas: P: Okay, kaya talaga kung ano ang gagawin namin ay ginagawa ito upang ang iyong generic flashdrive o mp3 player (Talaga ang anumang gumagamit ng flash memory …) ay maaaring ligtas mula sa isang mandaragit na hanapin ito at dumaan sa kung ano ang iniimbak mo dito
High-Tech Pine Needle Camo Paint LapTop Computer: 5 Hakbang
High-Tech Pine Needle Camo Pininturahan ang LapTop Computer: Katatapos ko lamang i-set up ang aking dating Toshiba LapTop sa Linux at tinitingnan ko ang site na Maaaring Ituro nang nangyari ako sa pag-post ng "murph38_99. Talagang hindi ako naghahanap ng isang paraan upang pintura ng baril, ngunit, nakakuha ako ng isang nakatutuwang ideya at