 		lastturn	= millis();														// Запомнить время последнего оборота
 		distance	= distance + WHEEL_LENGTH / 1000;								// Прибавляем длину колеса к дистанции при каждом обороте
 	}
+}
+
+void input_password() {
+	lcd.clear();			// Очистка экрана
+	lcd.setCursor(0, 0);	// Установка указателя в левый верхний угол
+	lcd.print("Password:");
+	lcd.setCursor(9, 0);
+
+	for (byte	i	= 0; i < 4; i++) {
+		while ((digitalRead(BUTTON_OK) == BUTTON_PRESS) || (digitalRead(BUTTON_LEFT) == BUTTON_PRESS) || digitalRead(BUTTON_RIGHT) == BUTTON_PRESS);	// Ожидание нажатия любой кнопки
+
+		if (digitalRead(BUTTON_OK) == BUTTON_PRESS) {
+			password[i]	= BUTTON_OK;
+		} else if (digitalRead(BUTTON_LEFT) == BUTTON_PRESS) {
+			password[i]	= BUTTON_LEFT;
+		} else if (digitalRead(BUTTON_RIGHT) == BUTTON_PRESS) {
+			password[i]	= BUTTON_RIGHT;
+		}
+
+		lcd.setCursor(9 + i, 0);
+		lcd.print("*");
+	}
+
+	lcd.clear();
+	lcd.setCursor(0,0);
+	lcd.print("Complete!");
+	delay(2000);
 }
float			speed_now,	// Скорость
				distance;	// Расстояние


void setup() {
	#ifdef DEBUG

	attachInterrupt(1, speed, CHANGE);
}

void WriteSysConfEEPROM(sys_conf str) {
	char	*c;
	int		structSize	= sizeof(sys_conf);

	*c = &str;

	for(int	i	= 0; i < structSize; i++) {
		EEPROM.write(i+base, *c);
		c++;
	}
}

void loop() {
}

void alarm() {	// Сигнализация
	if ((!alarm_state) && (system_state == 1)) {
		alarm_state	= true;

		for (int	i = 0; i < BIP_DELAY; i++) {
