Мазмұны:

Қауіпсіз қорап: 3 қадам
Қауіпсіз қорап: 3 қадам

Бейне: Қауіпсіз қорап: 3 қадам

Бейне: Қауіпсіз қорап: 3 қадам
Бейне: Қыздармен Қалай Сөйлесу керек? | Осы 3 Қадам и Қыздар Сені Қалайтын болады 2024, Қараша
Anonim
Қауіпсіз қорап
Қауіпсіз қорап
Қауіпсіз қорап
Қауіпсіз қорап
Қауіпсіз қорап
Қауіпсіз қорап

Бұл сіздің соңғы нәтиже, оны біріктіріп, кодты жүктегеннен кейін болуы керек.

1 -қадам: Сізге қажет нәрселер

Сізге қажет болатын заттар
Сізге қажет болатын заттар
Сізге қажет болатын заттар
Сізге қажет болатын заттар
Сізге қажет болатын заттар
Сізге қажет болатын заттар
Сізге қажет болатын заттар
Сізге қажет болатын заттар

Jumper Wires, 220 OHM резисторы, 16x2 СКД экраны, басу түймелері, Servo Motor, Breadboard, Arduino Uno.

2 -қадам: код

Джеймс Чинчай

#қосу

#қосу #қосу

int адресі = 0; статикалық белгісіз ұзақ SaveTimer; статикалық белгісіз ұзақ SaveDelay = (30 * 1000);

char CODE [10] = «1234E»; char Str [10]; char CodeLength = 4; int Pos = 0; bool Unlocked; статикалық белгісіз ұзын DisplayTimer; статикалық белгісіз ұзын DisplayDelay = 200;

LiquidCrystal lcd (12, 11, 9, 8, 7, 6);

int buttonPin1 = 2; int buttonPin2 = 3; int buttonPin3 = 4; int buttonPin4 = 5;

int enterbutton = 10; int clearlockbutton = 13;

Сервис myServo; // құрылымдық бағдарламаны орнату void setup () {

myServo.attach (A1);

int EEPROMCodeOK = ақиқат; for (Pos = 0; Pos <= (CodeLength); Pos ++) {Str [Pos] = EEPROM.read (Pos); if (! (strrchr («1123456789», Str [Pos]))) {// жарамды код емес EEPROMCodeOK = false; }} Pos ++; Str [Pos] = EEPROM.read (Pos); if (Str [CodeLength + 1]! = 'E') EEPROMCodeOK = жалған; if (EEPROMCodeOK) {Str [CodeLength + 2] = '\ 0'; strncpy (CODE, Str, CodeLength + 1); } ClearCode (); // pinMode кірістерін реттеу (buttonPin1, INPUT_PULLUP); pinMode (buttonPin2, INPUT_PULLUP); pinMode (buttonPin3, INPUT_PULLUP); pinMode (buttonPin4, INPUT_PULLUP);

pinMode (enterbutton, INPUT_PULLUP); pinMode (clearlockbutton, INPUT_PULLUP);

lcd.begin (16, 2); lcd.setCursor (0, 0); // хабарланған lcd.print орнату («Сәлем Берч мырза»); кешіктіру (2000); lcd.clear (); lcd.setCursor (0, 0); // lcd.print паролін сұрауды орнату («Құпия сөз:»);

DisplayTimer = millis () + 200; }

void loop () {

Құлыптау ();

Pos = шектеу (Pos, 0, CodeLength); // оқу түймелері 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); // іске қосылатын талаптар, егер (buttonState1 == LOW) {Str [Pos] = '1'; Pos ++; Str [Pos] = '\ 0'; кешіктіру (250); while (digitalRead (buttonPin1) == LOW);

}

else if (buttonState2 == LOW) {Str [Pos] = '2'; Pos ++; Str [Pos] = '\ 0'; кешіктіру (250); while (digitalRead (buttonPin2) == LOW);

}

else if (buttonState3 == LOW) {Str [Pos] = '3'; Pos ++; Str [Pos] = '\ 0'; кешіктіру (250); while (digitalRead (buttonPin3) == LOW); }

else if (buttonState4 == LOW) {Str [Pos] = '4'; Pos ++; Str [Pos] = '\ 0'; кешіктіру (250); while (digitalRead (buttonPin4) == LOW);

} else if (enterButtonState == LOW) {Str [Pos] = 'E'; Pos ++; Str [Pos] = '\ 0'; кешіктіру (250); while (digitalRead (buttonPin1) == LOW); if (strcmp (Str, CODE) == 0) {Unlocked = true; lcd.setCursor (0, 0); lcd.print («Қол жеткізуге рұқсат етілген»); кешіктіру (2000); lcd.clear (); lcd.print («Құлыпталмаған»); } else if (SaveTimer> millis () && (Pos + 1) == CodeLength) {

strcpy (CODE, Str); for (Pos = 0; Pos <= (CodeLength+1); Pos ++) {EEPROM.write (Pos, Str [Pos]); } lcd.setCursor (0, 0); lcd.print («Сақтау коды:»); lcd.setCursor (0, 1); lcd.print (Str);

Құлпы ашылған = ақиқат; }

басқа {

lcd.clear (); lcd.print («Қол жеткізуге тыйым салынған.»); кешіктіру (2000); lcd.clear (); lcd.print («Құпия сөз:»);

} // құлыптан босату коды (құлпы ашылғанда) {құлпын ашу (); if (digitalRead (clearlockbutton) == LOW) {кешіктіру (200); lcd.clear (); lcd.print («Құлыптаулы»); кешіктіру (2000); lcd.clear (); Құлпы ашылған = жалған; SaveTimer = millis () + 30000; }}

ClearCode ();

}

else if (clButtonState == LOW) {delay (500);

while (clearlockbutton == LOW); егер ((миллис () - SaveTimer)> 4500) {

}

ClearCode ();

}

if ((long) (millis () - DisplayTimer)> = 0) {DisplayTimer += DisplayDelay; lcd.setCursor (9, 0); lcd.print (Str); lcd.print («»);

} }

жарамсыз ClearCode () {

Pos = 0; Str [Pos] = '\ 0'; lcd.setCursor (0, 0); lcd.print («Құпия сөз:»); lcd.setCursor (0, 1); lcd.print («»);

}

void Unlock () {

myServo.write (150);

} // бағдарламаны құлыптау түймесі void Lock () {

myServo.write (50);

}

3 -қадам:

бәрін жасаған кезде ол осылай көрінуі керек.

Ұсынылған: