Daftar Isi:

Kotak Aman: 3 Langkah
Kotak Aman: 3 Langkah

Video: Kotak Aman: 3 Langkah

Video: Kotak Aman: 3 Langkah
Video: Криолиполиз Clatuu 2024, November
Anonim
Kotak pengaman
Kotak pengaman
Kotak pengaman
Kotak pengaman
Kotak pengaman
Kotak pengaman

Inilah hasil akhirnya Anda setelah menyatukannya dan mengunggah kode.

Langkah 1: Hal-hal yang Anda Butuhkan

Hal yang Anda Butuhkan
Hal yang Anda Butuhkan
Hal yang Anda Butuhkan
Hal yang Anda Butuhkan
Hal yang Anda Butuhkan
Hal yang Anda Butuhkan
Hal yang Anda Butuhkan
Hal yang Anda Butuhkan

Kabel Jumper, resistor 220 OHM, Layar LCD 16x2, Tombol Tekan, Motor Servo, Breadboard, Arduino Uno.

Langkah 2: Kode

James chinchay

#termasuk

#sertakan #sertakan

int alamat = 0; SaveTimer panjang yang tidak ditandatangani statis; static unsigned long SaveDelay = (30 * 1000);

char KODE[10] = "1234E"; karakter Str[10]; panjang Kode karakter = 4; int Pos = 0; bool Tidak Terkunci; DisplayTimer panjang yang tidak ditandatangani statis; DisplayDelay panjang yang tidak ditandatangani statis = 200;

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

int tombolPin1 = 2; int tombolPin2 = 3; int tombolPin3 = 4; int tombolPin4 = 5;

int tombol enter = 10; int clearlockbutton = 13;

Servo myServo; //menyiapkan program konstruk void setup() {

myServo.attach(A1);

int EEPROMCodeOK = benar; for (Pos = 0; Pos <= (Panjang Kode); Pos++) { Str[Pos] = EEPROM.read(Pos); if (!(strrchr("1123456789", Str[Pos]))) { // bukan kode yang valid EEPROMCodeOK = false; } } Pos++; Str[Pos] = EEPROM.read(Pos); if (Str[CodeLength + 1] != 'E') EEPROMCodeOK = false; if (EEPROMCodeOK) { Str[Panjang Kode + 2] = '\0'; strncpy(KODE, Str, Panjang Kode + 1); } ClearCode(); // mengatur input pinMode(buttonPin1, INPUT_PULLUP); pinMode(buttonPin2, INPUT_PULLUP); pinMode(buttonPin3, INPUT_PULLUP); pinMode(buttonPin4, INPUT_PULLUP);

pinMode(tombol enter, INPUT_PULLUP); pinMode(tombol clearlock, INPUT_PULLUP);

lcd.begin(16, 2); lcd.setCursor(0, 0); //set up lcd.print("Halo Mr Birch"); penundaan(2000); lcd.clear(); lcd.setCursor(0, 0); //set up prompt password lcd.print("Password:");

DisplayTimer = milis() + 200; }

lingkaran kosong() {

Kunci();

Pos = kendala(Pos, 0, CodeLength); // tombol baca int buttonState1 = digitalRead(buttonPin1); int buttonState2 = digitalRead(buttonPin2); int buttonState3 = digitalRead(buttonPin3); int buttonState4 = digitalRead(buttonPin4);

int clButtonState = digitalRead(tombol hapus); int enterButtonState = digitalRead(enterbutton);

lcd.setCursor(9, 0); //persyaratan untuk mengaktifkan if (buttonState1 == LOW) { Str[Pos] = '1'; Pos++; Str[Pos] = '\0'; penundaan (250); while (digitalRead(buttonPin1) == RENDAH);

}

else if (buttonState2 == LOW) { Str[Pos] = '2'; Pos++; Str[Pos] = '\0'; penundaan (250); while (digitalRead(buttonPin2) == RENDAH);

}

else if (buttonState3 == LOW) { Str[Pos] = '3'; Pos++; Str[Pos] = '\0'; penundaan (250); while (digitalRead(buttonPin3) == RENDAH); }

else if (buttonState4 == LOW) { Str[Pos] = '4'; Pos++; Str[Pos] = '\0'; penundaan (250); while (digitalRead(buttonPin4) == RENDAH);

} else if (enterButtonState == LOW) { Str[Pos] = 'E'; Pos++; Str[Pos] = '\0'; penundaan (250); while (digitalRead(buttonPin1) == RENDAH); if (strcmp (Str, KODE) == 0) { Tidak terkunci = benar; lcd.setCursor(0, 0); lcd.print("Akses Diberikan"); penundaan(2000); lcd.clear(); lcd.print("Tidak Terkunci"); } else if (SaveTimer > milis() && (Pos + 1) == CodeLength) {

strcpy(KODE, Str); for (Pos = 0; Pos <= (Panjang Kode + 1); Pos++) { EEPROM.write(Pos, Str[Pos]); } lcd.setCursor(0, 0); lcd.print("Menyimpan Kode:"); lcd.setCursor(0, 1); lcd.print(Str);

Tidak terkunci = benar; }

lain {

lcd.clear(); lcd.print("Akses Ditolak."); penundaan(2000); lcd.clear(); lcd.print("Password:");

} //membuka kode saat (Tidak terkunci) { Unlock(); if (digitalRead(tombol clear) == RENDAH) { delay(200); lcd.clear(); lcd.print("Terkunci"); penundaan(2000); lcd.clear(); Tidak terkunci = salah; SaveTimer = milis() + 30000; } }

HapusKode();

}

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

while (tombol clearlock == RENDAH); if ((milis() - SaveTimer) > 4500) {

}

HapusKode();

}

if ((panjang)(milis() - DisplayTimer) >= 0) { DisplayTimer += DisplayDelay; lcd.setCursor(9, 0); lcd.print(Str); lcd.print("");

} }

batal ClearCode() {

Pos = 0; Str[Pos] = '\0'; lcd.setCursor(0, 0); lcd.print("Password:"); lcd.setCursor(0, 1); lcd.print("");

}

batal Buka () {

myServo.write(150);

} //tombol pengunci program void Lock() {

myServo.write(50);

}

Langkah 3:

ketika dilakukan semuanya akan terlihat seperti ini.

Direkomendasikan: