Квадрокоптер с захватом

Icy

✩✩✩✩✩✩✩
26 Дек 2022
1
0
Идея такая. Квадрокоптер взлетает, (хз, какой, мне не сообщили) и включает свой светодиод (штатный) , фоторезистор на все это смотрит и когда светодиод включается , тогда он открывает первую клешню (за счет серво) когда выключается, тогда открывают вторую .

Проблема в том, что двигатели работают вместе и открытия клешень по отдельности не происходит :(

Может дело в коде, а может это все дело можно оптимизировать, вообщем голову я сломал окончательно, Help

Вот код:
C++:
#include <Servo.h>
#define PHOTO_TRESHOLD 400
Servo servo1;
Servo servo2;

void setup()
{
  Serial.begin(9600);
  servo1.attach(10);
  servo2.attach(11);

  servo1.write(10);
  servo2.write(160);

  delay(200);
}
void loop()
{
  int val = analogRead(A7);
  Serial.println(val);

  if (val > PHOTO_TRESHOLD)
  {
    servo1.write(160);
    digitalWrite(13, HIGH);

    while (val > PHOTO_TRESHOLD)
    {
      val = analogRead(A7);
    }
    servo2.write(10);
    digitalWrite(13, LOW);
  }
}
 

Вложения

Изменено:

Max_K

✩✩✩✩✩✩✩
21 Дек 2022
14
2
@Icy,
Во первых не плохо было бы еще и комментарии к коду.
Например
servo1.write(10);
servo2.write(160);
Это что? 10 это открыто или закрыто? 160 соответственно так же. И одинаково ли это для обоих серв?
И то что написано в коде оно выполнится всего один раз для данного кода.
И в какой момент микроконтроллер стартует?
Я думаю, что если Вы добавите комментарии на счет открыто/закрыто и просто пройдетесь глазами по коду с учетом времени старта МК, то поймете в чем ошибка.