Надежная самодельная противоугонная блокировка стартера, ТНВД, бензонасоса, ЭБУ и пр.
на Ардуино с помощью ключей  iButton.


Данная блокировка предназначена для противоугона транспортных средств и спецтехники она блокирует цепь управления непосредственно на исполнительном устройстве в отличии от обычных блокировок которые разрывают цепь в районе установки сигнализации.
Так же снятие блокировки производится по цифровой шине данных что предотвращает отключение с помощью перемыкания проводов.
При установке блокировки требуется защита блокируемого устройства (сварка кожуха, замок капота и пр.) иначе противоугонные функции будут минимальны.


На рисунке схема блокировки установленной на стартер, если необходимо заблокировать например ТНВД то разрываем провод идущий на клапан отсечки.


На этом рисунке схема самой блокировки с Ардуино про мини в которой настроено считывание ключей  iButton и реле которое непосредственно управляет блокировкой.


Скетч для Ардуино, можно использовать любую Ардуино не только про мини.

#include <OneWire.h> // Подключаем библиотеку
OneWire  ds(2);    // Задаем пин для ключей
void setup(void) {  
   Serial.begin(9600); // скорость монитора порта (можно удалить)
   pinMode(3, OUTPUT); // 3 пин светодиод
   digitalWrite(3, HIGH); // 3 пин высокий уровень
   pinMode(9, OUTPUT); // 9 пин транзистор
   digitalWrite(9, LOW); // 9 пин низкий уровень
}
void loop(void) {
  byte key1[8] = {0x1, 0x94, 0x7B, 0x81, 0xB, 0x0, 0x0, 0xDA}; // 1 ключ
  byte key2[8] = {0x1, 0xC6, 0x58, 0x1, 0xB, 0x0, 0x0, 0xF5};  // 2 ключ
  byte key3[8] = {0x1, 0xC6, 0x57, 0x1, 0xB, 0x0, 0x0, 0xF5};  // 3 ключ
  byte addr[8];
  byte val1 = 0; // 1 ключ
  byte val2 = 0; // 2 ключ
  byte val3 = 0; // 3 ключ
  
  if (ds.search(addr)) {    // поиск ключа
      for (int i = 0; i < 8; i++){
        Serial.print(addr[i], HEX); // Пишем ключ для монитора порта (можно удалить)
        Serial.print(" "); // пробел после бита для монитора порта (можно удалить)
         
        if (addr[i] == key1[i]) val1++; // 1 ключ                
        if (addr[i] == key2[i]) val2++; // 2 ключ
        if (addr[i] == key3[i]) val3++; // 3 ключ
        }
        Serial.println(); // перевод строки для монитора порта (можно удалить)
      if (val1 == 8) { // Если видим 1 ключ
       digitalWrite(3, LOW); // на 3 пине устанавливаем низкий уровень
       digitalWrite(9, HIGH);  // на 9  пине устанавливаем высокий уровень
     }
        if (val2 == 8) { // Если видим 2 ключ
       digitalWrite(3, LOW); // на 3 пине устанавливаем низкий уровень
       digitalWrite(9, HIGH);  // на 9  пине устанавливаем высокий уровень
               delay(5000);  // задержка 5 секунд нужно поставить побольше
         digitalWrite(3, HIGH); // на 3 пине устанавливаем высокий уровень
       digitalWrite(9, LOW);  // на 9  пине устанавливаем высокий уровень
     
     }
           if (val3 == 8) { // Если видим 3 ключ
       digitalWrite(3, LOW); // на 3 пине устанавливаем низкий уровень
       digitalWrite(9, HIGH);  // на 9  пине устанавливаем высокий уровень
     }
  ds.reset_search();   // сброс поиска
  }  
}



Видео про данную блокировку на моем канале ютуб "Автоэлектрика онлайн"




Ссылка на прошивку, схемы и библиотеку https://disk.yandex.ru/d/EScYdFNOrqqAGQ


























Комментарии