ARDUINO ПОМОЩЬ . Автозапуск для машины при использовании дешевого блока и кнопки старт-стоп

bAd

✩✩✩✩✩✩✩
10 Окт 2025
10
1
Оформи код соответствующим тэгом, см. Правила
Есть такая задача. Сделать не дорогой автозапуск для авто с простейшими элементами и с минимум вложений , чтобы был лишь автозапуск без лишнего геморроя и со всеми нужными функциями.
Что мы имеем ?
1. Сама сигнализация, стоимость её около 10у.е.( да ребят я из Беларуси=)
7cc6abas-960.jpg
2.Arduino nano
3.Огромное желание что то смастерить самому без знания основ программирования.

Наше ТЗ
1.Чтобы машина запускалась с задержкой после включения зажигания ( так как выходной сигнал на стартер с этого модуля около 1 секунды, наша задача выждать время для прогрева свечей в зимнее время или для срабатывания подкачивающих насосов и так далее)
2. Чтобы было отключение стартера поле того как машина завелась ( реализация такова что когда машина завелась на лампочку генератора приходит +12 Вольт, эти 12 вольт будут сигналом для отключения программы ардуино)
3. Чтобы задержка перед пуском была на разное время ( меня интересует 2 режима работы, когда двигатель холодный то задержка перед подачей сигнала на стартер должно составлять 10 секунд , когда двигатель уже 40 градусов или более то задержка 2 секунды и на запуск, сигнал на запуск не менее 4 секунд, реализовать это не сложно так как датчик ОЖ(охлаждающей жидкости) это обычный NTC терморезистор и из него нужно вынуть показания, пределы таковы если R<=150 Om (тогда задержка 2 секунды) если R>=400 Ом (тогда задержка 10 секунд) промежуточное значение от 150 до 400 (так же с задержкой 10 секунд)
4. После завершения сигнала на выход или получения сигнала +12 вольт с генератора программа должна остановиться и ждать следующего сигнала на запуск с модуля.

Я человек в этой истории новый но знаю про ИИ) Поэтому изначально обратился к нему за просьбой, после суток извращения с ним и разными предложениями по написанию кода со всеми проверками на WOKWI я нашел единственно работающий примерно по моему ТЗ код .

Самая большая проблема и мольва о помощи, помочь допилить код со всеми доработками и правильными измерениями.

Вот такое ТЗ я поставил ИИ :

Давай напишем новый код для ардуино нано. Действия программы такие:
При кратковременной подаче напряжения +12В на пин запускалась программа.
Программа должна измерять какое NTC сопротивления подаеться на ввод, есть два выбора работы программы.
1 если сопротивление ровно 150 Ом и до 0 Ом тогда программа задерживает сигнал на 2 секунды и дает на выход сигнал длинною 4 секунд
2 если сопротивление ровно 400 Ом и до 1000 Ом тогда программа задерживает сигнал на 10 секунды и дает на выход сигнал длинною 4 секунд
Должен быть еще пин который управляется кратковременным подачей +12 вольт , при появлении на нем +12 вольт или истечению времени выходного сигнала программа должна остановиться и запустить лишь тогда когда снова подадим на ввод +12 вольт
все действия должны писать Serial.println


Не кидайте камнями я вообще в этом ДУБ ) Есть только желание что то сделать самому и не тратить очень много времени для написания одной программы.

ВОТ ЧТО МНЕ ДАЛ ИИ

CSS:
const int inputPin = 2; // Пин старта (активен +5V)

const int stopPin = 3; // Пин СТОП (активен GND)

const int outputPin = 4; // Выход

const int resistancePin = A0; // Пин сопротивления

// Пороги сопротивления (настроить!)

const int RESISTANCE_150OHM = 680;

const int RESISTANCE_400OHM = 350;

// Переменные состояния

bool buttonPressed = false;

unsigned long triggerTime = 0;

unsigned long lastDebounceTime = 0;

const int debounceDelay = 50; // мс

void setup() {

pinMode(inputPin, INPUT); // БЕЗ подтяжки к VCC!

pinMode(stopPin, INPUT_PULLUP);

pinMode(outputPin, OUTPUT);

digitalWrite(outputPin, LOW);

Serial.begin(9600);

attachInterrupt(digitalPinToInterrupt(stopPin), interruptHandler, FALLING);

}

void loop() {

// Чтение кнопки START с защитой от дребезга

int currentState = digitalRead(inputPin);

if (currentState == HIGH && !buttonPressed) {

if (millis() - lastDebounceTime > debounceDelay) {

buttonPressed = true;

triggerTime = millis();

Serial.println("Старт! Таймер запущен");

}

lastDebounceTime = millis();

}

// Логика таймера

if (buttonPressed) {

int sensorValue = analogRead(resistancePin);

unsigned long delayTime = 10000; // По умолчанию 10 сек

if (sensorValue >= RESISTANCE_150OHM) {

delayTime = 2000;

Serial.println("Режим 150 Ом (2 сек)");

}

else if (sensorValue <= RESISTANCE_400OHM) {

delayTime = 10000;

Serial.println("Режим 400 Ом (10 сек)");

}

if (millis() - triggerTime >= delayTime) {

digitalWrite(outputPin, HIGH);

Serial.println("Выход ВКЛ");

delay(5000); // Удерживаем 5 сек

digitalWrite(outputPin, LOW);

Serial.println("Выход ВЫКЛ");

buttonPressed = false;

}

}

}

void interruptHandler() {

digitalWrite(outputPin, LOW);

buttonPressed = false;

Serial.println("СТОП! Сброс таймера");

}


P.S. для проверки на WOWKI я указал что входной сигнал +5 В а сигнал стоп это GND . На самом деле было очень много кодов сделанных ИИ но это примерно похожий по логике работы который нужен мне.

Заранее извиняюсь если есть какие либо ошибки по добавлению поста или темы .

Не знаю выйдет из этого поста что либо но очень надеюсь что найдется знающий человек который будет готов помочь в данном деле. Заранее всех благодарю за содействие и огромный приве Alex
 
Изменено:

Мишутк

★✩✩✩✩✩✩
29 Мар 2025
69
30
Самая большая проблема и мольва о помощи, помочь допилить код со всеми доработками и правильными измерениями.
Код ИИ сгенерированый новичками в проектах новичков не допиливается в принципе. Самая большая проблема в том, что новички этого не понимают. Уважающий себя специалист даже не смотрит в такой код.

Рекомендации. С таким опытом как ваш в проект сначала должна быть подобрана элементная база: вы должны научиться обрабатывать показания каждого датчика. Потом научиться управлять каждым исполнительным устройством. После этого собирается прототип выдающий показания и управляемый кнопками - вы вручную наблюдая за датчиками подаете кнопками команды на исполнение.
Как только получилось - только тогда пишете алгоритмы на эмуляторе.
И только потом на свой страх и риск ставите на реальный объект, не забыв про множество аварийных независимых защитных цепей.
 
  • Лойс +1
Реакции: bAd

bAd

✩✩✩✩✩✩✩
10 Окт 2025
10
1
@Мишутк, я для этого и пришел в этот форум чтобы люди помогли разобрать этот код, в эмуляторе он исправно работает за исключением измерением сопротивления, я Вас не прошу участвовать в этом , если у меня не выйдет, то увы это останется лишь проектом .На данном этапе я пока очень надеюсь что все выйдет. Чтобы на данном этапе изучать весь курс программирования и написания кода для Ардуино, потратить для этого не один месяц изучения я не готов, я либо найду альтернативы либо допилю со знающими людьми . А Вам спасибо за совет и комментарий
 

bAd

✩✩✩✩✩✩✩
10 Окт 2025
10
1
Рекомендации. С таким опытом как ваш в проект сначала должна быть подобрана элементная база: вы должны научиться обрабатывать показания каждого датчика. Потом научиться управлять каждым исполнительным устройством.
По элементам всего 1 один и это типичный NTC терморезистор у которого есть график в открытом доступе, второй датчик он просто выдает сигнал. Я думаю что человек который имеет малейшее понятие как пишется код сделает его за 20 мин.
 

bort707

★★★★★★✩
21 Сен 2020
3,292
954
Я думаю что человек который имеет малейшее понятие как пишется код сделает его за 20 мин.
Поправлю - знающий человек МОГ БЫ сделать. Но, скорее всего, не станет.

Во-первых, как уже написал выше @Мишутк, копаться в том что накропал ИИ - так себе занятие. Вряд ли какой-то уважающий себя разработчик захочет этим заниматься.

Ну а второе, главное для меня - я категорически против того, чтобы люди без малейшего понимания электроники и программирования лезли в автомобильную электрику. Автомобильная электроника предъявляет очень высокие требования как к компонентам, так и к профессионализму программиста. В вашей поделке оба эти фактора на нуле. Первое - в описании оригинальной Ардуино явным образом указано, что она НЕ ПРЕДНАЗНАЧЕНА к работе в электросети автомобиля. И второе - какую надежность можно ожидать от вашего изделия, если вы не понимаете, что и как там работает в коде? - да никакую. Это кончится либо пожаром, либо оно само поедет и создать опасность для соседних машин и людей.

Одно успокаивает - вы вряд ли вообще что-то сделаете. Почти никто, кто начинает проект с подобным настроем - не доводит его до конца.
 

viktor1703

★★★✩✩✩✩
9 Дек 2021
743
181
Чтобы было отключение стартера поле того как машина завелась ( реализация такова что когда машина завелась на лампочку генератора приходит +12 Вольт
А что будет, если не пришли эти 12 вольт? Ну не заводится, например, или обрыв, или щетки генератора стерлись? Ваш проект так и будет крутить стартер, пока из него не выйдет загадочный сизый дымок, на котором работает вся электроника?
 

bort707

★★★★★★✩
21 Сен 2020
3,292
954
Есть такая задача. Сделать не дорогой автозапуск для авто
....
... сигнализация, стоимость её около 10у.е.( да ребят я из Беларуси=)
Судя по фото, в этой сигналке запуск с кнопки уже предусмотрен. Тогда совершенно непонятно, к чему этот колхоз на Ардуине.
Если же автозапуска нет - надо просто взять другую сигналку. Я уверен, что к вам в Беларусь их пачками везут из Европы, если не найдется за 10уе - найдется за 15

А на Ардуине вам на первый раз стоит собрать что-нить будь попроще и безопаснее - какие-нибудь часики или лампу разноцветную...
 

bAd

✩✩✩✩✩✩✩
10 Окт 2025
10
1
А что будет, если не пришли эти 12 вольт? Ну не заводится, например, или обрыв, или щетки генератора стерлись? Ваш проект так и будет крутить стартер, пока из него не выйдет загадочный сизый дымок, на котором работает вся электроника?
Изначально в программе на выходе сигнал работает 4 секунды потом программа прекращается. и ждет дальнейшей команду на пуск.
 

bAd

✩✩✩✩✩✩✩
10 Окт 2025
10
1
@bort707, прежде чем написать какой либо ответ, стоит прочесть тему и если вам это интересно попробовать разобраться. Задача не выполнить автозапуск с данной кнопки. В данном модули есть запуск машины с доп. канала сигнализации( открытие багажника) она исправно работает. но задержка перед включением и запуском стартера очень мала. и не реализовано в ней какие либо логические входы для понимания завелась машина или нет. она лишь после принятия сигнала с доп сигнала сигнализации включает зажигание и через пару секунд дает команду на запуск авто в течении 1 секунды чего тоже может быть не достаточно в холодное время года .
 

bAd

✩✩✩✩✩✩✩
10 Окт 2025
10
1
Поправлю - знающий человек МОГ БЫ сделать. Но, скорее всего, не станет.

Во-первых, как уже написал выше @Мишутк, копаться в том что накропал ИИ - так себе занятие. Вряд ли какой-то уважающий себя разработчик захочет этим заниматься.

Ну а второе, главное для меня - я категорически против того, чтобы люди без малейшего понимания электроники и программирования лезли в автомобильную электрику. Автомобильная электроника предъявляет очень высокие требования как к компонентам, так и к профессионализму программиста. В вашей поделке оба эти фактора на нуле. Первое - в описании оригинальной Ардуино явным образом указано, что она НЕ ПРЕДНАЗНАЧЕНА к работе в электросети автомобиля. И второе - какую надежность можно ожидать от вашего изделия, если вы не понимаете, что и как там работает в коде? - да никакую. Это кончится либо пожаром, либо оно само поедет и создать опасность для соседних машин и людей.

Одно успокаивает - вы вряд ли вообще что-то сделаете. Почти никто, кто начинает проект с подобным настроем - не доводит его до конца.
Дело не в понятии работы электроники в авто и не в понимании совсем как это все работает. А не знание кроется лишь в конкретном написании кода. Если "уважающий" разработчик не захочет поправлять программу, он предложит свой вариант если ему эта тема будет интересно, в данной теме я ищу заинтересованных , если таковых не будет буду изучать курс чтобы написать код самому и после всех тестов выложу его сюда чтобы желающие могли пользоваться. Благодарю за Ваше внимание в данном вопросе и что уделили время на написание комментария
 

bAd

✩✩✩✩✩✩✩
10 Окт 2025
10
1
И да хотел опять же дать комментарий всем людям которые хотят попробовать лично написать свою программу при помощи ИИ. самый лучший для этого компаньон это DeepSeek только он смог конкретно написать (примерно) рабочий код.
 

bort707

★★★★★★✩
21 Сен 2020
3,292
954
после всех тестов выложу его сюда чтобы желающие могли пользоваться.
Вот это вряд ли хоть кому-то поможет. Программа, написанная новичком с помощью ИИ - это совсем не то, что стоит ставить на реальную машину. Вы бы поставили на свою машину бензонасос, собранный школьником на кухне из компрессора для аквариума?

Если Вам интересна эта тема - проектов автосигналок в сети десятки, если не сотни. Правда большинство из них тихий ужас по части программных и аппаратных решений. Советую для начала изучить, прежде чем добавить еще один пример в эту кучу...
 

Мишутк

★✩✩✩✩✩✩
29 Мар 2025
69
30
И да хотел опять же дать комментарий всем людям которые хотят попробовать лично написать свою программу при помощи ИИ. самый лучший для этого компаньон это DeepSeek только он смог конкретно написать (примерно) рабочий код.
Толку-то от него, если вы все равно не получили код полностью удовлетворяющий вашим желаниям и не способны его сами допилить. И хуже того, не понимаете почему так написано.
 
  • Лойс +1
Реакции: bort707

bort707

★★★★★★✩
21 Сен 2020
3,292
954
Толку-то от него
я бы сказал один вред. Раньше подобных персонажей, который хотят собрать конфетку, ни во что не вникая - на форумах просто посылали. Потыркавшись в поисках кода, они либо бросали затею, либо шли учиться. А теперь они бегут к ИИ, он им выкидывает код, похожий на настоящий - и им кажется что 90% задачи уже решена.

Если грамотно спросить у ДипСика - он вам и как вырезать аппендицит расскажет. Будете сами пробовать на живых людях?
 

bort707

★★★★★★✩
21 Сен 2020
3,292
954
Кстати, заглянул в код и могу сказать, что он ГАРАНТИРОВАННО будет виснуть, потому что внутри прерывания нельзя использовать Serial.print(). Это лишь одна ошибка и, наверняка не единственная. Просто как иллюстрация к тому, что ИИ бесполезен для тех, кто не разбирается в предмете.
Образно говоря , ИИ - это подмастерье. Ему можно поручать простенькие задачки, которые лень делать самому. Но главное условие - ты должен понимать в предмете больше, чем ИИ - чтобы найти и исправить его ошибки, которые будут 100%.

То есть ИИ - это не замена знаний и мозгов, как думает ТС. Это инструмент для тех, кто понимает.
 

VictorArx

★★★✩✩✩✩
22 Мар 2021
610
100
Добавлю, что ИИ в самом конце своего повествования иногда пишет, что могут быть неточности. Что уж говорить про программирования, когда запятая не в нужном месте сведёт на нет весь код.