Кнопка старт стоп своими руками ардуино

Arduino.ru

Кнопка старт стоп на Ардуино (но не простая)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Друзья, свершилась беда непоправимая. Надеюсь только на вашу помощь и поддержку. Заранее спасибо!

Начну с предыстории:

Вообщем суть проблеммы, у меня машинка есть (автомобиль), 17 годиков от появления её на свет. Вот решил не дожидаться момента пока центральный механический замок заклинит и заказал «электронный замок» или в простонародии кнопку стоп старт с модулем авторизации по метке и силовыми ключами, чтобы сразу повешать на свой «замок» (ЦЗ). Все было красиво и замечательно. Очень удобно и практично как мне казалось. Пока не настал один замечательный день в следствии стечения некоторых обстоятельств блок управления сгорел.

Купил сигнализацию с силовым модулем запуска и перевесил всё на этот силовой модуль. (Печально на самом деле все.) В итоге, есть четыре реле в отдном модуле с грамотной разводкой.(Это пока что меня устраивает) Первое реле на блок комфорта (для опознания что ключ в замке или нету) и магнитолу, Второе реле это на аксессуары, третье на зажигание, и четвертое непосредственно сам стартер. Включаются каждое реле по своему управляющему проводу припоявления на нем «-«. Тоесть сделал контакт папа — мама и включаю разом первые три реле разом или выключаю. А четвертое через кнопку, которая осталасть от (бывшего) блока.

Есть ардуино микро про, кнопка, сигнализация starline e96 с программированием входов и выходов, блок 12v to 5v.

Вроде как я понял все комплектующие есть для реализации автомотического алгоритма запуска двигателя. Вопрос как это реализовать и как подключать, смотрел кучу форумов и сайтов. Где делали люди либо на других ардуино (сдругими пинами), либо слишком замороченные (с дополнительными RFID метками ,или автозапуском по GSM модулю).

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

Источник

Тема: Кнопка Старт/Стоп на МК Arduino

Опции темы
Поиск по теме
Отображение

Кнопка Старт/Стоп на МК Arduino

Как подключить микроконтроллер(МК) на питание я знаю, через преобразователь из 12v в 5v. Из МК выходит 3 режима
1. Режим АСС
2. Режим зажигания
3. Режим стартер

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

Re: Кнопка Старт/Стоп на МК Arduino

Через реле, для стартера реле понадобится соответствующее его току

Последний раз редактировалось Chip; 05.01.2014 в 14:25 .

Re: Кнопка Старт/Стоп на МК Arduino

Последний раз редактировалось Сергей174; 07.01.2014 в 10:48 .

Re: Кнопка Старт/Стоп на МК Arduino

30 и 85 это обмотка реле?
У Вас в автомобиле сигналы ACC, Стартер и Зажигание, в активном состоянии что на выходе выдают?

Re: Кнопка Старт/Стоп на МК Arduino

Обмотка реле 85 и 86.
Я не знаю что они выдают, Кнопку парень на сайте Drive2 делал как подцеплял говорит, что не помнит, и посмотреть сейчас не может, так как машина далеко на ремонте. Мне он скинул скетчь программы, могу отправить

Re: Кнопка Старт/Стоп на МК Arduino

Привет Сергей174 скинь скетчь ,тоже хотелось бы реализовать такое дело ,только я хочу добавить в схему еще и «AD2000-M»,это типа того что в «перевозчике» получится.Вложение 17465

Re: Кнопка Старт/Стоп на МК Arduino

Хорошо скину ближе к вечеру.
maestro777 Твое вложение не открывается, залей еще раз

Re: Кнопка Старт/Стоп на МК Arduino

Вот скетчь, Ты знаешь как подключить выходы??

Re: Кнопка Старт/Стоп на МК Arduino

Привет Сергей ,ну и код громадный да еще и звездочек сколько ,новогодние снежинки прям ,ща разберемся шо куда!

Re: Кнопка Старт/Стоп на МК Arduino

Задолбался удалять звезды ну вроде код пошел:

byte ACCPin = 11 ; //Выход на транзистор переферии ACC
byte EnginePin = 10 ; //Выход на транзистор зажигания
byte StarterPin = 9 ; //Выход на транзистор стартера
byte ButtonPin = 8 ; //Вход + с кнопки byte StopPin = 12 ; //Вход с тормоза byte ImmoPin = 7 ; //Вход с иммо byte TahoPin = 6 ; //Вход с тахометра byte WordsPin = 5 ; //Выход на глазок 1
byte YellowGlazokPin = 4 ; //Выход на глазок 2
byte GreenGlazokPin = 3 ; //Выход на глазок 3
byte statusEngine = 0 ;
//byte rotate = 0;
unsigned int rotate = 0 ;
boolean stateACC = false ;
unsigned long lastPress = 0 ;
unsigned long lastImmo = 0 ;
unsigned long splitTime = 0 ;
unsigned long time = 0 ;
byte stat = 0 ;
void setup () <
pinMode ( EnginePin , OUTPUT );
pinMode ( StarterPin , OUTPUT );
pinMode ( ACCPin , OUTPUT );
pinMode ( WordsPin , OUTPUT );
pinMode ( YellowGlazokPin , OUTPUT );
pinMode ( GreenGlazokPin , OUTPUT );
//time = 0;
lastImmo = millis ();
lastPress = millis ();
Serial . begin ( 9600 );
Serial . println ( «Arduino is started» );
>

Читайте также:  Кухни с гнутыми фасадами своими руками

// 0 — Все выключенно
// 1 — Включено только зажигание
// 2 — Крутиться стартер, ждем оборотов
// 3 — Двигатель работает, все включено
// 4 — Неудачная попытка запуска, включено только зажигание
// 5 — Двигатель заглушен, АСС пока еще работает
void loop ()<
if ( stat != statusEngine ) < stat = statusEngine ; Serial . println ( stat );>
unsigned long newTime = millis () — lastPress ;
unsigned int button = pressButton ();
//if (button != 0) Serial.println(button);
lastImmoTest ();
switch ( statusEngine ) <
//—— —— —— —— —— —— —— —— —— —— —— ——
case 0 :
digitalWrite ( GreenGlazokPin , LOW );
if ( stateACC ) digitalWrite ( YellowGlazokPin , HIGH ); else digitalWrite ( YellowGlazokPin , LOW );
if ( millis () — lastImmo > 10000 ) digitalWrite ( WordsPin , HIGH ); else digitalWrite ( WordsPin , LOW );
if ( button == 1500 && stateACC ) <
StopAll ();
>
else if ( button == 1500 && ! stateACC ) StartACC ();
else if ( button != 0 && millis () — lastImmo > 2000 && newTime > 500 ) <
StartEngine ();
statusEngine = 1 ;
>
break;
//—— —— —— —— —— —— —— —— —— —— —— ——
case 1 :
if ( digitalRead ( ImmoPin ) == LOW ) StopAll ();
digitalWrite ( WordsPin , HIGH );
if ( stateACC ) digitalWrite ( YellowGlazokPin , HIGH ); else digitalWrite ( YellowGlazokPin , LOW );
if ( millis () — lastImmo > 2000 && StopIsPress () && newTime 900 )
<
digitalWrite ( GreenGlazokPin , HIGH );
digitalWrite ( WordsPin , HIGH );
>
else
<
digitalWrite ( GreenGlazokPin ,! digitalRead ( GreenGlazokPin ));
delay ( 100 );
>

//—— —— —— —— —— —— —— —— —— —— —— ——
case 2 :
digitalWrite ( WordsPin , HIGH );
digitalWrite ( GreenGlazokPin , HIGH );
if ( stateACC ) digitalWrite ( YellowGlazokPin , HIGH );
if ( digitalRead ( TahoPin ) == HIGH ) <
rotate ++;
while ( digitalRead ( TahoPin ) == HIGH ) if ( digitalRead ( ImmoPin ) == LOW ) < StopAll (); break;>
>
if ( rotate >= 2 ) <
unsigned int rpm = ( rotate / 60000 / 10000 / 2 )/( micros ()- splitTime );
Serial .print( «rpm: » ); Serial . println ( rpm );
rotate = 0 ;
splitTime = micros ();
if ( rpm > 1500 ) < // StopStarter ();
StartACC ();
statusEngine = 3 ;
Serial . println ( «Engine is WORK!!» );
break;
>
>
if ( button != 0 && newTime > 500 ) <
StopAll ();
>
else if ( newTime > 5000 || ! StopIsPress ()) <
StopStarter ();
statusEngine = 4 ;
>
break;
//—— —— —— —— —— —— —— —— —— —— —— ——
case 3 :
digitalWrite ( GreenGlazokPin , HIGH );
digitalWrite ( YellowGlazokPin , LOW );
if ( newTime > 5000 ) digitalWrite ( WordsPin , LOW ); else digitalWrite ( WordsPin , HIGH );
if ( button == 1500 ) <
StopAll ();
>
else if ( button != 0 && newTime > 500 ) <
StopEngine ();
statusEngine = 5 ;
>
break;

Читайте также:  Оберег домовой своими руками пошаговая

digitalWrite ( WordsPin , HIGH );
digitalWrite ( GreenGlazokPin , ! digitalRead ( GreenGlazokPin )); delay ( 50 );
digitalWrite ( YellowGlazokPin , LOW );
if ( button == 1500 || newTime > 10000 ) <
StopAll ();
>
else if ( button != 0 && newTime > 500 && StopIsPress ()) <
StartStarter ();
statusEngine = 2 ;
>
else if ( button != 0 && newTime > 500 && ! StopIsPress ()) <
StopAll ();
>
break;
//—— —— —— —— —— —— —— —— —— —— —— ——
case 5 :
digitalWrite ( GreenGlazokPin , LOW );
if ( stateACC ) digitalWrite ( YellowGlazokPin , HIGH ); else digitalWrite ( YellowGlazokPin , LOW );
if ( newTime > 5000 )
<
if ( millis () — lastImmo > 5000 ) digitalWrite ( WordsPin , HIGH ); else digitalWrite ( WordsPin , LOW );
>
else
digitalWrite ( WordsPin , HIGH );
if ( button == 1500 ) <
StopAll ();
>
else if ( millis () — lastImmo 2000 ) StopAll ();
else if ( button != 0 && newTime > 500 ) <
StartEngine ();
statusEngine = 1 ;
>
lastImmoTest ();
break;
//—— —— —— —— —— —— —— —— —— —— —— ——
>
>

void StartEngine () <
digitalWrite ( EnginePin , HIGH );
Serial . println ( «Engine is ON» );
lastPress = millis ();
>
void StopEngine () <
digitalWrite ( EnginePin , LOW );
Serial . println ( «Engine is OFF» );
lastPress = millis ();
>
void StopAll () <
digitalWrite ( EnginePin , LOW );
digitalWrite ( StarterPin , LOW );
digitalWrite ( ACCPin , LOW );
Serial . println ( «All OFF» );
while (! digitalRead ( ButtonPin ))<>
stateACC = false ;
lastPress = millis ();
statusEngine = 0 ;
lastPress = millis ();
>

void StartStarter () <
digitalWrite ( StarterPin , HIGH );
Serial . println ( «Starter START!» );
splitTime = micros ();
lastPress = millis ();
>
void StopStarter () <
digitalWrite ( StarterPin , LOW );
Serial . println ( «Starter if OFF!» );
lastPress = millis ();
>

void StartACC () <
digitalWrite ( ACCPin , HIGH );
Serial . println ( «Starter ACC!» );
stateACC = true ;
lastPress = millis ();
>
void lastImmoTest () <
if ( digitalRead ( ImmoPin ) == LOW ) < // lastImmo = millis ();
Serial . println ( «Immo+» );
>
>

unsigned int pressButton () <
unsigned long newTime = millis ();
boolean currentPosition = digitalRead ( ButtonPin );
if ( currentPosition == HIGH ) <
delay ( 50 );
currentPosition = digitalRead ( ButtonPin );
>
while (! currentPosition ) <
currentPosition = digitalRead ( ButtonPin );
if ( millis () — newTime > 1000 ) return 1500 ;
>
newTime = millis () — newTime ;
if ( newTime 60 ) newTime = 0 ;
return newTime ;
>
boolean StopIsPress () <
return digitalRead ( StopPin );
>

сейчас прошью и буду пробовать проверять на работоспособность ,а выхода там все описаны в прошивке ,что-то не поймешь спрашивай.

Источник

Arduino.ru

Кнопка старт/стоп двигателя в автомобиле

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Есть Nano 3, заливаю скетч всего второй раз (опыта нет вообще)

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

Вот скетч к нему:

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

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

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ниче не понял. реле вот такое:

внутри электромагнит. какой диод?

Какие транзисторы, как подключаются? Я ванговать должен?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я ванговать должен?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Судя по скетчу это нифига не старт-стоп, а хрен знает что, закажи на али комплект за 1200р, так будет лучше

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Читайте также:  Навесы своими руками ремонт

DetSimen цена вопроса? )))))))

а если серьезно, то с реле я разобрался — заказал 2шт на али. Работают от 5в.

evgta а что не так со скетчем? Человек написал скетч и демонстрирует его работу на видео.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Это не старт-стоп, старт-стоп при однократном коротком нажатии кнопки 1)включает зажигание 2)включает стартер 3) после запуска САМ(модуль) отключает стартер 4) при повторном нажатии глушит

плюс еще должно быть пару блокировок, и режим ручного запуска

ток вот в этом скетче тупо режим ручного запуска

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

комплект за 1200р

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я ванговать должен?

Но если хотите научиться, то для начала сделайте так

1. Выйдите на улицу и найдите первого же парня, который умеет запускать гугл
2. налейте ему стакан и попросите набрать «подключение реле к Ардуино».
3. Налейте ему ещё стакан и попросите открыть для Вас какие-то результаты
4. Посмотрите, как это делается.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

на просьбу помочь и обьяснить,

следует ответ прицепить непонятно куда, не понятно как и непонятно какой транзистор.

следующий совет пользоваться гуглом.

ей богу, хочется послать вас далеко и на долго.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

за пруф конечно спасибо, но только мне не подходит. Вопрос в первом посте актуален.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Какие транзисторы, как подключаются? Я ванговать должен?

Блин, народ вас тролят, а вы серьезно паритесь. Дайте ему схему от балды, начнет ванговать как пару ардуин сожжет 🙂

Вообще такие клоуны забавляют, что в жизни что в инете. Пошлет, он, сам то наверное всю жизнь в пути 🙂

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

solver, твой жизненн ы й оп ы т просто бесценен, клоун т ы наш ))))))))))))))))))))

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ниче не понял. реле вот такое: внутри электромагнит. какой диод?

Какие транзисторы, как подключаются? Я ванговать должен?

Ищете на картинках реле и диод.

Если ничего не поняли — читаете «искусство» снова.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

рекомендую вам такую схему

только кнопку посуровее надо

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

на просьбу помочь и обьяснить,

следует ответ прицепить непонятно куда, не понятно как и непонятно какой транзистор.

следующий совет пользоваться гуглом.

ей богу, хочется послать вас далеко и на долго.

Слейся отсюда в ужОсе, убогий! Тупым вопросом ты сам себя уже опустил ниже плинтуса. Никто тут не статен помогать говнюку.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

trembo, я знаю что такое реле и диод ))) я знаю для чего они нужныв принципе ))) Я не пойму нафиг они нужны в моем случаи?

MaksVV, суть задачи в следующем: нужно сделать схему, чтобы авто заводилось одной кнопкой и чтобы ею же глушилось.

Принцип следующий (примерно): при однократном нажатии на кнопку, авто включается в режим готовности — возможность включения/управления печкой, освещением и тд. При повторном нажатии кнопки включается стартер. Пока держим кнопку, стартер крутится, когда авто завелось, отпускаем кнопку — стартер отключается. Если в третий раз нажать кнопку, авто должно выключаться. Ну и защита от дурака должна быть )))

Подобное могу реализовать без ардуино на самих реле, но хочется сделать все по феншую )))

Источник

Оцените статью
Своими руками