Përmbajtje:

Kuti e sigurt: 3 hapa
Kuti e sigurt: 3 hapa

Video: Kuti e sigurt: 3 hapa

Video: Kuti e sigurt: 3 hapa
Video: HAPA DOLLAPA - Kukulla per femije, by Studio "Çamarroket" 2024, Nëntor
Anonim
Kuti e sigurt
Kuti e sigurt
Kuti e sigurt
Kuti e sigurt
Kuti e sigurt
Kuti e sigurt

Ky është rezultati juaj përfundimtar pasi ta keni bashkuar dhe ngarkuar kodin.

Hapi 1: Gjërat që do t'ju nevojiten

Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten
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: