Mundarija:
Video: Xavfsiz quti: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Bu sizning yakuniy natijangiz, uni birlashtirish va kodni yuklashdan keyin bo'lishi kerak.
1 -qadam: Sizga kerak bo'lgan narsalar
Jumper simlari, 220 OHM qarshilik, 16x2 LCD displey, tugmachalar, Servo dvigateli, breadboard, Arduino Uno.
2 -qadam: kod
Jeyms Chinchay
#qo'shing
#qo'shing #qo'shing
int manzili = 0; statik imzosiz uzoq SaveTimer; statik belgisiz uzun SaveDelay = (30 * 1000);
char kodi [10] = "1234E"; char Str [10]; char CodeLength = 4; int Pos = 0; bool qulfdan chiqarilgan; statik belgisiz uzun DisplayTimer; statik belgisiz uzun DisplayDelay = 200;
LiquidCrystal lcd (12, 11, 9, 8, 7, 6);
int tugmasiPin1 = 2; int tugmasiPin2 = 3; int tugmasiPin3 = 4; int tugmasiPin4 = 5;
int enterbutton = 10; int clearlockbutton = 13;
MyServo xizmat ko'rsatish; // tuzilish dasturini sozlash void setup () {
myServo.attach (A1);
int EEPROMCodeOK = rost; uchun (Pos = 0; Pos <= (CodeLength); Pos ++) {Str [Pos] = EEPROM.read (Pos); if (! (strrchr ("1123456789", Str [Pos]))) {// haqiqiy kod emas EEPROMCodeOK = false; }} Pos ++; Str [Pos] = EEPROM.read (Pos); if (Str [CodeLength + 1]! = 'E') EEPROMCodeOK = noto'g'ri; if (EEPROMCodeOK) {Str [CodeLength + 2] = '\ 0'; strncpy (CODE, Str, CodeLength + 1); } ClearCode (); // pinMode kirishini sozlash (buttonPin1, INPUT_PULLUP); pinMod (tugmaPin2, INPUT_PULLUP); pinMod (tugmaPin3, INPUT_PULLUP); pinMod (tugmaPin4, INPUT_PULLUP);
pinMode (kiritish tugmasi, INPUT_PULLUP); pinMod (o'chirish tugmasi, INPUT_PULLUP);
lcd.begin (16, 2); lcd.setCursor (0, 0); // xabar yuborilgan lcd.print -ni sozlash ("Salom janob Birch"); kechikish (2000); lcd.clear (); lcd.setCursor (0, 0); // lcd.print parolini so'rashni sozlash ("Parol:");
DisplayTimer = millis () + 200; }
void loop () {
Qulf ();
Pos = cheklash (Pos, 0, CodeLength); // o'qish tugmalari int buttonState1 = digitalRead (buttonPin1); int buttonState2 = digitalRead (buttonPin2); int buttonState3 = digitalRead (buttonPin3); int buttonState4 = digitalRead (buttonPin4);
int clButtonState = digitalRead (clearlockbutton); int enterButtonState = digitalRead (enterbutton);
lcd.setCursor (9, 0); // faollashtirish talablari, agar (buttonState1 == LOW) {Str [Pos] = '1'; Pos ++; Str [Pos] = '\ 0'; kechikish (250); while (digitalRead (buttonPin1) == LOW);
}
else if (buttonState2 == LOW) {Str [Pos] = '2'; Pos ++; Str [Pos] = '\ 0'; kechikish (250); while (digitalRead (buttonPin2) == LOW);
}
else if (buttonState3 == LOW) {Str [Pos] = '3'; Pos ++; Str [Pos] = '\ 0'; kechikish (250); while (digitalRead (buttonPin3) == LOW); }
else if (buttonState4 == LOW) {Str [Pos] = '4'; Pos ++; Str [Pos] = '\ 0'; kechikish (250); while (digitalRead (buttonPin4) == LOW);
} if if (enterButtonState == LOW) {Str [Pos] = 'E'; Pos ++; Str [Pos] = '\ 0'; kechikish (250); while (digitalRead (buttonPin1) == LOW); if (strcmp (Str, CODE) == 0) {Unlocked = true; lcd.setCursor (0, 0); lcd.print ("Kirish huquqi berilgan"); kechikish (2000); lcd.clear (); lcd.print ("Qulfdan chiqarilgan"); } if if (SaveTimer> millis () && (Pos + 1) == CodeLength) {
strcpy (KOD, Str); uchun (Pos = 0; Pos <= (CodeLength+1); Pos ++) {EEPROM.write (Pos, Str [Pos]); } lcd.setCursor (0, 0); lcd.print ("Saqlash kodi:"); lcd.setCursor (0, 1); lcd.print (Str);
Qulfdan chiqarilgan = rost; }
boshqa {
lcd.clear (); lcd.print ("Kirish taqiqlangan."); kechikish (2000); lcd.clear (); lcd.print ("Parol:");
} // qulfni ochish paytida kod (qulfdan chiqarilgan) {Qulfni ochish (); if (digitalRead (clearlockbutton) == LOW) {kechiktirish (200); lcd.clear (); lcd.print ("Qulflangan"); kechikish (2000); lcd.clear (); Qulfdan chiqarilgan = noto'g'ri; SaveTimer = millis () + 30000; }}
ClearCode ();
}
else if (clButtonState == LOW) {kechiktirish (500);
while (clearlockbutton == LOW); agar ((millis () - SaveTimer)> 4500) {
}
ClearCode ();
}
if ((uzun) (millis () - DisplayTimer)> = 0) {DisplayTimer += DisplayDelay; lcd.setCursor (9, 0); lcd.print (Str); lcd.print ("");
} }
void ClearCode () {
Pos = 0; Str [Pos] = '\ 0'; lcd.setCursor (0, 0); lcd.print ("Parol:"); lcd.setCursor (0, 1); lcd.print ("");
}
bo'sh qulfni ochish () {
myServo.write (150);
} // dasturni qulflash tugmasi void Lock () {
myServo.write (50);
}
3 -qadam:
hamma narsa bajarilgach, shunday ko'rinishi kerak.
Tavsiya:
Xavfsiz Rojdestvo daraxti: 6 qadam
Xavfsiz Rojdestvo daraxti: Bu Elegoo kompaniyasining Arduino Mega bilan to'liq boshlang'ich to'plami. Bir necha kun oldin Elegoo menga to'plam yubordi va u bilan Rojdestvo loyihasini qurishga da'vat qildi. Ushbu to'plam bir nechta komponentlarni o'z ichiga oladi. Arduino Mega, servo, ultratovush sensorlar, masofadan boshqarish
Xavfsiz qulf qutisi: 7 qadam
Xavfsiz Lockbox: Bu ko'rsatma Janubiy Florida Universitetining Makecourse loyihasi talablarini bajarish uchun yaratilgan (www.makecourse.com) Salom! Sizda saqlamoqchi bo'lgan, lekin unchalik ishonchli bo'lmagan qimmatbaho buyumlaringiz bormi?
Talos, sayohat paytida sizni xavfsiz saqlaydi: 5 qadam
Talos, yurish paytida sizni xavfsiz saqlaydi: Qatnov paytida tazyiq qurboni bo'lish ko'p odamlar, ayniqsa ayollar uchun odatiy holdir. Qaysi mamlakatda bo'lishidan qat'i nazar, jamoat transportida sayohat qilish sizni jinsiy zo'ravonlikka olib kelishi yoki hatto uyga ketayotganingizda kuzatib qo'yishi mumkinligini biladi. Ularda
Arduino asosidagi raqamli XAVFSIZ QUTI: 10 qadam
Arduino asosidagi raqamli XAVFSIZ QUTI: Salom bolalar! Xavfsiz saqlamoqchi bo'lgan narsangiz bormi? Keraksiz tajovuzkorlardan va shaxsiy hayotga tajovuzkorlardan saqlanish kerak bo'lgan narsa? Xo'sh, men sizning muammoingizni hal qila olaman! Mana, Arduino -ga asoslangan seyfli quti
Telefon va gadjetni qanday xavfsiz va xavfsiz saqlash kerak: 4 qadam
Telefoningiz va gadjetingizni qanday himoyalash va himoya qilish kerak: deyarli hamma narsani yo'qotgan odamdan (albatta, bo'rttirib aytilgan) .Shunday qilib, tan olish vaqti, mening oldingi gapimda aytilganidek, men juda ahmoqman. Agar menga biror narsa bog'lanmagan bo'lsa, men uni noto'g'ri joyiga qo'yib yuborishim mumkin, bir joyda unutishim mumkin