#1 Re: Програмування Arduino » Цикл for не хочет работать. » 2016-07-20 14:04:25

smile
Я решил для себя сделать на ардуино управление. Согласен, что подход не очень. Но он на уровне моих знаний языка sad

#2 Re: Програмування Arduino » Цикл for не хочет работать. » 2016-07-20 13:25:24

Разобрался. Спасибо всем не равнодушным!

/*
* Моя программа 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);
       
      }
   
    }


  }

#3 Re: Програмування Arduino » Цикл for не хочет работать. » 2016-07-20 10:21:57

Спасибо! Буду смотреть.
Надо было с начала так помочь.

#4 Re: Програмування Arduino » Цикл for не хочет работать. » 2016-07-20 10:10:22

1сек. нормально. С Вашим я пока не могу разобраться почему не работает.
Что я не так с   for   делаю понять бы.

#6 Re: Програмування Arduino » Цикл for не хочет работать. » 2016-07-20 09:05:45

Спасибо за ответ. Но лишних тело движений не было.
Если ВАЛ больше 500 цикл должен не выполняться. И вот если цикл начал выполнение, переменная ВАЛ не выводит из цикла sad

#7 Програмування Arduino » Цикл for не хочет работать. » 2016-07-20 08:47:06

Richi
відповідей: 13

По условию 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);
       
      }
   
    }


  }

Підвал форуму