 	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) {
+	if ((!alarm_state) && (system_state == 1)) {
 		alarm_state	= true;
 
 		for (int	i = 0; i < BIP_DELAY; i++) {

		lastturn	= millis();														// Запомнить время последнего оборота
		distance	= distance + WHEEL_LENGTH / 1000;								// Прибавляем длину колеса к дистанции при каждом обороте
	}
}

LiquidCrystal_I2C lcd(0x27,16,2);	// Инициализация дисплея (адрес, количество символов, количество строк)

struct sys_conf {
	byte	password[4],
			param1,
			param2,
			param3;

	float	distance,
			max_speed;
};

/*Системные макросы*/
#define BUTTON_PRESS	LOW

/*Стандартные значения*/
#define WHEEL_LENGTH	2.050	// Длина окружности колеса в метрах
#define BIP_DELAY		4		// Сколько итераций пищать (* 500 / 10000)

/*Цифровые выводы*/
#define BIP				4
#define BUTTON_OK		4
#define BUTTON_LEFT		4
#define BUTTON_RIGHT	4

/*Аналоговые выводы*/


bool			alarm_state = false;	// Для сигнализации

