
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48

Սա իմ arduino բարձր տեխնոլոգիական պահարանն է: Դուք պետք է սկանավորեք ձեր մատը, սկանավորեք ձեր քարտը, այնուհետև մուտքագրեք 4 նիշանոց գաղտնաբառ ՝ դարակը բացելու համար: Այս նախագիծը խորհուրդ չի տրվում սկսնակների համար, քանի որ այն շատ առաջադեմ է: Կոդը երկար է, բայց ես այն կկիսեմ այս նախագծում: Արժեքը մոտ $ 75 է, եթե դուք կառուցեք ինձ հետ նույն պահարանը: Այս նախագիծը նույնպես կարող է տևել 1-3 օր: Այսպիսով, եկեք սկսենք:
Պարագաներ
Իմ և նույն պահարանի կառուցման համար ձեզ հարկավոր է.
Arduino (Uno- ն խորհուրդ է տրվում, քանի որ arduino mega կամ nano- ի համար քայլեր չունեմ: Բայց դուք դեռ կարող եք դրանք օգտագործել)
տախտակ
ծառայություն
jumper լարերը
ջոյստիկ
20*4 (կարող եք օգտագործել 16*4, բայց ստիպված կլինեք փոխել կոդը)
մատնահետքերի սկաներ
mfrc522 rfid քարտերի սկաներ
մի դույլ լեգո
Քայլ 1: Արկղ կառուցելը

Սկզբում ձեզ հարկավոր է տուփ ՝ ձեր էլեկտրոնիկան տեղադրելու համար: Դուք կարող եք օգտագործել լեգոներ, 3d տպագիր տուփ կամ նույնիսկ ստվարաթուղթ: (Թեև դա կարող է ավելի դժվար լինել) Մի մոռացեք դրա մեջ անցքեր տեղադրել դարակի համար և ձեր էլեկտրոնիկան: Եթե դուք օգտագործում եք rfid քարտերի սկաները, ապա դրա պատերը պետք չէ դնել, եթե պատերը բարակ են: Քարտերը դեռ աշխատում են, բայց դուք պետք է փակագծերը փակեք այնպես, որ rfid քարտի սենսորը կարողանա դրանք կարդալ: Նաև տեղ թողեք ներսում ձեր արդուինոյի և լարերի համար: Ո NOTՇԱԴՐՈԹՅՈՆ. Երբ կառուցում եք գզրոցը, դրա մեջ մի անցք թողեք, որպեսզի ձեր սերվոն կարողանա պտտել և կողպել դարակը:
Քայլ 2: Միացում

Այս քայլը կարող է բարդ լինել, քանի որ անհրաժեշտ է լարերը միացնել ճշգրիտ տեղում, հակառակ դեպքում էլեկտրոնիկան չի աշխատի: Ես էլեկտրագծերի դիագրամ չունեմ, բայց ես ձեզ կասեմ, եթե յուրաքանչյուրը գնա: Էլեկտրագծերը միայն arduino uno- ի համար են: Եթե դուք օգտագործում եք arduino մեգա կամ նանո, դուք պետք է փնտրեք լարերը տեղադրելու համար: Եթե դուք չեք օգտագործում իմ ունեցած բոլոր էլեկտրոնները, կարող եք պարզապես բաց թողնել այդ լարերը:
Մատնահետքի սկաներ `կանաչ մետաղալար` D2 սպիտակ մետաղալար `D3 սև մետաղալար` GND կարմիր մետաղալար `5V
Oyոյստիկ `5V = 3.3V GND = GND X = A2 Y = A3 Անջատիչ = D4
rfid քարտերի սկաներ ՝ 3.3V = 3.3V rst = D9 GND = GND miso = D12 mosi = D11 sck = D13 sda = D10
LCD էկրան ՝ 5V = 5V GND = GND sda = A4 sck = A5
Servo: կարմիր մետաղալար ՝ 5V Շագանակագույն մետաղալար ՝ GND դեղին մետաղալար ՝ D6
ՈEՇԱԴՐՈԹՅՈՆ. ՄԻ ՄՏԱԵՔ RFID ՔԱՐՏԻ ՍԿԱՆԵՐԸ 5 Վ ԼՈՅՍ: ԵԹԵ ԱՆԵԼՈ,, ԿԿՏԱՍԻ !!!
Ձեզ կարող է հետաքրքրել, թե ինչու ես ասացի, որ ջոյսթիկի հոսանքը միացրեք 3.3 Վ -ին, երբ կողքին գրված է 5 Վ: Դա պայմանավորված է նրանով, որ սերվոյին, էկրանին և մատնահետքի սկաների համար անհրաժեշտ է 5 Վ: Եթե դրան գումարեք նաև ջոյսթիկը, էլեկտրոնիկան կարող է չաշխատել, քանի որ ամեն ինչ 5 Վ -ի կարիք ունի: Joyոյստիկը դեռ կաշխատի 3.3 Վ լարման դեպքում: Պարզապես առավելագույն արժեքը չի լինի 1023, այն կլինի 670 ֆունտ:
Քայլ 3. Գրադարանների ներբեռնում
Այս նախագծում ձեզ անհրաժեշտ կլինեն 6 գրադարաններ ՝ ամբողջ էլեկտրոնիկայից օգտվելու համար: 1 -ը servo- ի համար, 1 -ը `մատնահետքի տվիչի համար, 2 -ը` rfid քարտերի սկաների համար և 2 -ը `էկրանի համար: Joyոյստիկին գրադարան պետք չէ: Հիմա ի՞նչ է գրադարանը: Դա հիմնականում ֆայլ է, որը պարունակում է բազմաթիվ կոդեր, որոնք կարող եք օգտագործել ձեր նախագծում ՝ պարզ հրամաններով: Այս գրադարանները ձեռք բերելու համար հարկավոր է գնալ մի վայր, որը կոչվում է GitHub: Եթե գիտեք, թե ինչպես ներբեռնել և բացել գրադարանները, պարզապես ներբեռնման համար անցեք ստորև բերված հղումներով: Եթե չգիտեք, թե ինչպես, կարող եք գնալ իմ հրահանգին, որը խոսում է գրադարան ներլցնելու մասին 3-րդ քայլում ՝
կամ փնտրեք youtube տեսանյութ, թե ինչպես ներբեռնել arduino գրադարանը GitHub- ից
ՀԻՄՆԵՐ ԼԻՐԱՅԻՆՆԵՐԻՆ.
Սերվո
մատնահետքի ցուցիչ ՝
spi
rfid քարտի տվիչ
էկրանի գրադարան 1
էկրանի գրադարան 2
Քայլ 4. Մատնահետքի ցուցիչի և Rfid քարտի տվիչի տեղադրում
Այս քայլը խոսում է այն մասին, թե ինչպես տեղադրել մատնահետքի սենսոր և rfid քարտի տվիչ: Եթե դուք արդեն չեք օգտագործել ձեր մատնահետքի սենսորը, ապա ձեզ հարկավոր է ցույց տալ, թե ինչպիսին է ձեր մատնահետքը, որպեսզի այն կարողանա պահպանել այն իր հիշողության մեջ: Նույնիսկ եթե նախկինում այն օգտագործել եք, միևնույն է, հավանաբար, պետք է կատարեք այս քայլը: Ես ձեզ կասեմ, թե ինչպես դա անել համառոտ, բայց եթե իմաստ չունի անցեք նույն խրատական հղմանը վերջին քայլին: Դա շատ լավ է անցնում: Հիմնական պարզապես բաց arduino ide. Գնացեք ֆայլ> օրինակներ> adafruit մատնահետքի ցուցիչ> գրանցվեք: Վերբեռնեք կոդը arduino- ում, բացեք սերիական մոնիտորը և հետևեք այն ձեզ տրված քայլերին: Երբ ձեզ ասում է, որ համար տվեք: Մուտքագրեք 1#:
Այժմ rfid քարտի համար այս քայլը բավականին հեշտ է: Բացեք arduino ide- ը: Գնալ դեպի ֆայլ> օրինակներ> mfrc522> կարդալ անձնական տվյալները: Վերբեռնեք arduino- ում և բացեք սերիական մոնիտորը: Սկանավորեք այն քարտը կամ բանալիի շղթան, որը ցանկանում եք օգտագործել ձեր սենսորի հետ միասին: Այնուհետև դա ձեզ որոշ տեղեկություններ կտա: Փնտրեք քարտի ID- ն, այն կլինի 2 նիշից բաղկացած 4 հավաքածու: Նման բան ՝ AB 45 2Y 45, բայց ձեր կոդը այլ կլինի: Գրեք սա թղթի վրա: Ավելի ուշ ձեզ նորից պետք կգա: Այսքանը այս քայլի համար:
Քայլ 5: ԿՈԴ
Սա ձեզանից շատերի համար կդառնա ամենադժվար քայլը, բայց դա բավականին պարզ է: Սկզբից պատճենեք և տեղադրեք կոդը arduino ide- ի մեջ ներքևից: Երկրորդ, խմբագրեք 2 բաժինները, որտեղ գրված է Խմբագրել ծածկագիրը: 1 բաժինը քարտերի սկաների համար է, 1 -ը `ջոյսթիկի համար: Այս քայլերը չեն կարող շրջանցվել: Ավարտելուց հետո վերբեռնեք կոդը arduino- ում:
#ներառել #ներառել մատնահետքը.հ>
#ներառում
#ներառում
#ներառում
#ներառում
LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7, 3, ԴՐԱԿԱՆ);
#սահմանի RST_PIN 9
#սահմանել SS_PIN 10
MFRC522 mfrc522 (SS_PIN, RST_PIN);
SoftwareSerial mySerial (2, 3);
Adafruit_Fingerprint մատ = Adafruit_Fingerprint (& mySerial);
Servo servo;
char d1;
char d2;
char d3;
char d4;
void setup () {
servo.attach (6);
servo.write (170);
lcd. սկսել (20, 4);
Serial.begin (9600);
իսկ (! Սերիա);
SPI.begin ();
mfrc522. PCD_Init ();
ուշացում (4);
mfrc522. PCD_DumpVersionToSerial ();
ուշացում (100);
Serial.println ("\ n / n Ադաֆրուտի մատների հայտնաբերման թեստ");
մատը.սկսել (57600);
ուշացում (5);
եթե (finger.verifyPassword ()) {
Serial.println («Բոլոր համակարգերն աշխատում են»);
lcd. հստակ ();
lcd.setCursor (1, 0);
lcd.print («Խնդրում ենք սկանավորել մատը»);
} ուրիշ {
Serial.println ("ՍԽԱԼ. Մատնահետքի սենսորը չի գտնվել");
lcd.setCursor (0, 0);
lcd.print («ՍԽԱԼ. Մատնահետք»);
lcd.setCursor (1, 1);
lcd.print («սենսորը չի գտնվել»);
իսկ (1) {հետաձգում (1); }
}
finger.getTemplateCount ();
Serial.print («Սենսորը պարունակում է»); Serial.print (finger.templateCount); Serial.println («կաղապարներ»); Serial.println («Սպասում է վավեր մատի …»); }
դատարկ (* resetFunc) (անվավեր) = 0;
դատարկ շրջան () {
getFingerprintIDez ();
ուշացում (50);
}
uint8_t getFingerprintID () {
uint8_t p = finger.getImage ();
անջատիչ (p) {
գործ FINGERPRINT_OK:
Serial.println («Պատկերը վերցված է»);
ընդմիջում;
պատյան FINGERPRINT_NOFINGER:
Serial.println («Մատը չի հայտնաբերվել»);
վերադարձ p;
պատյան FINGERPRINT_PACKETRECIEVEERR:
Serial.println («Հաղորդակցության սխալ»);
վերադարձ p;
գործ FINGERPRINT_IMAGEFAIL:
Serial.println («Պատկերման սխալ»);
վերադարձ p;
կանխադրված:
Serial.println («Անհայտ սխալ»);
վերադարձ p;
}
p = finger.image2Tz ();
անջատիչ (p) {
գործ FINGERPRINT_OK:
Serial.println ("Պատկերը փոխարկված է");
ընդմիջում;
գործ FINGERPRINT_IMAGEMESS:
Serial.println («Պատկերը չափազանց խառնաշփոթ է»);
վերադարձ p;
պատյան FINGERPRINT_PACKETRECIEVEERR:
Serial.println («Հաղորդակցության սխալ»);
վերադարձ p;
գործ FINGERPRINT_FEATUREFAIL:
Serial.println ("Չհաջողվեց գտնել մատնահետքի հատկությունները");
վերադարձ p;
պատյան FINGERPRINT_INVALIDIMAGE:
Serial.println ("Չհաջողվեց գտնել մատնահետքի հատկությունները");
վերադարձ p;
կանխադրված:
Serial.println («Անհայտ սխալ»);
վերադարձ p;
}
p = finger.fingerFastSearch ();
եթե (p == FINGERPRINT_OK) {
Serial.println («Գտնվել է տպագիր համընկնում»);
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {Serial.println ("Հաղորդակցության սխալ");
վերադարձ p;
} ուրիշ եթե (p == FINGERPRINT_NOTFOUND) {
Serial.println («Համընկնում չի գտել»);
վերադարձ p;
} ուրիշ {
Serial.println («Անհայտ սխալ»);
վերադարձ p;
}
Serial.print («Գտնված ID #»); Serial.print (finger.fingerID);
Serial.print («վստահությամբ»); Serial.println (մատը. Վստահություն);
վերադարձի մատը. FingerID;
}
int getFingerprintIDez () {
uint8_t p = finger.getImage ();
եթե (p! = FINGERPRINT_OK) վերադարձ -1;
p = finger.image2Tz ();
եթե (p! = FINGERPRINT_OK) վերադարձ -1;
p = finger.fingerFastSearch ();
եթե (p! = FINGERPRINT_OK) վերադարձ -1;
Serial.print («Գտնված ID #»); Serial.print (finger.fingerID);
Serial.print («վստահությամբ»); Serial.println (մատը. Վստահություն);
եթե (finger.fingerID == 1) {
lcd. հստակ ();
lcd.setCursor (2, 0);
lcd.print («Մատն ընդունված է»);
lcd.setCursor (2, 0);
lcd.print («այժմ սկան քարտը …»);
lcd.setCursor (0, 3);
lcd.print ("===================>>");
իսկ (! mfrc522. PICC_IsNewCardPresent ());
իսկ (! mfrc522. PICC_ReadCardSerial ());
if (mfrc522.uid.uidByte [0] == 0x92 && // ======================== Խմբագրել ծածկագիրը ======== ===============
mfrc522.uid.uidByte [1] == 0xAB && // Վերցրեք այդ թուղթը, որի վրա կա ID- ն, կար 2 թվանշանի 4 հավաքածու
mfrc522.uid.uidByte [2] == 0x90 && // Նայեք ծածկագրին, տեսեք, թե որտեղ է գրված ՝ 0x92, 0xAB, 0x90, 0x1c: Մուտքագրեք յուրաքանչյուրը
mfrc522.uid.uidByte [3] == 0x1C) {// 0x- ից հետո երկնիշ հատվածից: Օրինակ, ID- ի բաժնում ասվում է
lcd. հստակ (); // 3E, այնուհետև 0x- ից հետո մուտքագրեք 3E ՝ 0x3E ստանալու համար: Դա արեք յուրաքանչյուր հատվածի համար
lcd.setCursor (3, 0);
lcd.print («Վերջապես, մուտքագրեք»);
lcd.setCursor (1, 1);
lcd.print («joystick գաղտնաբառ»);
իսկ (analogRead (A2)> = 100 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670) {
}
lcd.setCursor (8, 4);
lcd.print ("*"); եթե (analogRead (A2) <= 100) {
d1 = L;
}
եթե (analogRead (A2)> = 670) {
d1 = R;
}
եթե (analogRead (A3) <= 100) {
d1 = U;
}
եթե (analogRead (A3)> = 670) {
d1 = D;
}
ուշացում (500);
իսկ (analogRead (A2)> = 100 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670) {
}
lcd.print ("*");
եթե (analogRead (A2) <= 100) {
d2 = L;
}
եթե (analogRead (A2)> = 670) {
d2 = R;
}
եթե (analogRead (A3) <= 100) {
d2 = U;
}
եթե (analogRead (A3)> = 670) {
d2 = D;
}
ուշացում (500);
իսկ (analogRead (A2)> = 100 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670) {
}
lcd.print ("*");
եթե (analogRead (A2) <= 100) {
d3 = L;
}
եթե (analogRead (A2)> = 670) {
d3 = R;
}
եթե (analogRead (A3) <= 100) {
d3 = U;
}
եթե (analogRead (A3)> = 670) {
d3 = D;
}
ուշացում (500);
իսկ (analogRead (A2)> = 10 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670) {
}
lcd.print ("*");
եթե (analogRead (A2) <= 100) {
d4 = L;
}
եթե (analogRead (A2)> = 670) {
d4 = R;
}
եթե (analogRead (A3) <= 100) {
d4 = U;
}
եթե (analogRead (A3)> = 670) {
d4 = D;
}
ուշացում (500);
եթե (d1 == L && d2 == U && d3 == L && d4 == R) {// ================= Խմբագրել ծածկագիրը ====== =================
lcd. հստակ (); // Այս բաժինը այն է, որտեղ դուք կարող եք գաղտնաբառը խմբագրել ջոյսթիքով
lcd.setCursor (2, 0); // գաղտնաբառը դրված է ձախ, վերև ձախ, աջ: Եթե ուզում ես փոխվել
lcd.print («Մուտքը տրված է»); // այն, L- ի ձախ կողմում, R- ի աջ կողմում, U- ի վերևում կամ D- ի ներքևում դրեք ցանկացածում
lcd.setCursor (2, 1); // 4 բաժին տառով `== նշաններից հետո:
lcd.print («Գզրոցը բացված է»);
lcd.setCursor (2, 2);
lcd.print («Ավարտելուց հետո տեղափոխիր»);
lcd.setCursor (1, 3);
lcd.print («ջոյսթիք ՝ վերաբեռնելու համար»);
servo.write (90);
իսկ (analogRead (A2)> = 100 &&
analogRead (A2) <= 670 &&
analogRead (A3)> = 100 &&
analogRead (A3) <= 670);
servo.write (170);
lcd.setCursor (3, 0);
lcd.print («Գզրոցը կողպված է»);
ուշացում (3000);
resetFunc ();
} ուրիշ {
lcd. հստակ ();
lcd.setCursor (2, 0);
lcd.print ("ՄՈՏՔԸ ENԱՆENՎԱ !!! Է !!!");
lcd.setCursor (0, 2);
lcd.print («Համակարգի վերագործարկում …»);
ուշացում (3000);
resetFunc ();
}
} ուրիշ {
lcd. հստակ ();
lcd.setCursor (2, 0);
lcd.print ("ՄՈՏՔԸ ENԱՆENՎԱ !!! Է !!!");
lcd.setCursor (0, 2);
lcd.print («Համակարգի վերագործարկում …»);
ուշացում (3000);
resetFunc ();
}
} ուրիշ {
lcd. հստակ ();
lcd.setCursor (2, 0);
lcd.print ("ՄՈՏՔԸ ENԱՆENՎԱ !!! Է !!!");
lcd.setCursor (0, 2);
lcd.print («Համակարգի վերագործարկում …»);
ուշացում (3000);
resetFunc ();
}
վերադարձի մատը. FingerID; }
Քայլ 6: Ավարտեք
Մի բան, որ ես մոռացա ասել ձեզ, լավ 2 բան այն է, որ ես սա կառուցել եմ նկարելուց առաջ, այնպես որ ես չէի կարող ձեզ ցույց տալ, թե ինչպես եմ կառուցել տուփը: Մյուսն այն է, որ խորհուրդ է տրվում պտուտակավորել սերվոյի հատվածը պտտվող մասի վրա: Եթե դա չեք անում, ինչ -որ մեկը կարող է քաշել դարակը կողպված վիճակում և հանել կտորը: Բայց նախքան այն պտուտակելը, գտեք այն ճիշտ տեղը, որտեղ պետք է այն դնել, քանի որ սերվոն շրջվում է որոշակի աստիճանի: Կամ պարզապես կարող եք փոխել այն ծածկագրում: Եթե էլեկտրոնիկայի որոշ տեսակներ ծիծաղելի են գործում, գուցե ցանկանաք նրանցից ոմանց համար 5V լարման այլ տարբերակ գտնել: Ես նկատեցի, երբ մատնահետքի սկաներիս առկայծումը փայլեց, էկրանը փոքր -ինչ կփայլեր դրա հետ, և սերվոն աղմուկ կբարձրացներ: Երբ servo- ն շարժվում էր, էկրանը մթագնում էր: Հուսով եմ, որ ձեզ դուր եկավ նախագիծը: Եթե ունեք հարցեր, թողեք դրանք մեկնաբանություններում: Ես շատ հրահանգների չեմ ենթարկվում, բայց կպատասխանեմ դրանց, որքան հնարավոր է շուտ:
Խորհուրդ ենք տալիս:
B-Safe, շարժական անվտանգ. 8 քայլ (նկարներով)

B-Safe, Portable Safe: *** 2019 թվականի սեպտեմբերի 4-ին. Ես վերբեռնեցի տուփի նոր 3D ֆայլ: Թվում էր, թե կողպեքս 10 մմ -ով չափազանց բարձր էր լավ փակման համար: Դուք ցանկանում եք լողափ գնալ: Քանի որ չեք
Wearable Tech Final Project - DJ սաղավարտ. 6 քայլ

Wearable Tech Final Project - DJ սաղավարտ. Այս նախագծի նպատակն է դարձնել DJ սաղավարտ ՝ լուսադիոդներով, որոնք արձագանքում են երաժշտությանը ՝ շոուի և wow գործոնի համար: Մենք օգտագործում ենք հասցեավորվող LED ժապավեն Amazon.com- ից, ինչպես նաև մոտոցիկլետի սաղավարտ, Arduino uno և մետաղալար
Arduino- ի վրա հիմնված թվային SAFE BOX: 10 քայլ

Arduino- ի վրա հիմնված թվային անվտանգ տուփ. Ունե՞ք ինչ -որ բան, որը ցանկանում եք ապահով պահել: Ինչ -որ բան, որը պետք է հեռու պահել անցանկալի ներխուժողներից և գաղտնիությունը զավթողներից: Դե, ես ձեր խնդրի լուծումն ունեմ: Ահա Arduino- ի վրա հիմնված կողպեքի անվտանգ արկղ
Swiss Tech Ipod պատյան ՝ 5 քայլ

Շվեյցարական Tech Ipod պատյան
8 Track Walkman-Pod Thing (Retro-tech). 7 քայլ (նկարներով)

8 Track Walkman-Pod Thing (Retro-tech). Սա, անշուշտ, խելագար նախագիծ է ՝ տեսնելու, թե ինչ կարող էր պատահել, եթե Sony- ն ավելի շուտ հորիներ Walkman- ը, և այն հասցներ այնպես, որ դրա համար անհրաժեշտ էր 8 ժապավենային փամփուշտ (որոնք գալիս էին ձայներիզից առաջ ժապավեններ են հորինվել): Այլ կերպ ասած, կարո՞ղ եմ կատարել