Подскажите пожалуйста как зациклить программу, чтобы она читалась постоянно по кругу?
перерыл все...
void loop()
{
тело программы
}
вроде это, но программа доходит до конца и не стартует заново
Подскажите пожалуйста как зациклить программу, чтобы она читалась постоянно по кругу?
перерыл все...
void loop()
{
тело программы
}
вроде это, но программа доходит до конца и не стартует заново
Другой вопрос, когда на входе появляется HIGH, на выходе тоже HIGH и программа не идет дальше... как только вход переходит в LOW программа начинает выполнятся дальше... что не правильно делаю?
int Vhod=2; //вход
int Vihod=13 //выход
void setup()
{
pinMode(VhodPin, INPUT);
pinMode(VihodPin,OUTPUT);
}
if (digitalRead(VhodPin) == HIGH)
{
digitalWrite(VihodPin, HIGH);
delay(100);
digitalWrite(VihodPin, LOW);
delay(100);
digitalWrite(VihodPin, HIGH);
delay(100);
digitalWrite(VihodPin, LOW);
delay(100);
}
___
Так setup выполняется всего один раз
сам код нужно засунуть в цикл Loop
там есть... просто здесь на быструю руку забыл...
вот основной скетч
при нажатии кнопки старт и педали тормоза, работает все нормально... но если нажать еще раз кнопку старт перед этим выжав тормоз и отпустив... то программа как бы зависает... и не отвечает не на что...
int StartPin=0; //вход для кнопки start stop engine
int TormPin=1; //вход для лягушки педали тормоза
int CamPin=2; //вход для камеры заднего вида
int ACCPin=8; //выход на реле зажигания АСС
int StPin=9; //выход на реле стартера
int MBPin=10; //выход на Блок питания ноутбука
int RemPin=11; //выход на включение усилителя (remote)
int CmPin=12; //выход кнопки переключения камеры заднего вида
int RSPin=13; //Выход кнопки для старта ноутбука
void setup()
{
/*Объявляем входы и выходы*/
pinMode(StartPin, INPUT);
pinMode(TormPin, INPUT);
pinMode(CamPin, INPUT);
pinMode(ACCPin, OUTPUT);
pinMode(StPin, OUTPUT);
pinMode(MBPin, OUTPUT);
pinMode(RemPin, OUTPUT);
pinMode(CmPin, OUTPUT);
pinMode(RSPin, OUTPUT);
}
void loop()
{
if (digitalRead(StartPin) == HIGH && digitalRead(TormPin) == HIGH) //сравнение 2 входов
{
digitalWrite(ACCPin, HIGH); //включаем зажигание
delay(150);
digitalWrite(StPin, HIGH); //включаем стартер
delay(200);
digitalWrite(StPin, LOW); //выключаем стартер через 10 сек
delay(50);
digitalWrite(MBPin, HIGH); //Подаем напряжение на блок питания ноутбука
delay(40);
digitalWrite(RSPin, HIGH); //нажатие кнопки ноутбука
delay(20);
digitalWrite(RSPin, LOW); //отпускаем кнопку
delay(1200);
digitalWrite(RemPin, HIGH); //remote усилителя
}
if (digitalRead(StartPin) == HIGH) //сравниваем значение кнопки
{
digitalWrite(ACCPin, LOW); //выключаем АСС
delay(100);
digitalWrite(RemPin, LOW); //Усилители
digitalWrite(RSPin, HIGH); //кнопка ноутбука
delay(100);
digitalWrite(RSPin, LOW); //отпускаем
delay(1200);
digitalWrite(MBPin, LOW); //глушим блок питания бука
}
}
BlkDem, Hamster знакомые лица))))
Ну тык, ресурсы то тематические![]()
У тебя при нажатой кнопке старт сработает if (digitalRead(StartPin) == HIGH) и будет выдерживать паузу 1,4 сек и так по кругу пока не нажмешь еще тормоз, тогда сработает первое условие. Или как вариант сначала нажать тормоз, а потом кнопку старт, сработает первое условие
это все и так понятно как ясный день... вопрос в другом! допустим мы нажали как положено педаль и кнопку... система отработала как надо... чтобы потушить все надо нажать только кнопку... педаль уже не нужна... нажимаю кнопку... все тушится... НО! если перед этим нажать тормоз (а это при езде не избежно) то система на выключение не отрабатывает!
а теперь вопрос... Почему? что не так?
Я не видел схемы, у тебя оптроны или диоды на входах?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)