Ви не увійшли.
Сторінки 1
Я решил для себя сделать на ардуино управление. Согласен, что подход не очень. Но он на уровне моих знаний языка
Разобрался. Спасибо всем не равнодушным!
/*
* Моя программа 004.2
*/
int sensePin = 4;
int ledPin = 10;
int val;
void setup()
{
analogReference(DEFAULT);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop()
{
val = analogRead(sensePin);
if (val >= 500) digitalWrite(ledPin, HIGH);
else
{
for (int x=0; ((x<2) && (val<500)); x++)
{
digitalWrite(ledPin, HIGH);
delay(1000);
val = analogRead(sensePin);
}
digitalWrite(ledPin, LOW);
if (val<500)
{
for (int y=0; ((y<30) && (val<500)); y++)
{
digitalWrite(ledPin, LOW);
delay(1000);
val = analogRead(sensePin);
}
for (int z=0; ((z<4) && (val<500)); z++)
{
digitalWrite(ledPin, HIGH);
delay(1000);
val = analogRead(sensePin);
}
digitalWrite(ledPin, LOW);
}
}
}
Спасибо! Буду смотреть.
Надо было с начала так помочь.
1сек. нормально. С Вашим я пока не могу разобраться почему не работает.
Что я не так с for делаю понять бы.
Да! На любом этапе, с интервалом 1сек.
Спасибо за ответ. Но лишних тело движений не было.
Если ВАЛ больше 500 цикл должен не выполняться. И вот если цикл начал выполнение, переменная ВАЛ не выводит из цикла
По условию val не выпрыгивает из цикла.
Подскажите плиз, что не так?
/*
* Моя программа 004
*/
int sensePin = 4;
int ledPin = 10;
void setup()
{
analogReference(DEFAULT);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop()
{
int val = analogRead(sensePin);
if (val >= 500) digitalWrite(ledPin, HIGH);
else
{
for (int x=0; ((x<2) && (val<500)); x++)
{
digitalWrite(ledPin, HIGH);
delay(1000);
}
digitalWrite(ledPin, LOW);
if (val<500)
{
for (int y=0; ((y<30) && (val<500)); y++)
{
digitalWrite(ledPin, LOW);
delay(1000);
}
for (int z=0; ((z<4) && (val<500)); z++)
{
digitalWrite(ledPin, HIGH);
delay(1000);
}
digitalWrite(ledPin, LOW);
}
}
}
Сторінки 1