sg-90 и IR дергается серва

Makarevich
Offline
Зарегистрирован: 09.01.2020

Привет ребята, пытаюсь сделать управление сервой sg-90 при помощи IR датчика и пульта, дергается серва,  в мониторе порта идут комманды, иногда проходит команда с пульта и серва поворачивается, но это редко проходит. Питание сервы от ардуины, это наводки на ir датчик ? поможет ли конденсатор? если да то какой?  или отдельное питание надо? UNO, RX диод мигает в такт припадкам сервы. Спасибо

скетч

Moderator : пожалуйста, вставьте код правильно (возможно, новым сообщением в тему), 
 

 

bwn
Offline
Зарегистрирован: 25.08.2014

Вставьте код по правилам форума (новым сообщением). Правила и рекомендации в начале приколоченной темы.

Makarevich
Offline
Зарегистрирован: 09.01.2020

#include "IRremote.h"
#include <Servo.h>.

IRrecv irrecv(2); // указываем вывод, к которому подключен приемник
decode_results results;

Servo myServo;

int pic = false;
int ServoStep = 90;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // запускаем прием

  myServo.attach(6);
  myServo.write(ServoStep);
}

void loop() {
  if ( irrecv.decode( &results )) { // если данные пришли
    switch ( results.value ) {

      case 50186295:
        if (ServoStep > 20) ServoStep = ServoStep - 40;
        else ServoStep = 10;
        myServo.write(ServoStep);
        break;
      case 50153655:
        if (ServoStep < 170) ServoStep = ServoStep + 40;
        else ServoStep = 170;
        myServo.write(ServoStep);
        break;
    }
    Serial.println( results.value); // печатаем данные
    irrecv.resume(); // принимаем следующую команду
  }
}

 

vvadim
Offline
Зарегистрирован: 23.05.2012