Përmbajtje:
Video: Kuti e sigurt: 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Ky është rezultati juaj përfundimtar pasi ta keni bashkuar dhe ngarkuar kodin.
Hapi 1: Gjërat që do t'ju nevojiten
Tela Jumper, rezistencë 220 OHM, Ekran LCD 16x2, Butona Push, Servo Motor, Breadboard, Arduino Uno.
Hapi 2: Kodi
James chinchay
#përfshi
#përfshi #përfshi
adresa int = 0; SaveTimer i gjatë statik i panënshkruar; SaveDelay e gjatë e panënshkruar statike = (30 * 1000);
char KODI [10] = "1234E"; char Str [10]; char CodeLength = 4; int Pos = 0; bool Unlocked; DisplayTimer i gjatë statik i panënshkruar; DisplayDelay e gjatë statike e panënshkruar = 200;
LiquidCrystal LCD (12, 11, 9, 8, 7, 6);
butoni intPin1 = 2; butoni intPin2 = 3; butoni intPin3 = 4; butoni intPin4 = 5;
int enterbutton = 10; int clearlockbutton = 13;
Servo myServo; // vendosja e programit konstrukt void setup () {
myServo.attach (A1);
int EEPROMCodeOK = e vërtetë; për (Pos = 0; Pos <= (Gjatësia e Kodit); Pos ++) {Rr [Pos] = EEPROM.lexo (Pos); nëse (! (strrchr ("1123456789", Rr [Pos]))) {// nuk është një kod i vlefshëm EEPROMCodeOK = false; }} Pos ++; Rr [Pos] = EEPROM.lexo (Pos); nëse (Str [CodeLength + 1]! = 'E') EEPROMCodeOK = false; if (EEPROMCodeOK) {Rr [KodiLength + 2] = '\ 0'; strncpy (KODI, Rr, Gjatësia e Kodit + 1); } ClearCode (); // vendosja e hyrjeve pinMode (butoniPin1, INPUT_PULLUP); pinMode (butoniPin2, INPUT_PULLUP); pinMode (butoniPin3, INPUT_PULLUP); pinMode (butoniPin4, INPUT_PULLUP);
pinMode (butoni i hyrjes, INPUT_PULLUP); pinMode (butoni i pastër, INPUT_PULLUP);
lcd.filloni (16, 2); lcd.setCursor (0, 0); // vendosja e mesazheve lcd.print ("Përshëndetje Z. Birch"); vonesa (2000); lcd.qartë (); lcd.setCursor (0, 0); // vendosja e kërkesës për fjalëkalimin lcd.print ("Fjalëkalimi:");
DisplayTimer = millis () + 200; }
lak void () {
Blloko ();
Pos = kufizoj (Pos, 0, CodeLength); // lexoni butonat int buttonState1 = digitalRead (buttonPin1); int buttonState2 = digitalRead (butoniPin2); int buttonState3 = digitalRead (butoniPin3); int buttonState4 = digitalRead (butoniPin4);
int clButtonState = digitalRead (çelësi i butonit); int enterButtonState = digitalRead (butoni i hyrjes);
lcd.setCursor (9, 0); // kërkesat për të aktivizuar nëse (buttonState1 == LOW) {Str [Pos] = '1'; Pos ++; Rr [Pos] = '\ 0'; vonesë (250); ndërsa (digitalRead (buttonPin1) == LOW);
}
tjetër nëse (buttonState2 == LOW) {Rr [Pos] = '2'; Pos ++; Rr [Pos] = '\ 0'; vonesë (250); ndërsa (digitalRead (buttonPin2) == LOW);
}
tjetër nëse (buttonState3 == LOW) {Rr [Pos] = '3'; Pos ++; Rr [Pos] = '\ 0'; vonesë (250); ndërsa (digitalRead (buttonPin3) == LOW); }
tjetër nëse (buttonState4 == LOW) {Rr [Pos] = '4'; Pos ++; Rr [Pos] = '\ 0'; vonesë (250); ndërsa (digitalRead (buttonPin4) == LOW);
} tjetër if (enterButtonState == LOW) {Str [Pos] = 'E'; Pos ++; Rr [Pos] = '\ 0'; vonesë (250); ndërsa (digitalRead (buttonPin1) == LOW); if (strcmp (Rr, KODI) == 0) {Shkyçur = e vërtetë; lcd.setCursor (0, 0); lcd.print ("Qasja është dhënë"); vonesa (2000); lcd.qartë (); lcd.print ("Hape"); } tjetër nëse (SaveTimer> millis () && (Pos + 1) == Gjatësia e Kodit) {
strcpy (KODI, Rr); për (Pos = 0; Pos <= (Gjatësia e Kodit+1); Pos ++) {EEPROM.shkruani (Pos, Rr [Pos]); } lcd.setCursor (0, 0); lcd.print ("Kodi i Ruajtjes:"); lcd.setCursor (0, 1); lcd.print (Rr);
Hape = e vërtetë; }
tjeter {
lcd.qartë (); lcd.print ("Qasja është refuzuar."); vonesa (2000); lcd.qartë (); lcd.print ("Fjalëkalimi:");
} // zhbllokimi i kodit gjatë (Unlocked) {Unlock (); nëse (digitalRead (pastrojeni butonin) == LOW) {vonesë (200); lcd.qartë (); lcd.print ("Mbyllur"); vonesa (2000); lcd.qartë (); Zhbllokuar = false; SaveTimer = millis () + 30000; }}
ClearCode ();
}
tjetër nëse (clButtonState == LOW) {vonesë (500);
ndërsa (clearlockbutton == LOW); nëse ((millis () - SaveTimer)> 4500) {
}
ClearCode ();
}
nëse ((e gjatë) (milis () - DisplayTimer)> = 0) {DisplayTimer += DisplayDelay; lcd.setCursor (9, 0); lcd.print (Rr); lcd.print ("");
} }
pavlefshme ClearCode () {
Pos = 0; Rr [Pos] = '\ 0'; lcd.setCursor (0, 0); lcd.print ("Fjalëkalimi:"); lcd.setCursor (0, 1); lcd.print ("");
}
zhbllokuar zhbllokimin () {
myServo.shkruaj (150);
} // butoni i kyçjes së programit void Lock () {
myServo.shkruaj (50);
}
Hapi 3:
kur bëhet gjithçka duhet të duket kështu.
Recommended:
Pema e Krishtlindjeve e sigurt: 6 hapa
Pema e Krishtlindjeve e Sigurt: Ky është Kompleti Fillues i Kompletit nga Elegoo me një Arduino Mega. Disa ditë më parë, Elegoo më dërgoi një çantë dhe më sfidoi të ndërtoja një projekt Krishtlindjesh me të. Ky komplet përfshin disa përbërës. Një Arduino Mega, servos, sensorë me ultratinguj, telekomandë
Talos, duke ju mbajtur të sigurt gjatë udhëtimit tuaj: 5 hapa
Talos, duke ju mbajtur të sigurt gjatë udhëtimit tuaj: Të qenit viktimë e ngacmimit gjatë udhëtimit është një gjë mjaft e zakonshme për shumë njerëz, veçanërisht gratë. Cilado qoftë vendi, marrja e transportit publik shpesh është e barabartë me të kuptuarit se mund të ngacmoheni seksualisht, apo edhe të ndiqeni gjatë ecjes në shtëpi. Në këto
Ndërtoni një vend të sigurt duke përdorur një Rpi: 12 hapa
Ndërtoni një Sigurt duke përdorur një Rpi: Dëshironi të mësoni se si ta konvertoni Raspberry pi tuaj në një kasafortë plotësisht funksionale? Pastaj ndiqni këtë hap 12 udhëzues për të mësuar se si. Kasaforta do të ketë një tastierë plotësisht funksionale dhe një sistem mbylljeje, kështu që ju mund t'i mbani gjërat tuaja të sigurta
HackerBox 0057: Mënyra e Sigurt: 9 Hapa
HackerBox 0057: Mënyra e Sigurt: Përshëndetje për HackerBox Hakerët në të gjithë botën! HackerBox 0057 sjell një fshat IoT, Wireless, Lockpicking, dhe natyrisht Hacking Hardware pikërisht në laboratorin tuaj të shtëpisë. Ne do të eksplorojmë programimin e mikrokontrolluesve, shfrytëzimet e IoT Wi-Fi, Bluetooth int
Më e Sigurt Mirë: Bërja e Stacioneve të Trenit më e Sigurt: 7 Hapa
Më e Sigurt Më Mirë: Bërja e Stacioneve të Trenit më e Sigurt: Shumë stacione trenash sot janë të pasigurt për shkak të mungesës së sigurisë, barrierave dhe paralajmërimit të trenit që vjen. Ne pamë një nevojë që kjo të rregullohet. Për të zgjidhur këtë problem, ne krijuam Safer Better. Ne përdorëm sensorë dridhjeje, sensorë lëvizjeje dhe