ARDUINO Проблема с поворотами сервоприводов

/Vlad

✩✩✩✩✩✩✩
24 Апр 2025
1
0
Всем здравствуйте при создании проекта у меня появилась проблема работает скетч так при попадание света на фоторезистор зажигается светодиод и поворачивается сервопривод и после 5 секунд светодиод потухает и сервопривод поворачивается обратно а происходит так что сервопривод поворачивается только после 5 секунд и почти сразу поворачивается обратно что делать подскажите пожалуйста.

Вот скетч:
#include <Servo.h>

#define YELLOW1 2
#define YELLOW2 3
#define YELLOW3 4

#define PIN_PHOTO_SENSOR A0
#define PIN_PHOTO_SENSOR1 A1
#define PIN_PHOTO_SENSOR2 A2

Servo servo1;
Servo servo2;
Servo servo3;

void setup() {

Serial.begin(9600);

pinMode(PIN_PHOTO_SENSOR, INPUT);
pinMode(PIN_PHOTO_SENSOR2, INPUT);
pinMode(PIN_PHOTO_SENSOR1, INPUT);

pinMode(YELLOW1, OUTPUT);
pinMode(YELLOW2, OUTPUT);
pinMode(YELLOW3, OUTPUT);

servo1.attach(8);
servo2.attach(9);
servo3.attach(10);
}
void loop() {
int val = analogRead(PIN_PHOTO_SENSOR);
Serial.println(val);
if (val > 100 ){
digitalWrite(YELLOW1, HIGH);
servo1.write(90);
delay(5000);
digitalWrite(YELLOW1, LOW);
servo1.write(0);
}
val = analogRead(PIN_PHOTO_SENSOR1);
Serial.println(val);
if (val > 100 ){
digitalWrite(YELLOW2, HIGH);
servo2.write(90);
delay(5000);
digitalWrite(YELLOW2, LOW);
servo2.write(0);
}
val = analogRead(PIN_PHOTO_SENSOR2);
Serial.println(val);
if (val > 100 ){
digitalWrite(YELLOW3, HIGH);
servo3.write(90);
delay(5000);
digitalWrite(YELLOW3, LOW);
servo3.write(0);
}}
void yield() {
int val = analogRead(PIN_PHOTO_SENSOR);
Serial.println(val);
if (val > 100 ){
digitalWrite(YELLOW1, HIGH);
servo1.write(90);
delay(5000);
digitalWrite(YELLOW1, LOW);
servo1.write(0);
}
val = analogRead(PIN_PHOTO_SENSOR1);
Serial.println(val);
if (val > 100 ){
digitalWrite(YELLOW2, HIGH);
servo2.write(90);
delay(5000);
digitalWrite(YELLOW2, LOW);
servo2.write(0);
}
val = analogRead(PIN_PHOTO_SENSOR2);
Serial.println(val);
if (val > 100 ){
digitalWrite(YELLOW3, HIGH);
servo3.write(90);
delay(5000);
digitalWrite(YELLOW3, LOW);
servo3.write(0);
}}
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
583
176
Отредактируйте ваше сообщение вставив код по правилам.
1745471632556.png
И проще разбираться с одним сервоприводом, сократив скетч до одного сервопривода.