#2 Re: Програмування Arduino » Не отключается выход, при получении false значения. » 2018-10-17 22:28:45

Спасибо - учусь wink

Если в:   else (x > 500)
Убрать точку с запятой, программа - выдает ошибку.

Хотя по инструкции там она не нужна, сам удивился. И заметил, что проскакивает на выход: 2, A1 какое-то незначительный напряжение.

In function 'void loop()':
26:3: error: expected ';' before '{' token
42:1: error: expected '}' at end of input

#3 Re: Програмування Arduino » Не отключается выход, при получении false значения. » 2018-10-17 12:57:02

Спасибо большое, за подсказку.
Уже работает (исправленный код - прикрепил).

smile




void setup()
{
  Serial.begin(9600);
  pinMode(A5, INPUT);
  pinMode(4, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(A1, OUTPUT);
}

void loop()
{
  int x = analogRead(A5);
 
  if (x < 500)
  {
  digitalWrite(4, HIGH);
  delay(1000);
 
  digitalWrite(4, LOW);
  delay(1000);
  }
 
else (x > 500);
  {
    digitalWrite(2, HIGH);
    analogWrite(A1, 250);

if (x < 500)
   
{
    digitalWrite(2, LOW);
    analogWrite(A1, 0);
  }
  }
 
  Serial.println(x);
  delay(1000);

}

#4 Програмування Arduino » Не отключается выход, при получении false значения. » 2018-10-16 22:55:31

Extryng
відповідей: 7

Screenshot_20181016-2210122.pngЗдравствуйте, только начал изучать arduino (с помощью Tinkencad). И уже запутался в нескольких строках кода.

Задание:

1) При значении потенциометра <500: мигает красный светодиод.

2) При значении потенциометра >500: светит зеленый светодиодные и работает двигатель.


Что не работает:

- Когда значение потенциометра возвращается в значение <500, не отключаются выхода: 2 и А1


Подскажите пожалуйста, в чем дело. Спасибо.



void setup()
{
  Serial.begin(9600);
  pinMode(A5, INPUT);
  pinMode(4, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(A1, OUTPUT);
}

void loop()
{
  int x = analogRead(A5);
 
  if (x < 500)
  {
  digitalWrite(4, HIGH);
  delay(1000);
 
  digitalWrite(4, LOW);
  delay(1000);
  }
 
  else
  {
    digitalWrite(2, HIGH);
    analogWrite(A1, 250);
  }
 
  Serial.println(x);
  delay(1000);
}

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