 
 		key_pressed_ok	= true;
 
-		switch (key_pressed()) {
-
-			case BUTTON_OK:		return selected;
-								break;
-
-			case BUTTON_LEFT:	if (selected != 0) {
-									if (selected == on_display) {
-										lcd.clear();
-										on_display	-= 2;
-									}
-
-									selected--;
-								}
-								break;
-
-			case BUTTON_RIGHT:	if (selected < all_element - 1) {
-									if (selected == (on_display + 1)) {
-										lcd.clear();
-										on_display	+= 2;
-									}
-
-									selected++;
-								}
-								break;
-
-			default:			key_pressed_ok	= false;
-								break;
-		}
-	}
-}
-
-void setup() {
-	#ifdef DEBUG
-	Serial.begin(9600);
-	#endif
-
-	/*Инициализация дисплея*/
-	lcd.begin();
-	// lcd.backlight();
-
-	/*Инициализация выводов для сигнала*/
-	pinMode(BIP, OUTPUT);
-	digitalWrite(BIP, LOW);
-
-	/*Прерывание на 2-ом цифровом канале для сигнализации*/
-	attachInterrupt(0, alarm, CHANGE);
-
-	/*Прерывание на 3-ем цифровом канале для подсчёта скорости*/
-	attachInterrupt(1, speed, CHANGE);
-
-	lcd.createChar(0, bat_icon);
-
-	#ifdef FIRST_ON
-	sys_conf load_to_eeprom;
-
-	load_to_eeprom.password[0]		= 1;
-	load_to_eeprom.password[1]		= 2;
-	load_to_eeprom.password[2]		= 3;
-	load_to_eeprom.password[3]		= 4;
-	load_to_eeprom.red_speed		= true;
-	load_to_eeprom.time_to_slpeep	= 5;
-	load_to_eeprom.auto_led			= true;
-	load_to_eeprom.auto_headlights	= true;
-	load_to_eeprom.distance			= 0.0;
-	load_to_eeprom.max_speed		= 0.0;
-
-	WriteSysConfEEPROM(load_to_eeprom, 0);
-	lcd.print("All OK!");
-	#endif
-}
-
-void WriteSysConfEEPROM(sys_conf str, int base) {	// Запись и чтение выполнены великолепным программистом Виктором Охотниковым
+		key_now = key_pressed();
+		Serial.print("key_now: ");
+		Serial.println(key_now);
+
+		if (key_now == btc_config.BUTTON_OK) {
+			return selected;
+		} else if (key_now == btc_config.BUTTON_UP) {
+			if (selected != 0) {
+				if (selected == on_display) {
+					lcd.clear();
+					on_display	-= 2;
+				}
+
+				selected--;
+			}
+		} else if (key_now == btc_config.BUTTON_DOWN) {
+			if (selected < all_element - 1) {
+				if (selected == (on_display + 1)) {
+					lcd.clear();
+					on_display	+= 2;
+				}
+
+				selected++;
+			}
+		} else {
+			key_pressed_ok	= false;
+		}
+	}
+}
+
+void WriteSysConfEEPROM(sys_conf str, int base) { // Запись и чтение выполнены великолепным программистом Виктором Охотниковым
 	char	*c;
-	int		structSize = sizeof(sys_conf);
-
-	c	= (char *) &str;
+	int	 structSize = sizeof(sys_conf);
+
+	c = (char *) &str;
 
 	for(int i = 0; i < structSize; i++) {
 		EEPROM.write(i+base, *c);


void ReadSysConfEEPROM(sys_conf *str, int base) {
	char	*c;
	int		structSize = sizeof(sys_conf);

	c	= (char *) str;

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

}

bool read_password() {
	bool	wrong = false;

	lcd.clear();			// Очистка экрана
	lcd.print("Current password");
	
	lcd.setCursor(0, 1);	// Установка указателя в левый верхний угол
	lcd.print("Password: ");

	for (byte i = 0; i < 6; i++) {
		if (btc_config.password[i]	!= key_pressed()) {
			wrong = true;
		}

		lcd.print("*");
