Как сделать так, чтобы сервопривод работал от сигнала инфракрасного приемника

Пины для сервопривода и инфракрасного приемника такие: D7, D2
Хочу поворачивать сервопривод от первой кнопки пульта на 70 градусов право и на 70 градусов влево. Помогите с кодом. Нужно поменять тип данных переменных под коды пультов. Ну еще что-то, помогите
Вот код:

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

// Пины
const int servoPin = D7;
const int irPin = D2;
Servo myServo;

IRrecv irrecv(irPin);
decode_results results;

// Коды кнопок (коды различные для одной и той же кнопки одного пульта, это просто проблема всех пультов)
const unsigned long button_left1 = 0xF4BA2988;
const unsigned long button_left2 = 0xE0E040BF;

const unsigned long button_right1 = 0xE0E0807F;
const unsigned long button_right2 = 0xCE3693E6;

void setup() 
{
  Serial.begin(9600);
  irrecv.enableIRIn();
  myServo.attach(servoPin);
  myServo.write(90); 
}

void loop() 
{
  if (irrecv.decode(&results)) {
    unsigned long receivedCode = results.value;
    Serial.print("Received code: 0x");
    Serial.println(receivedCode, HEX);

    if (receivedCode == button_left1 || receivedCode == button_left2) {
      myServo.write(180);
      Serial.println("Turning left");
    } else if (receivedCode == button_right1 || receivedCode == button_right2) {
      myServo.write(0); 
      Serial.println("Turning right");
    }

    irrecv.resume();
  }
}

а в коде от 0 до 180

а в чем проблема?

да, я перепутал с градусами, но это легко поменять.

вот какую ошибку выдает:

Exp_Sketch:5:22: error: ‘D7’ was not declared in this scope
const int servoPin = D7;
^~
C:\Users\to3m5\Desktop\Exp_Sketch\Exp_Sketch.ino:5:22: note: suggested alternative: ‘A7’
const int servoPin = D7;
^~
A7
Exp_Sketch:6:19: error: ‘D2’ was not declared in this scope
const int irPin = D2;
^~
C:\Users\to3m5\Desktop\Exp_Sketch\Exp_Sketch.ino:6:19: note: suggested alternative: ‘A2’
const int irPin = D2;
^~
A2
Exp_Sketch:13:35: error: ‘E0E040BF’ was not declared in this scope
const unsigned int button_left1 = E0E040BF;
^~~~~~~~
Exp_Sketch:14:35: error: ‘F4BA2988’ was not declared in this scope
const unsigned int button_left2 = F4BA2988;
^~~~~~~~
Exp_Sketch:16:36: error: ‘E0E0807F’ was not declared in this scope
const unsigned int button_right1 = E0E0807F;
^~~~~~~~
Exp_Sketch:17:36: error: ‘CE3693E6’ was not declared in this scope
const unsigned int button_right2 = CE3693E6;
^~~~~~~~
exit status 1
‘D7’ was not declared in this scope

Надо поменять тип данных у переменных и код, чтобы он работал для цифровых портов

поменяй просто на 7 и 2

"D:\\ARDUINO\\arduino-1.8.19\\portable\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "C:\\TEMP\\arduino_build_525870/sketch_jul30a.ino.elf"
Скетч использует 6158 байт (19%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 629 байт (30%) динамической памяти, оставляя 1419 байт для локальных переменных. Максимум: 2048 байт.

Вы показываете нам один скетч, а сами компилируете другой?

ошибочка, просто порой меняю кода для пульта. щас кину ошибку нужного кода

Exp_Sketch:5:22: error: ‘D7’ was not declared in this scope
const int servoPin = D7;
^~
C:\Users\to3m5\Desktop\Exp_Sketch\Exp_Sketch.ino:5:22: note: suggested alternative: ‘A7’
const int servoPin = D7;
^~
A7
Exp_Sketch:6:19: error: ‘D2’ was not declared in this scope
const int irPin = D2;
^~
C:\Users\to3m5\Desktop\Exp_Sketch\Exp_Sketch.ino:6:19: note: suggested alternative: ‘A2’
const int irPin = D2;
^~
A2
exit status 1
‘D7’ was not declared in this scope

повторяю второй раз:

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

// Пины
const int servoPin = 7;
const int irPin = 2;
Servo myServo;

IRrecv irrecv(irPin);
decode_results results;

// Коды кнопок (коды различные для одной и той же кнопки одного пульта, это просто проблема всех пультов)
const unsigned long button_left1 = 0xF4BA2988;
const unsigned long button_left2 = 0xE0E040BF;

const unsigned long button_right1 = 0xE0E0807F;
const unsigned long button_right2 = 0xCE3693E6;

void setup() 
{
  Serial.begin(9600);
  irrecv.enableIRIn();
  myServo.attach(servoPin);
  myServo.write(90); 
}

void loop() 
{
  if (irrecv.decode(&results)) {
    unsigned long receivedCode = results.value;
    Serial.print("Received code: 0x");
    Serial.println(receivedCode, HEX);

    if (receivedCode == button_left1 || receivedCode == button_left2) {
      myServo.write(180);
      Serial.println("Turning left");
    } else if (receivedCode == button_right1 || receivedCode == button_right2) {
      myServo.write(0); 
      Serial.println("Turning right");
    }

    irrecv.resume();
  }
}

спасибо, извиняюсь, что не увидел твой комментарий, теперь выводит в консоль все, но сервопривод все равно не двигается :frowning:

может коды с пульта другие? проверять надо

Выложите полный вывод сообщения о компиляции - чтобы были указаны все библиотеки.

сейчас, у меня вроде получилось пофиксить, в ином случае скину вывод сообщения

все, у меня заработало. какие-то проблемы были с проводами
спасибо вам всем за помощь!