-
Вложений: 2
Автозапуск на ардуино nano
В связи со сменой машины озадачился автозапуском.На старой стоял отдельный модуль,интегрированный в сигналку.Было удобно.Озадачился поиском аналогичного,но на ардуино.Нашел такое решение https://sites.google.com/site/hobbya...home/car-start Воплотил в железе,залил код...на столе все работает.Сейчас дописываю в код дополнение для запуска по температуре.Датчик DS18B20.По ходу процесса душит "земноводное",т.к у nano остается не задействованы куча пинов,которые было бы можно использовать для своего блага.Во вложении код в текстовом формате,где я подробно закоментировал все строчки кода /для понимания его работы/.У знатоков прошу проверить раздел работы кода по датчику температуры.
P/S.Давайте не будем обсуждать,как данное устройство скажется на угоняемости авто.Лучше,что можно дописать,для снижения этой вероятности.Например,думаю поставить блокировку на реле бензонасоса при несанкционированном запуске.Или,как вариант,если машина не в своих координатах /по модулю GPS/,то не заводится.И т.д
Я дополнил схему еще одним реле,которое включает петлю обходчика иммобилайзера только во время дистанционного запуска.
-
Вложений: 1
Re: Автозапуск на ардуино nano
Сегодня дописал код с датчиком температуры.Датчик температуру показывает,но...запуска по температуре /на заданное условие/не происходит!!!!При превышении заданной температуры на 4 пине ардуино появляется 1В.Прошу помощи!!!В приложении файл кода в текстовом формате с моими комментариями!
-
Re: Автозапуск на ардуино nano
1. по коду. насколько я увидел нога d4 это вход. то есть при превышении температуры включается внутренняя подтяжка. судя по схеме нога притянута к земле. так что 1в вполне закономерно. если свободные ноги остались можно их использовать для индикации или в терминал отправлять что-то при достижении порога температуры.
2. по схеме. я бы увеличил номинал конденсаторов по питанию, добавил диод по входу, защитный диод и возможно индуктивность. конечно работать будет и так, как есть, даже хорошо работать. но девайс то не подсветку бардачка включает, так что, возможно, есть смысл подстраховаться.
-
Re: Автозапуск на ардуино nano
спасибо!сообразил,что надо подавать "высокое" не на сам 4-й пин, а на вход делителя.в код добавил 12-й пин,прописал его как "выход" и по датчику температуры на нем появляется "высокое".проверил,отбросив провод от телефона.при достижении t больше 29 гр срабатывает...блин,но только реле IGN2 /по схеме/.два других не срабатывают.разбираюсь..
-
Вложений: 2
Re: Автозапуск на ардуино nano
Код дописан,схема доработана.В моем варианте запуск происходит по звонку сотового телефона и при температуре двигателя -15 градусов.Прогрев в течении 15 минут.Эти настройки можно поменять в коде перед загрузкой.Ложных срабатываний на макете нет.Запуск интегрируется в машину параллельно реле машины,не нарушая стандартную проводку.
-
Re: Автозапуск на ардуино nano
я прошу прощения, но схема жесть, если все действительно так, как изображено. что должно приходить на вход "сигнал старт"? в любом случае выход d11 долго не протянет и хорошо если только он. почему запуск по температуре не сделать программно?
-
Re: Автозапуск на ардуино nano
И светодиод на D9 умрет сразу после лог.ед. на выходе. В худшем случаи Выход D9 может тоже умереть
-
Re: Автозапуск на ардуино nano
На вход "сигнал старт" приходит от сотового телефона 3.4 В /взял со светодиода подсветки клавиатуры,который включается при входящем сигнале/."+" провод развязан диодом,т.е обратно при сигнале от D11 ничего не идет.Пуск по температуре-с D11 /который так же развязан диодом/ 4.5В.Конечно,светодиод на D9 с гасящим резистором.На схеме не рисовал.Исправлю."Сделать программно"-пока знаний не хватает.Поможете?Для обсуждения и доработок создал тему.Автор мне еще рекомендовал все питание обвесить керамическими конденсаторами,т.к без них у него были сбои.У меня на столе-все работает без сбоев.
-
Re: Автозапуск на ардуино nano
Цитата:
"Сделать программно"-пока знаний не хватает.Поможете?Для обсуждения и доработок создал тему.
Если в двух словах, то в функции контроля температуры поднимаем флаг. В функции старта проверяем этот флаг вместе с ногой d4.
Цитата:
Автор мне еще рекомендовал все питание обвесить керамическими конденсаторами,т.к без них у него были сбои.У меня на столе-все работает без сбоев.
От конденсаторов здесь только польза. На столе и в машине все же разные условия.
-
Вложений: 5
Re: Автозапуск на ардуино nano
manu 245 спасибо за советы!Установка в машину заняла больше времени,чем планировали.Спасибо Сергею!Благодаря его помощи все "грабли",которые появлялись в процессе установки в машину,прошли!!Минимальное вмешательство в проводку авто,установка за панелью приборов,обходчик иммо работает только при старте от внешнего сигнала.Особенность запуска обусловлена тем,что при наличии ключа в обходчике без реле не позволяет поставить машину на охрану.Машина запускается по температуре и по сигналу с сотового телефона без проблем.Пока проверил на плюсовой температуре,жду морозов.Ну и как это выглядит в машине,видно на фотографиях.
Место под установку
Вложение 16700
Все соединения выполнены
Вложение 16701
Первый запуск по звонку
Вложение 16702
Датчик температуры
Вложение 16703
Все компоненты на местах для тест-драйва
Вложение 16704
-
Re: Автозапуск на ардуино nano
я б ещё добавил сигнал "уровень топлива", дабы машина не сожрала весь бак!
обязательно сигнал "нейтрали" и уровень "напряжения АКБ"!
-
Re: Автозапуск на ардуино nano
в коде прописан контроль на забывчивость "не сожрать весь бак".уровень напряжения АКБ,нейтраль и подобные функции мне не нужны.сейчас меня больше интересует включение "попогрея" и подогрева руля!!к лету-включение кондиционера.
-
Re: Автозапуск на ардуино nano
-
Re: Автозапуск на ардуино nano
Цитата:
Сообщение от
mopkran
в коде прописан контроль на забывчивость "не сожрать весь бак".уровень напряжения АКБ,нейтраль и подобные функции мне не нужны.сейчас меня больше интересует включение "попогрея" и подогрева руля!!к лету-включение кондиционера.
есть один знакомый которого не интересовало как установили сигналку, только потом, через год человек оставил на задней передаче ну и машина завелась на стоянке))))) честно ржал когда он уныло мне это рассказывал, я просто знаю человека(невпечетлён его знаниями и поделками) у кого он ставил, но незнал до этого момента, этого следовало ожидать, блокировка была, только на первую передачу. машину хоть и не сильно, но согнуло.
-
Re: Автозапуск на ардуино nano
Коробке автомат это не грозит)
-
Re: Автозапуск на ардуино nano
это понятно.спасибо за совет.автозапуск сделан,установлен мной на "автомат",так что все нюансы для моего авто учтены,"косяки" понятны.дописывать "для всех" я не буду.код имеет комментарии и понятен для внесения изменений под другой автомобиль."лучшее-враг хорошего".а без ума можно и ... сломать.будем ставить на "ручку" Рено,посмотрим что и как там сделать.
-
Re: Автозапуск на ардуино nano
Еще как вариант прикрутить к Arduino роутер mr3020 + 3g и стартовать машину через sms / email / или web
-
Re: Автозапуск на ардуино nano
ну..это на любителя.основная задача решена.да и смысла "пилить" код дальше не вижу.если вернусь к проекту carpc,тогда буду думать.а так-локальная задача решена локальным устройством.цена вопроса-1000 р плюс время на установку.в машине появился сотовый,на который потом можно еще что то прикрутить..есть мысли по сигналке на снятие колес /ардуинка+емкостные датчики/.как вариант.
-
Re: Автозапуск на ардуино nano
Реализован автозапуск на Renault Kangoo 1999 г.в с ручной коробкой передач.На BMW работает уже больше месяца.Никаких проблем с автозапуском нет.Проверить работу температурного датчика не представляется возможным,т.к на улице плюсовая температура!!Такими темпами запуск при -15 может быть и не востребован!!!Выявились некоторые нюансы работы именно в BMW,которые учтены в новой версии кода.Добавлена функция вкл/выкл реле обходчика.Теперь иммо видит ключ обходчика только при запуске двигателя.Таким образом исключен конфликт 2-х ключей.Теперь по установке в машину с РКПП.Нейтраль реализована добавлением в схему сигнала нажатой педали тормоза /на плате это место,куда приходят сигналы от сот.тлф и датч.темп/.Сигнал приходит через диод и сопротивление 8 кОм.Также надо добавить реле с НЗ контактами.Обмотка реле подключена параллельно замку двери.Контакты реле-в разрыв провода идущего на D3 ардуино.Процедура подготовки к автозапуску следующая.Приехали,включили ручник,нажали педаль тормоза,вытащили ключ,отпустили педаль тормоза.Двигатель работает.Вышли из машины,закрыли центральный замок.Двигатель выключился.Машина готова к запуску.Фу..устал писать.Вроде ничего не забыл.В архиве новая плата под реле от Калины /1119-3747210-10/ и доработанный код.Не получилось вставить с расширением lay и ino.
-
Re: Автозапуск на ардуино nano
Не получилось вставить файлы с расширением lay и ino.
-
Re: Автозапуск на ардуино nano
Дополнительно.Процедура постановки на РКПП выявила дополнительную "мороженку"!!!Она позволяет мне,на АКПП, реализовать функцию "пит-стоп".Таким образом,не глуша двигатель,можно выйти из авто за сигаретами или....Мелочь,а приятно!!
-
Вложений: 1
Re: Автозапуск на ардуино nano
Во вложении печатная плата,схема с изменениями и код.При сборке учесть перемычки.
-
Вложений: 1
Re: Автозапуск на ардуино nano
mopkran, у меня при открытии скетча выложенного Вами большая часть пояснений отображается крокозябрами. Если у кого то такая же сложность, то вот код с поправленной кодировкой. Так же для этого проекта понадобятся две библиотеки OneWire и DallasTemperature, они прикреплены ниже.
Код:
// регистрируем библиотеку датчика температуры
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 10
OneWire oneWire(ONE_WIRE_BUS);
//Настройки
unsigned long ENGINE_WARM_TIME = 900000; //В миллисекундах время работы мотора после запуска 900000 миллисекунд = 15 минут
int ENGINE_START_MAX_TIME = 5; //В секундах масимальное время работы стартера типично 3 -10 сек
#define MIN_AIR_TEMP 29 //минимальная температура воздуха в градусах, ниже которой включается автозапуск /-15/
DallasTemperature sensors(&oneWire);
//--------------выбор пинов ардуины по входу---------------------------------------------
const int hand_brake_in = 3; //d3 adruino Контакт стояночного тормоза "-"
const int start_in = 4; //d4 adruino Сигнал команды на старт от мобильного телефона вибра звонка
const int sharging_in = 5; //d5 adruino
const int sharging_on = 0; // 0 когда во время работы генератора или от датчика давления масла на этом входе низкое состояние , 1 когда на лампе генератора при работе генератора высокое состояние
const int hand_brake_on = 0; // 0= поднятый датчик ручника замыкает на массу тормоз активен (жигули), 1= датчик ручника в поднятом состоянии выдает высокий уровень напряжения
// --------------выбор пинов ардуины по выходу---------------------------------------------
const int starter_out = 6; //d6 adruino реле стартера
const int engine_out = 7; //d7 adruino зажигание
const int secpower_out = 8; //d8 цепи вторичного питания печка, фары итд
const int status_out = 9; //d9 светодиод статуса системы горит = система готова к работе(включена, ручник стоит). одно мигание запущен с первой попытки 2 со второй 3 с третьей
//светодиод подключать с этого пина на массу
//переменная для фактического режима
int actual_mode = 0; // 2 двигатель начал работать
int left_start_try = 0; // переменная для хранения остатка числа попыток запуска
unsigned long last_start_time = 0; //время в тысячных секунды когда был запущен движок
void setup() {
//---- настройка входов и выходов контроллера --------------
// init selected pins
pinMode(hand_brake_in, INPUT); // enable input
// digitalWrite(hand_brake_in, HIGH); //если подтяжка реализована аппаратно то тут ненадо
pinMode(start_in, INPUT); // enable input
// digitalWrite(start_in, HIGH); //pullup resustor enable
pinMode(sharging_in, INPUT); // enable input
// digitalWrite(sharging_in, LOW); //generator LOW normaly
// init outputs
pinMode(11, OUTPUT); // enable output
digitalWrite(11, LOW); //set digital 0
//************реле обходчика***************
pinMode(12, OUTPUT); // enable output
digitalWrite(12,LOW ); //set digital 0
//*******************************************
pinMode(starter_out, OUTPUT); // enable output
digitalWrite(starter_out, LOW); //set digital 0
pinMode(engine_out, OUTPUT); // enable output
digitalWrite(engine_out, LOW); //set digital 0
pinMode(secpower_out, OUTPUT); // enable output
digitalWrite(secpower_out, LOW); //set digital 0
pinMode(status_out, OUTPUT); // enable output
digitalWrite(status_out, LOW); //set digital 0
//---- конец настройки входов и выходов контроллера --------------
sensors.begin();
//Serial.begin(9600);
}
void loop()
{
//---- собственно это и есть весь код программы --------------
if (actual_mode < 2 ) //если двигатель не запущен
{
check_start(); //Управляем режимом запуска
}
//код условия обязательно включать в фигурные скобки если должно быть выполнено несколько инструкций, в данном случае одна, поэтому скобки опущены
else // иначе
{
check_for_shutdown(); //Управляем режимом ожидания окончания прогрева
} //но хорошая привычка фигурные скобки ставить всегда
set_status_led(); //независимо от режима Управляем светодиодом статуса
//------------------конец основного кода -----------------
}
//---- дальше идут используемые функции и подфункции --------------
void check_start()
{
digitalWrite(12,HIGH);//включаем реле обходчика
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.println(temp);
if (digitalRead(hand_brake_in) != hand_brake_on) //без ручника не делаем запуск
{
actual_mode = 2; // заканчиваем попытки запустить движок
left_start_try = 0; //без ручника другие попытки бесполезны
return;
}
if( temp > MIN_AIR_TEMP)
{
digitalWrite(11,HIGH);//если температура ниже -15, включить запуск
}
if (digitalRead(start_in) == 1 && left_start_try == 0) // 1 is command for start - 1 значит импульс старта пришел с дистанционного управления <--- тут определяется полярность импульса запуска
{
left_start_try = 3; // указываем что нужно попытаться трижды запустить движок
}
if ( left_start_try > 0 )
{
digitalWrite(engine_out, HIGH); //включаем зажигание
digitalWrite(secpower_out, HIGH); //включаем печку фары итд
delay(3000); // останавливаем код на 3 секунды чтобы бензонасос набрал давление, все датчики включились
if (digitalRead(hand_brake_in) != hand_brake_on) //без ручника не делаем запуск
{
actual_mode = 2; // заканчиваем попытки запустить движок
left_start_try = 0; //без ручника другие попытки бесполезны
return;
}
if (digitalRead(sharging_in) != sharging_on ) // проверяем что генератор не работает
{
do_start(); // пытаемся запустить движок
left_start_try = left_start_try - 1 ; //уменьшаем число попыток
if (left_start_try == 0 )
actual_mode = 2; // заканчиваем попытки запустить движок
} // конец проверки что ручник стоит а генератор не работает
}
} // конец процедуры старта
void do_start()
{
//тут будет запуск движка
// digitalWrite(engine_out, HIGH); //включаем зажигание
// digitalWrite(secpower_out, HIGH); //включаем печку фары итд
// delay(3000); // останавливаем код на 3 секунды чтобы бензонасос набрал давление
digitalWrite(secpower_out, LOW); //выключаем печку фары итд
//----------------------------------------------------------------------------------- цикл стартера
digitalWrite(starter_out, HIGH); //включаем стартер
for (int secs=0; secs <= ENGINE_START_MAX_TIME ; secs++) //
{
delay(1000); // и продолжаем его держать включенным 1 секунду
if (digitalRead(sharging_in) == sharging_on) //если зарядка пошла то
break; // прерываем цикл
}
//-----------------------------------------------------------------------------------
digitalWrite(starter_out, LOW); //отключаем стартер
if (digitalRead(sharging_in) == sharging_on) //еще раз смотрим что зарядка пошла
{
actual_mode = 2; //Запоминаем что движок запущен
last_start_time = millis(); // запоминаем время запуска движка
}
else
{
digitalWrite(engine_out, LOW); //выключаем зажигание чтбы разблокировать реле стартера
digitalWrite(secpower_out, LOW); //выключаем печку фары итд
delay(5000); // останавливаем код на 3 секунды чтобы бензонасос набрал давление
}
}
void check_for_shutdown()
{
//сюда мы попадаем когда контроллер считает что движок работает
if (digitalRead(sharging_in) != sharging_on ) //проверяем что движок случайно не заглох
do_shutdown();
else
{
digitalWrite(secpower_out, HIGH); //включаем печку фары итд
digitalWrite(11,LOW);
digitalWrite(12,LOW);
}
if (digitalRead(hand_brake_in) != hand_brake_on ) //проверяем что если злодеи сняли с ручника то глушим мотор
{
do_shutdown();
left_start_try =0; // и больше не заводим
}
//тут будем контролировать чтоб если забыли машинку заведенной она не молотила до скончания бензобака а выключалась через какоето время
if (actual_mode != 0 ) //значит не выключили заглохший двигатель только что
{
if (millis() > last_start_time+ENGINE_WARM_TIME) // если текущее время больше чем время старта + время прогрева
{
do_shutdown();
left_start_try =0; // и больше не заводим
}
}
}
void do_shutdown()
{
digitalWrite(secpower_out, LOW); //выключаем печку фары итд
digitalWrite(11,LOW);
digitalWrite(12,LOW);//реле обходчика выключить
digitalWrite(engine_out, LOW); //вырубаем зажигание
actual_mode = 0; // движок выключили запомним это
last_start_time = 0; // ну и забудем о том что он был включен
}
void set_status_led()
{
if (digitalRead(hand_brake_in) != hand_brake_on ) //Если ручник не стоит то выкл светодиод нечего ему в пути мигать попусту
{
digitalWrite(status_out, LOW);
return; //прерываем выполнение функции
}
if (actual_mode == 2) //Движок запущен
status_led_flash(); // показываем с какой попытки был прошлый запуск
else
digitalWrite(status_out, HIGH); // постоянное свечение - показываем что готов к следующему запуску
}
void status_led_flash()
{
static unsigned long big_interval = 0;
static unsigned long flash_interval = 0;
unsigned long flash_count = 0;
flash_count = 3 - left_start_try; //сколько раз мигать
//1 секундный интервал
if (millis() > flash_interval + 1000L)
flash_interval = millis() ; //задаем счетчие от 0 до 1 секунды
//задаем 6 секунд
if (millis() > big_interval + 6000L)
{
big_interval = millis() ; //задаем счетчие от 0 до 10секунд
flash_interval = big_interval;
}
if (millis() < big_interval + flash_count * 1000L) // делим 6 секндный интервал на два периода, в первый мигаем количество раз соответствующее числу израсходованных попыток
{ //мигает
if (millis() > flash_interval + 500L)
digitalWrite(status_out, HIGH);
else
digitalWrite(status_out, LOW);
}
else
{ // негорит
digitalWrite(status_out, LOW); //set digital 0
}
}
-
Вложений: 1
Re: Автозапуск на ардуино nano
Для чего в схеме резистор и стабилитрон обведенные красным?
ИМХО можно удалить часть схемы обведенные зеленым если изменить кусок кода с
Код:
if( temp > MIN_AIR_TEMP)
{
digitalWrite(11,HIGH);//если температура ниже -15, включить запуск
}
if (digitalRead(start_in) == 1 && left_start_try == 0) // 1 is command for start - 1 значит импульс старта пришел с дистанционного управления <--- тут определяется полярность импульса запуска
{
left_start_try = 3; // указываем что нужно попытаться трижды запустить движок
}
на
Код:
if (digitalRead(start_in) == 1 && left_start_try == 0 || temp > MIN_AIR_TEMP && left_start_try == 0 )
{
left_start_try = 3; // указываем что нужно попытаться трижды запустить движок
}
Вложение 16852
-
Re: Автозапуск на ардуино nano
Привет!Спасибо,что исправил кодировку.Код и комментарии писал в текстовом редакторе AkelPad.Видимо у него своя кодировка,поэтому крокозябры.По ручнику:как я понимаю,на D3,при отпущенном ручном тормозе,реализована чистая 1.Что касается изменения кода.Обратите внимание!!В коде минимальная температура запуска установлена 29 градусов.Это для ТЕСТА!!!В рабочей системе она у меня -15.Иначе будет заводится при включенном ручнике!!!!Соответственно,изменяем знак условия temp > MIN_AIR_TEMP на temp < MIN_AIR_TEMP Если не прав,поправьте . Проверить при минусовой температуре нет возможности.
-
Re: Автозапуск на ардуино nano
По ручнику можно включить внутреннюю подтяжку, она даже есть в коде, только закомментирована // digitalWrite(hand_brake_in, HIGH); //если подтяжка реализована аппаратно то тут не надо, зачем лишние детали то паять. Знак в MIN_AIR_TEMP не заметил.
Вот так правильно
Код:
#define MIN_AIR_TEMP -15
if (digitalRead(start_in) == 1 && left_start_try == 0 || temp =< MIN_AIR_TEMP && left_start_try == 0 )
{
left_start_try = 3; // указываем что нужно попытаться трижды запустить движок
}
А можно еще проще
Код:
if (digitalRead(start_in) == 1 && left_start_try == 0 || temp =< -15 && left_start_try == 0 )
{
left_start_try = 3; // указываем что нужно попытаться трижды запустить движок
}
-
Re: Автозапуск на ардуино nano
Согласен по подтяжке.Но..в машине пусть будет такая цепочка.На всякий случай!!В коде жестко прописать минусовую температуру можно.Я сделал с прицелом на изменение этих параметров летом.
-
Re: Автозапуск на ардуино nano
А может застраховаться от случайного чужого звонка? Типа 3 звонка за 2 минут...
-
Re: Автозапуск на ардуино nano
Смысл?У меня за это время было 9 чужих смс и ни одного чужого звонка.У оператора просите ограничить номер телефона в машине только одним входящим /с вашего/ телефона.
-
Re: Автозапуск на ардуино nano
Прошло почти полгода,как автозапуск "живет" в машине.За это время никаких "косяков" в работе не обнаружено.Сотовый за приборной панелью и ардуино nano пережили температуру за -30.Запуска по чужим смс или звонкам не было.За лето хочу попробовать сотовый заменить на модуль MC52.
-
Re: Автозапуск на ардуино nano
Друзья сильно не ругайте не пойму что за микруха на схеме
-
Re: Автозапуск на ардуино nano
Цитата:
Сообщение от
vlm
Друзья сильно не ругайте не пойму что за микруха на схеме
А вы название темы внимательно прочитали - ардуино nano
-
Вложений: 1
Re: Автозапуск на ардуино nano
Вложение 18031
Цитата:
Сообщение от
lti1
а вы вопрос мой четко читали? я спрашивал про микруху что на схеме стоит( обвел даже ) а не про платку arduino
поражаюсь , в вопросе не разбирутся лиж бы отправить в поисковик и сделать вид умного гуру.
подозреваю что это uln2003
-
Re: Автозапуск на ардуино nano
Цитата:
Сообщение от
vlm
а вы вопрос мой четко читали?
Как задали так и прочитал.
ULN2003A
-
Re: Автозапуск на ардуино nano
благодарствую.
будем мудрить , есть мысли ..... скрестить с tp link 3020
-
Re: Автозапуск на ардуино nano
А зачем tp link 3020? По wi-fi управлять или как сервер?
-
Re: Автозапуск на ардуино nano
tp link 3020 стоит в паре с yota свистком ( и хитрым скриптом регулирующим тарифный план , бегунок) вот и есть мысли поднять веб сервер на нем же, и прикрутить автозапуск
-
Re: Автозапуск на ардуино nano
Цитата:
Сообщение от
vlm
tp link 3020 стоит в паре с yota свистком ( и хитрым скриптом регулирующим тарифный план , бегунок) вот и есть мысли поднять веб сервер на нем же, и прикрутить автозапуск
У меня была подобная идея, но из за отсутствия знаний и опыта работы с OpenWRT не взялся за реализацию, а тупо поставил StarLine A94.
-
Re: Автозапуск на ардуино nano
Цитата:
Сообщение от
lti1
У меня была подобная идея, но из за отсутствия знаний и опыта работы с OpenWRT не взялся за реализацию, а тупо поставил StarLine A94.
думается мне что проще взять прошивку от умного дома CyberWrt основаную на OpenWRT, и на ней пытаться реализовать .
Вообщем бум пробывать , о результатах попытаюсь отписаться
-
Re: Автозапуск на ардуино nano
подниму темку! решил собрать устройство..все работает вроде неплохо, только есть небольшая проблемка в коде с условием пользования температурного датчика, если машина заводится с температурного датчика, то при неудачных попытках пуска двига контроллер все равно пытается запустить ее бесконечное число раз пока не посадит аккумулятор в ноль..кто столкнулся с этой проблемой, то для этого я дописал одну переменную и одно условие..
int all_start_try =0; //вставляем в начале описания всех переменных
и в описании функций под функций дописываем условие:
if (all_start_try<3)
{
left_start_try = 3; // указываем что нужно попытаться трижды запустить движок
}
}
удачи на дорогах!