Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Kujenga Sanduku
- Hatua ya 2: Wiring Up
- Hatua ya 3: Kupakua Maktaba
- Hatua ya 4: Kuweka Sensor ya Kidole cha Kidole na Radi ya Rfid Card
- Hatua ya 5: CODE
- Hatua ya 6: Maliza
Video: Arduino High Tech Salama: 6 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Hii ni salama yangu ya juu ya arduino. Lazima uchanganue kidole chako, changanua kadi yako, kisha ingiza nenosiri lenye tarakimu 4 ili kufungua droo. Mradi huu haupendekezi kwa Kompyuta kwa sababu ni ya hali ya juu sana. Nambari ni ndefu, lakini nitaishiriki katika mradi huu. Gharama ni karibu $ 75 ikiwa utaunda salama sawa na mimi. Mradi huu pia unaweza kuchukua siku 1-3 kukamilika. Kwa hivyo, hebu tuanze!
Vifaa
Kuunda salama sawa na yangu utahitaji:
Arduino (Uno alipendekeza kwa sababu sina hatua za mega au nano arduino. Lakini bado unaweza kuzitumia)
ubao wa mkate
servo
waya za kuruka
fimbo ya furaha
20 * 4 (unaweza kutumia 16 * 4, lakini itabidi ubadilishe nambari)
skana ya alama za vidole
skana ya mfrc522 rfid
ndoo ya legos
Hatua ya 1: Kujenga Sanduku
Kwanza utahitaji sanduku kuweka vifaa vyako vya elektroniki. Unaweza kutumia legos, sanduku la kuchapishwa la 3d, au hata kadibodi! (Ingawa hii inaweza kuwa ngumu) Usisahau kuweka mashimo ndani yake kwa droo, na umeme wako. Ikiwa unatumia skana ya kadi ya rfid, hauitaji kuweka shimo kwa hiyo ikiwa kuta zako ni nyembamba. Kadi bado zinafanya kazi, lakini lazima uweke viti vya funguo karibu ili senor wa kadi ya rfid aweze kuzisoma. Pia acha nafasi ya arduino yako na waya ndani. KUMBUKA: Unapojenga droo, acha shimo ndani yake ili servo yako iweze kugeuka na kufunga droo.
Hatua ya 2: Wiring Up
Hatua hii inaweza kuwa ngumu kwa sababu unahitaji kuziba waya mahali pengine au umeme hautafanya kazi. Sina mchoro wa wiring, lakini nitakuambia kila mmoja atakwenda. Wiring ni ya arduino uno tu. Itabidi utafute walikuwa kuweka waya ikiwa unatumia mega au nano arduino. Ikiwa hutumii elektroni zote nilizonazo, unaweza kuruka wiring hiyo tu.
Skana ya kuchapisha vidole: waya wa kijani: waya mweupe D2: waya mweusi D3: waya mwekundu wa GND: 5V
Joystick: 5V = 3.3V GND = GND X = A2 Y = A3 Kubadilisha = D4
skana ya kadi ya rfid: 3.3V = 3.3V rst = D9 GND = GND miso = D12 mosi = D11 sck = D13 sda = D10
skrini ya lcd: 5V = 5V GND = GND sda = A4 sck = A5
Servo: waya nyekundu: 5V waya wa hudhurungi: waya wa manjano wa GND: D6
KUMBUKA: USITENGENEZE SEKANI YA KATA YA RFID KWENYE 5V. UKIFANYA, ITAVUNJIKA !!!
Labda unajiuliza ni kwanini nimesema kuziba nguvu ya faraja kwa 3.3V wakati inasema 5V upande. Hiyo ni kwa sababu skana ya servo, skrini, na alama za vidole zinahitaji 5V. Ikiwa unaongeza kifurushi kwa hiyo, umeme hauwezi kufanya kazi kwa sababu kila kitu kinahitaji 5V. Fimbo ya furaha bado itafanya kazi na 3.3V. Ni thamani ya juu tu 1023, itakuwa ~ 670.
Hatua ya 3: Kupakua Maktaba
Katika mradi huu, utahitaji maktaba 6 kutumia umeme wote. 1 kwa servo, 1 kwa sensa ya alama ya vidole, 2 kwa skana ya kadi ya rfid, na 2 kwa skrini. Fimbo ya furaha haiitaji maktaba. Sasa, maktaba ni nini? Kimsingi ni faili ambayo inashikilia nambari nyingi ambazo unaweza kutumia katika mradi wako na amri rahisi. Ili kupata maktaba hizi, unahitaji kwenda mahali panapoitwa GitHub. Ikiwa unajua jinsi ya kupakua na kufungua maktaba, nenda kwenye viungo hapa chini kwa upakuaji. Ikiwa haujui jinsi, unaweza kwenda kwa anayeweza kufundishwa ambayo inazungumza juu ya jinsi ya kupakua maktaba katika hatua ya 3: https://www.instructables.com/id/Makey-Makeyarduin …….
au tafuta video ya youtube juu ya jinsi ya kupakua maktaba ya arduino kutoka GitHub
Viungo kwa WALIMU:
Servo
sensa ya alama ya vidole:
spi
sensa ya kadi ya rfid
maktaba ya skrini 1
maktaba ya skrini 2
Hatua ya 4: Kuweka Sensor ya Kidole cha Kidole na Radi ya Rfid Card
Hatua hii inazungumza juu ya jinsi ya kuweka sensor ya kidole na sensa ya kadi ya rfid. Isipokuwa tayari umetumia kitambuzi chako cha alama ya vidole, utahitaji kuionesha alama ya kidole chako inavyoonekana ili iweze kuihifadhi kwenye kumbukumbu yake. Hata kama umewahi kuitumia hapo awali, bado unapaswa kufanya hatua hii. Nitakuambia jinsi ya kuifanya kwa kifupi, lakini ikiwa haina maana nenda kwenye kiunga sawa kinachoweza kufundishwa katika hatua ya mwisho. Inapita juu yake vizuri sana. Msingi wazi tu ideu ya arduino. Nenda kwenye faili> mifano> sensorer ya vidole vya adafruit> jiandikishe. Pakia nambari kwa arduino, fungua mfuatiliaji wa serial, na ufuate hatua ambazo inakuambia. Inapokwambia mpe namba. Chapa 1 #.
Sasa kwa kadi ya rfid, hatua hii ni rahisi sana. Fungua ideu ideuino. Nenda kwenye faili> mifano> mfrc522> soma data ya kibinafsi. Pakia arduino na fungua mfuatiliaji wa serial. Changanua kadi au keychain unayotaka kutumia iliyokuja na kitambuzi chako. Halafu itakupa habari. Tafuta kitambulisho cha kadi hiyo itakuwa seti 4 za nambari 2. Kitu kama hiki: AB 45 2Y 45 lakini nambari yako itakuwa tofauti. Andika hii kwenye karatasi. Utahitaji tena baadaye. Hiyo ni kwa hatua hii.
Hatua ya 5: CODE
Hii itakuwa hatua ngumu zaidi kwa wengi wenu, lakini ni rahisi sana. Nakala kwanza na ubandike nambari kwenye maoni ya arduino kutoka chini. Pili, hariri sehemu 2 ambapo inasema "BONYEZA KODI." Sehemu 1 ni ya skana ya kadi, 1 ni ya fimbo ya kufurahisha. Hatua hizi haziwezi kurukwa. Ukimaliza, pakia nambari kwa arduino!
# pamoja na # pamoja na alama ya kidole.h>
# pamoja
# pamoja
# pamoja
# pamoja
LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#fafanua RST_PIN 9
#fafanua SS_PIN 10
MFRC522 mfrc522 (SS_PIN, RST_PIN);
SoftwareSerial mySerial (2, 3);
Kidole cha Adafruit_Fingerprint = Adafruit_Fingerprint (& mySerial);
Servo servo;
char d1;
char d2;
char d3;
char d4;
usanidi batili () {
ambatisha servo (6);
andika (170);
lcd kuanza (20, 4);
Kuanzia Serial (9600);
wakati (! Serial);
SPI kuanza ();
mfrc522. PCD_Init ();
kuchelewesha (4);
mfrc522. PCD_DumpVersionToSerial ();
kuchelewesha (100);
Serial.println ("\ n / nJaribio la kugundua kidole cha matunda");
kidole. kuanza (57600);
kuchelewesha (5);
ikiwa (kidole.verifyPassword ()) {
Serial.println ("Mifumo yote inafanya kazi,");
lcd wazi ();
lcd.setCursor (1, 0);
lcd.print ("Tafadhali tambaza kidole");
} mwingine {
Serial.println ("KOSA: sensa ya kuchapisha kidole haipatikani!");
lcd.setCursor (0, 0);
lcd.print ("KOSA: Kuchapa kidole");
lcd.setCursor (1, 1);
lcd.print ("sensor haikupatikana!");
wakati (1) {kuchelewesha (1); }
}
kidole.getTemplateCount ();
Serial.print ("Sensor ina"); Serial.print (kidole.templateCount); Serial.println ("templeti"); Serial.println ("Inasubiri kidole halali…"); }
batili (* resetFunc) (batili) = 0;
kitanzi batili () {
pataFingerprintIDez ();
kuchelewesha (50);
}
hauwezi kupataFingerprintID () {
uint8_t p = kidole. Imba Picha ();
kubadili (p) {
kesi FINGERPRINT_OK:
Serial.println ("Picha imechukuliwa");
kuvunja;
kesi FINGERPRINT_NOFINGER:
Serial.println ("Hakuna kidole kilichogunduliwa");
kurudi p;
kesi FINGERPRINT_PACKETRECIEVEERR:
Serial.println ("Kosa la Mawasiliano");
kurudi p;
kesi FINGERPRINT_IMAGEFAIL:
Serial.println ("Imaging error");
kurudi p;
chaguomsingi:
Serial.println ("Kosa lisilojulikana");
kurudi p;
}
p = kidole.image2Tz ();
kubadili (p) {
kesi FINGERPRINT_OK:
Serial.println ("Picha imebadilishwa");
kuvunja;
kesi FINGERPRINT_IMAGEMESS:
Serial.println ("Picha imejaa fujo");
kurudi p;
kesi FINGERPRINT_PACKETRECIEVEERR:
Serial.println ("Kosa la Mawasiliano");
kurudi p;
kesi FINGERPRINT_FEATUREFAIL:
Serial.println ("Haikuweza kupata huduma za alama za vidole");
kurudi p;
kesi FINGERPRINT_INVALIDIMAGE:
Serial.println ("Haikuweza kupata huduma za alama za vidole");
kurudi p;
chaguomsingi:
Serial.println ("Kosa lisilojulikana");
kurudi p;
}
p = kidole.fingerFastSearch ();
ikiwa (p == FINGERPRINT_OK) {
Serial.println ("Pata mechi ya kuchapisha!");
} mwingine ikiwa (p == FINGERPRINT_PACKETRECIEVEERR) {Serial.println ("Kosa la Mawasiliano");
kurudi p;
} mwingine ikiwa (p == FINGERPRINT_NOTFOUND) {
Serial.println ("Hakupata mechi");
kurudi p;
} mwingine {
Serial.println ("Kosa lisilojulikana");
kurudi p;
}
Serial.print ("Iliyopatikana ID #"); Serial.print (kidole cha kidole);
Serial.print ("kwa ujasiri wa"); Serial.println (kidole.kujiamini);
rudisha kidole kidole;
}
int getFingerprintIDez () {
uint8_t p = kidole. Imba Picha ();
ikiwa (p! = FINGERPRINT_OK) kurudi -1;
p = kidole.image2Tz ();
ikiwa (p! = FINGERPRINT_OK) kurudi -1;
p = kidole.fingerFastSearch ();
ikiwa (p! = FINGERPRINT_OK) kurudi -1;
Serial.print ("Iliyopatikana ID #"); Serial.print (kidole cha kidole);
Serial.print ("kwa ujasiri wa"); Serial.println (kidole.kujiamini);
ikiwa (finger.fingerID == 1) {
lcd wazi ();
lcd.setCursor (2, 0);
lcd.print ("Kidole kimekubaliwa,");
lcd.setCursor (2, 0);
lcd.print ("sasa tambaza kadi…");
lcd.setCursor (0, 3);
lcd.print ("===================>");
wakati (! mfrc522. PICC_IsNewCardPresent ());
wakati (! mfrc522. PICC_ReadCardSerial ());
ikiwa (mfrc522.uid.uidByte [0] == 0x92 && // ========================== HARAKA CODE ======== ==============
mfrc522.uid.uidByte [1] == 0xAB && // Chukua kile kipande cha karatasi kilicho na kitambulisho, kulikuwa na seti 4 za nambari 2
mfrc522.uid.uidByte [2] == 0x90 && // Angalia kwa nambari, angalia ambapo inasema 0x92, 0xAB, 0x90, 0x1c? Ingiza kila moja
mfrc522.uid.uidByte [3] == 0x1C) {// ya sehemu ya tarakimu 2 baada ya 0x. Kwa mfano, sehemu ya kitambulisho inasema
lcd wazi (); // 3E, kisha ingiza 3E baada ya 0x kutengeneza 0x3E. Fanya hivi kwa kila sehemu
lcd.setCursor (3, 0);
lcd.print ("Mwishowe, ingiza");
lcd.setCursor (1, 1);
lcd.print ("nywila ya kufurahisha");
wakati (AnalogSoma (A2)> = 100 &&
Soma Analog (A2) <= 670 &&
AnalogRead (A3)> = 100 &&
AnalogRead (A3) <= 670) {
}
lcd.setCursor (8, 4);
lcd.print ("*"); ikiwa (AnalogSoma (A2) <= 100) {
d1 = L;
}
ikiwa (AnalogSoma (A2)> = 670) {
d1 = R;
}
ikiwa (AnalogSoma (A3) <= 100) {
d1 = U;
}
ikiwa (AnalogSoma (A3)> = 670) {
d1 = D;
}
kuchelewesha (500);
wakati (AnalogSoma (A2)> = 100 &&
Soma Analog (A2) <= 670 &&
AnalogRead (A3)> = 100 &&
AnalogRead (A3) <= 670) {
}
lcd.print ("*");
ikiwa (AnalogSoma (A2) <= 100) {
d2 = L;
}
ikiwa (AnalogSoma (A2)> = 670) {
d2 = R;
}
ikiwa (AnalogSoma (A3) <= 100) {
d2 = U;
}
ikiwa (AnalogSoma (A3)> = 670) {
d2 = D;
}
kuchelewesha (500);
wakati (AnalogSoma (A2)> = 100 &&
Soma Analog (A2) <= 670 &&
AnalogRead (A3)> = 100 &&
AnalogRead (A3) <= 670) {
}
lcd.print ("*");
ikiwa (AnalogSoma (A2) <= 100) {
d3 = L;
}
ikiwa (AnalogSoma (A2)> = 670) {
d3 = R;
}
ikiwa (AnalogSoma (A3) <= 100) {
d3 = U;
}
ikiwa (AnalogSoma (A3)> = 670) {
d3 = D;
}
kuchelewesha (500);
wakati (AnalogSoma (A2)> = 10 &&
Soma Analog (A2) <= 670 &&
AnalogRead (A3)> = 100 &&
AnalogRead (A3) <= 670) {
}
lcd.print ("*");
ikiwa (AnalogSoma (A2) <= 100) {
d4 = L;
}
ikiwa (AnalogSoma (A2)> = 670) {
d4 = R;
}
ikiwa (AnalogSoma (A3) <= 100) {
d4 = U;
}
ikiwa (AnalogSoma (A3)> = 670) {
d4 = D;
}
kuchelewesha (500);
ikiwa (d1 == L && d2 == U && d3 == L && d4 == R) {// ================= BONYEZA CODE ====== ================
lcd wazi (); // Sehemu hii ni kama unaweza kuhariri nywila na fimbo ya furaha
lcd.setCursor (2, 0); // nywila imewekwa kushoto, juu kushoto, kulia. Ikiwa unataka kubadilika
lcd.print ("Ufikiaji umepewa!"); // ni, weka L kushoto, R kulia, U kwa juu, au D chini katika yoyote ya
lcd.setCursor (2, 1); // sehemu 4 zilizo na barua baada ya ishara ==.
lcd.print ("Droo imefunguliwa.");
lcd.setCursor (2, 2);
lcd.print ("Ukimaliza, songa");
lcd.setCursor (1, 3);
lcd.print ("starehe ya kufungua tena");
andika (90);
wakati (AnalogSoma (A2)> = 100 &&
Soma Analog (A2) <= 670 &&
AnalogRead (A3)> = 100 &&
Soma Analog (A3) <= 670);
andika (170);
lcd.setCursor (3, 0);
lcd.print ("Droo imefungwa");
kuchelewesha (3000);
resetFunc ();
} mwingine {
lcd wazi ();
lcd.setCursor (2, 0);
lcd.print ("UPATIKANAJI UMEKANYWA !!!");
lcd.setCursor (0, 2);
lcd.print ("Kuanzisha upya mfumo…");
kuchelewesha (3000);
resetFunc ();
}
} mwingine {
lcd wazi ();
lcd.setCursor (2, 0);
lcd.print ("UPATIKANAJI UMEKANYWA !!!");
lcd.setCursor (0, 2);
lcd.print ("Kuanzisha upya mfumo…");
kuchelewesha (3000);
resetFunc ();
}
} mwingine {
lcd wazi ();
lcd.setCursor (2, 0);
lcd.print ("UPATIKANAJI UMEKANYWA !!!");
lcd.setCursor (0, 2);
lcd.print ("Kuanzisha upya mfumo…");
kuchelewesha (3000);
resetFunc ();
}
rudisha kidole kidole; }
Hatua ya 6: Maliza
Jambo moja ambalo nilisahau kukuambia, vizuri vitu 2 ni kwamba nilijenga hii kabla sijapiga picha, kwa hivyo sikuweza kukuonyesha jinsi nilivyojenga sanduku. Nyingine ni kwamba inashauriwa kugonga sehemu ya servo kwenye sehemu ambayo inageuka. Usipofanya hivyo, mtu anaweza kuvuta droo wakati imefungwa na kuvuta kipande. Lakini kabla ya kuizungusha, pata mahali pazuri pa kuiweka kwa sababu servo inageuka kwa kiwango fulani. Au unaweza kuibadilisha tu katika nambari. Ikiwa elektroniki zingine zinafanya kuchekesha, unaweza kutaka kutafuta njia tofauti ya kupata 5V kwa baadhi yao. Niligundua skana yangu ya kidole ilipowaka, skrini ingeangaza kidogo nayo, na servo ingefanya kelele. Wakati servo ilipohamia, skrini ingekuwa hafifu. Natumai umefurahiya mradi! Ikiwa una maswali yoyote, waache kwenye maoni. Siko juu ya mafundisho mengi, lakini nitawajibu haraka iwezekanavyo!
Ilipendekeza:
B-Salama, salama salama: Hatua 8 (na Picha)
B-Salama, Salama inayosafirika: *** Septemba 4, 2019: Nilipakia faili mpya ya 3D ya sanduku lenyewe. Ilionekana kuwa kufuli langu lilikuwa 10 mm juu sana kwa karibu vizuri *** Shida Fikiria hii: Unaamka asubuhi moja na hali ya hewa ni nzuri kabisa. Unataka kwenda pwani Kwa sababu huna
Jinsi ya Salama na Salama Simu yako na Kifaa: Hatua 4
Jinsi ya Kulinda na Kulinda Simu yako na Kifaa: kutoka kwa mtu ambaye amepoteza karibu kila kitu (ametia chumvi, kwa kweli). Kwa hivyo, wakati wa kukiri, kama sentensi yangu ya hapo awali ilisema, mimi ni mpungufu sana. Ikiwa kitu hakijaambatanishwa nami, kuna nafasi kubwa sana kwamba nitaiweka vibaya, sahau iko mahali pengine
Salama Bora: Kufanya Vituo vya Treni Salama: Hatua 7
Salama Bora: Kufanya Vituo vya Treni kuwa Salama: Vituo vingi vya gari moshi leo sio salama kwa sababu ya ukosefu wa usalama, vizuizi, na onyo la treni kuja. Tuliona haja ya hiyo kurekebishwa. Ili kutatua shida hii tuliunda salama salama zaidi. Tulitumia sensorer za kutetemeka, sensorer za mwendo, na
Jinsi ya Kufanya Kiwango cha Hifadhi Yako Kuwa Salama Isiyoweza Kubadilika Salama: P: 4 Hatua
Jinsi ya Kufanya Hifadhi yako ya Kiwango ndani ya Takwimu Isiyoweza Kubalika: P: Sawa, kwa hivyo kimsingi kile tutakachokuwa tukifanya ni kuifanya iwe flashdrive yako ya kawaida au kicheza mp3 (Kimsingi chochote kinachotumia kumbukumbu ya flash …) kinaweza kuwa salama kutoka mchungaji kuipata na kupitia kile unachohifadhi juu yake
High-Tech Pine Sindano Camo Rangi LapTop Kompyuta: 5 Hatua
High-Tech Pine Sindano Camo Painted LapTop Computer: Nilikuwa nimemaliza tu kuweka Toshiba LapTop yangu ya zamani na Linux na nilikuwa nikiangalia ingawa Tovuti inayoweza kufundishwa wakati nilitokea tu kwenye kuchapisha na "murph38_99. Kwa kweli sikuwa nikitafuta njia ya rangi bunduki na, lakini, nilipata wazo la kijinga na