PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Разработка программ (http://pccar.ru/forumdisplay.php?f=27)
-   -   HELP!! Arduino (http://pccar.ru/showthread.php?t=16136)

Dj Aleks 28.10.2011 21:39

пробовал так))) схема перестает вообще работать! :( если void loop() зацикливает программу, то почему она после когда все потушили не запускается по новой?

BlkDem 28.10.2011 21:42

Код ТС работать не будет. Условия некорректны ;)

Dj Aleks 28.10.2011 21:42

Цитата:

Сообщение от Hamster (Сообщение 200138)
Программа не может взять и остановиться :)
Она может зациклится или тупо стоять и ждать определенного события (считай тот же цикл).

но событие есть)))
void loop()
{
if (digitalRead(VhodPin) == HIGH)
digitalWrite(VihodPin, HIGH); // вот первое, на котором останавливается
delay(100); //вот дальше
digitalWrite(VihodPin, LOW);
delay(100);
digitalWrite(VihodPin, HIGH);
delay(100);
digitalWrite(VihodPin, LOW);
delay(100);
}
}

Dj Aleks 28.10.2011 21:44

Цитата:

Сообщение от BlkDem (Сообщение 200141)
Код ТС работать не будет. Условия некорректны ;)

а в чем именно?!:hang::secret:

Dj Aleks 28.10.2011 21:46

уже вешаться хочется от arduino этого.... вроде все просто, а вроде.....

BlkDem 28.10.2011 21:50

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

Так еще попробуй.

PHP код:

void loop() 

if ((
digitalRead(StartPin) == HIGH
{
 if (
digitalRead(TormPin) == HIGH)) //сравнение 2 входов 

digitalWrite(ACCPinHIGH); //включаем зажигание 
delay(150); 
digitalWrite(StPinHIGH); //включаем стартер 
delay(200);  
digitalWrite(StPinLOW); //выключаем стартер через 10 сек 
delay(50);  
digitalWrite(MBPinHIGH); //Подаем напряжение на блок питания ноутбука  
delay(40);  
digitalWrite(RSPinHIGH); //нажатие кнопки ноутбука 
delay(20);  
digitalWrite(RSPinLOW); //отпускаем кнопку 
delay(1200);  
digitalWrite(RemPinHIGH); //remote усилителя 


else

digitalWrite(ACCPinLOW); //выключаем АСС 
delay(100); 
digitalWrite(RemPinLOW); //Усилители  
digitalWrite(RSPinHIGH); //кнопка ноутбука 
delay(100);  
digitalWrite(RSPinLOW); //отпускаем 
delay(1200); 
digitalWrite(MBPinLOW); //глушим блок питания бука 


}


Мог попутать количество скобок, не обессудь :)

Dj Aleks 28.10.2011 21:51

Вложений: 1
вот отладочная схема...

BlkDem 28.10.2011 21:54

Таблицу соответствия пинов ардуины и атмеги имеешь перед глазами? Ничего не перепутано?

Dj Aleks 28.10.2011 21:55

Цитата:

Сообщение от BlkDem (Сообщение 200148)
У тебя оба условия будут выполняться. Пофиг, нажат тормоз или нет. Условия не исключающие. Поэтому, я тебе показал, что тормоз надо опрашивать в обоих случаях.

Так еще попробуй.

PHP код:

void loop() 

if ((
digitalRead(StartPin) == HIGH
{
 if (
digitalRead(TormPin) == HIGH)) //сравнение 2 входов 

digitalWrite(ACCPinHIGH); //включаем зажигание 
delay(150); 
digitalWrite(StPinHIGH); //включаем стартер 
delay(200);  
digitalWrite(StPinLOW); //выключаем стартер через 10 сек 
delay(50);  
digitalWrite(MBPinHIGH); //Подаем напряжение на блок питания ноутбука  
delay(40);  
digitalWrite(RSPinHIGH); //нажатие кнопки ноутбука 
delay(20);  
digitalWrite(RSPinLOW); //отпускаем кнопку 
delay(1200);  
digitalWrite(RemPinHIGH); //remote усилителя 


else

digitalWrite(ACCPinLOW); //выключаем АСС 
delay(100); 
digitalWrite(RemPinLOW); //Усилители  
digitalWrite(RSPinHIGH); //кнопка ноутбука 
delay(100);  
digitalWrite(RSPinLOW); //отпускаем 
delay(1200); 
digitalWrite(MBPinLOW); //глушим блок питания бука 


}


Мог попутать количество скобок, не обессудь :)

получается тогда, что если оба канала HIGH то действие выполнится, правильно... а потом else если на 2 каналах не будет HIGH то сработает второе правило... а это значит при движении нажмешь кнопку, понятно, ладно, проехали... а если тормоз)))))) сразу выполняется все что после else...

Dj Aleks 28.10.2011 21:57

Вложений: 1
Цитата:

Сообщение от BlkDem (Сообщение 200150)
Таблицу соответствия пинов ардуины и атмеги имеешь перед глазами? Ничего не перепутано?

имею....


Часовой пояс GMT +4, время: 02:58.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot