Arduino – это микроконтроллер. Он позиционируется как конструктор для любителей электроники. Предназначен для использования и новичками, и профессионалами. При его применении не нужно обладать специальным техническим образованием. А лицензия открыта для свободного воспроизведения копий. Поэтому данное устройство обрело широкую популярность в разных странах мира. Кстати, в своих проектах данную платформу используют даже дети.
Давайте разберемся, что это за электронный гаджет, и где его может применить автолюбитель. Но для начала хочется заметить, что моделей под названием «Arduino» много, но они отличаются незначительно: размерами, количеством входов и выходов, видами разъемов. В данной статье хочется рассказать о модификации «Arduino UNO», так как именно для этого микроконтроллера в глобальной сети существует много примеров, что облегчит реализацию собственных идей любому начинающему.
Устройство из себя представляет плату, на которой расположены стабилизаторы напряжения, кнопка сброса, микроконтроллер для подключения USB, основной микроконтроллер ATmega328p, 2 интерфейса для подключения питания и шнура USB от принтера, 6 аналоговых, 16 цифровых и 8 выходов питания. Размер 7 х 5 см.
Чтобы начать работать с «Arduino UNO» вам потребуется компьютер и бесплатная программа ««Arduino» с официального сайта, которая поддерживает все самые популярные операционные системы. Конечно, нужно USB шнуром от принтера подключить микроконтроллер к компьютеру, запустить программу и установить драйвер (находится в папке с бесплатной программой с официального сайта). Если используется китайская копия, то тогда нужно посмотреть название дополнительного микроконтроллера на плате. Если это CH340 (чаще всего), то к нему драйвер можно без проблем найти на просторах Интернета. Всё. Устройство готово к программированию.
Языка программирования, который используется при работе с «Arduino UNO», не нужно бояться. Это только звучит страшно. На самом деле, любой, кто в школе хоть раз решал задачи на языке Pascal, без труда разберется с Wiring. Вообще, это набор команд, которые при загрузке на «Arduino UNO» автоматически будет компилироваться на язык C/CC++. Но не станем вдаваться в детали. Авторы платформы для того и упростили процесс программирования, чтобы людям не пришлось досконально изучать все нюансы. В крайнем случае можно найти среди своих знакомых того, кто увлекается компьютерными технологиями для того, чтобы разобраться с кодом. Однажды созданный код можно многократно использовать для создания подобных устройств в дальнейшем времени.
Для того, чтобы было все понятно, можно разобрать простой пример при конструировании дневных ходовых огней. Дело в том, что ПДД содержат условия работы ДХО. Например, автоматическое включение, автоматическое отключение при включении фар головного света или ПТФ, возможность полного отключения без применения специального инструмента. Согласитесь, что реализовать такую схему на аналоговых компонентах типа транзисторов и реле достаточно утомительно и не так увлекательно, как хотелось бы. И здесь может выручит микроконтроллер.
Давайте рассмотрим код программы (с комментариями), который подошел бы для решения нашей задачи из примеров с официального сайта Arduino с небольшой доработкой.
const int DHO=9; // переменной DHO (ДХО) присваивается значение 9
const int FARY=2; // переменной «ФАРЫ» присваивается значение – 2
const int KLIUCH=3; // переменной «КЛЮЧ» присваивается – 3
const int KNOPKA=4; // переменной «КНОПКА» присваивается – 4
void setup ( ) { // выполняется при включении микроконтроллера однократно
pinMode (DHO, OUTPUT); // цифровой порт 9 (DHO) назначается выходом
pinMode (FARY, INPUT); // 2 – назначается входом
pinMode (KLIUCH, INPUT); // 3 – назначается входом
pinMode (KNOPKA, INPUT); //4 – назначается входом
}
void loop ( ) { // цикл, повторяется бесконечное количество раз
if (digitalRead(KLIUCH) == HIGH && digitalRead(FARY) == LOW && digitalRead(KNOPKA) == LOW) // если (if) ключ (KLIUCH) включен (HIGH) и (&&) фары выключены (LOW) и кнопка в салоне выключена
{
digitalWrite(DHO, HIGH); // в случае истины на контакт 9 (DHO) подать 5 вольт
}
else // иначе
{
digitalWrite(DHO, LOW); // на ДХО подается 0 вольт
}
}
Таким образом, из кода видно, что микроконтроллер 1000 раз в секунду проверяет состояние ключа зажигания, фар и кнопки в салоне. При определенной комбинации условий микроконтроллер ДХО включает, а при другой – выключает, что будет соответствовать ГОСТу. Вручную включать ДХО было бы утомительно, не правда ли! И ничего в этом сверх сложного нет!
Теперь давайте рассмотрим способ подключения прошитого микроконтроллера в автомобиле.
На микроконтроллере находим интерфейс для подключения питания. Максимально можно подать 12 вольт (оптимально – 9 вольт). Но в бортовой сети автомобиля напряжение, обычно, выше. Поэтому питание подключаем через резистор (так как статья создавалась в сжатые сроки, то способ подбора резистора был опущен из текста, но в глобальной сети способы найти можно) так, чтобы на контроллер приходило около 9 вольт. На Arduino цифровой контакт 9 подключаем через транзистор (КТ315, не тестировался, предлагается гипотетически) подсоединяется к управляющей обмотке реле, которое будет включать и выключать ДХО. Цифровой контакт (ЦК) 2 через резистор (по принципу делителя напряжения будет подавать не более 5 вольт) подключаем к плюсовому проводу питания фар. ЦК 3 – через резистор к плюсовому проводу замка зажигания. ЦК 4 – к кнопке выключения ДХО в салоне. Монтируем микроконтроллер «Arduino UNO» там, где удобно. К работе устройство готово.
Конечно, для примера был выбран самый простой способ реализации огромного потенциала устройства «Arduino UNO». Это было сделано с целью облегчения понимания принципов работы микроконтроллера. Но, кроме ДХО, через этот девайс можно управлять климатом в салоне, можно подключить амперметр, который будет выполнять функцию датчика положения кузова в пространстве, можно собрать на базе платформы «Arduino UNO» бортовой компьютер или усилитель для сабвуфера с дистанционным управлением. В общем, способы воплощения идей могут быть ограничены только фантазией.
Ясно, что современные автомобили уже имеют набор умных функций по умолчанию с завода, и «ардуинщик» самое большое поле для деятельности найдет на старых автомобилях. Но вопрос защиты от угона остается актуальным даже для ультрасовременных автомобилей. Да, есть спутниковые системы, есть промышленные сигнализации. В этом и заключается их слабое место. Злоумышленник имеет возможность изучить принцип работы промышленных устройств для успешного взлома системы безопасности. А если система защиты от угона будет собрана на «Arduino UNO», то похититель машины столкнется с уникальной схемой защиты с неизвестной локацией микроконтроллера, что сделает угон вашего автомобиля для него почти невозможным. Например, можно сделать где-нибудь секретную кнопку, которая будет при определенной комбинации длительности сигналов включать через «Arduino UNO» топливный насос или что-нибудь в этом роде вплоть до кодового замка, который будет включать зажигание.
Цена вопроса – копия микроконтроллера стоит в районе 200 рублей на момент написания статьи. Датчики промышленного изготовления для данной платформы стоят в этих же пределах. В общем, получается рентабельно.
Автор надеется, что у него получилось пробудить интерес к Arduino у читателя. Спасибо за внимание к моей статье!