Здравствйте, нужна помощь, только начинаю заниматься ардуино, подскажите что не так. Задумка была такова, когда объект ближе чем 50 см, то загорается лампочка, если нет, то не включается или же вообще отключена. В моём случае светодиот просто загорается и горит, скорее всего я не правильно прописал (echoPin <= 50). int echoPin = 9; int trigPin = 8; int red = 2; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(red, OUTPUT); if (echoPin <= 50) { digitalWrite(red, HIGH); } else { digitalWrite(red, LOW); } } void loop() { int duration, cm; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); cm = duration / 58; Serial.print(cm); Serial.println(" cm"); delay(100); }
int duration, cm; Отвечает за текущее значение дальнометра. cm = duration / 58; Отвечает за значение только уже в сантиметрах, я не могу понять как снять его с этой переменной и использовать в функции If и т.д.
ну duration нам не очень нужно, а cm - оно самое. Получается Код (C++): if (cm <= 50) { digitalWrite(red, HIGH); } else { digitalWrite(red, LOW); } надо вставить после Serial.println(" cm");