Не работает машинка на радиоуправлении, что не так?

Доброго времени суток, собираю машинку на радиоуправлении на - arduino nano.
К nano подсоединен драйвер моторов l298n по схеме - Ena - d2, int1- d3, int2 - d4, int3 - d5, int4- d6, enb - d7, модуль nrf24l01 - ce - d8, csn -d9, sck - d13, mo - d11, mi - d12. К пульту управления на такой же нано, подключен модуль nrf24l01 - ce - d8, csn -d9, sck - d13, mo - d11, mi - d12 и джойстик vrx -a4, vry - a3. Проблема следующая, с данным кодом, колеса при подачи питания сами крутятся. Помогите со скетчем, кто поможет, отблагодарю на карту.

Код для пульта управления (Arduino с джойстиком):

#include

#include

// Настройка пина для NRF24L01

#define CE_PIN 8

#define CSN_PIN 9

RF24 radio(CE_PIN, CSN_PIN);

// Пины джойстика

#define VRX A4

#define VRY A3

// Настройки адреса для передачи данных

const byte address[6] = "00001";

void setup() {

Serial.begin(9600);

radio.begin();

radio.openWritingPipe(address);

radio.setPALevel(RF24_PA_HIGH);

radio.stopListening();

}

void loop() {

int xValue = analogRead(VRX);

int yValue = analogRead(VRY);

// Отправка данных

int joystickData[2] = {xValue, yValue};

radio.write(&joystickData, sizeof(joystickData));

delay(100); // Задержка для стабильности передачи

}

Код для принимающего устройства (Arduino с моторчиками):

#include

#include

// Настройка пина для NRF24L01

#define CE_PIN 8

#define CSN_PIN 9

RF24 radio(CE_PIN, CSN_PIN);

// Пины для управления моторами

#define ENA 2

#define IN1 3

#define IN2 4

#define IN3 5

#define IN4 6

#define ENB 7

// Настройки адреса для приема данных

const byte address[6] = "00001";

void setup() {

Serial.begin(9600);

radio.begin();

radio.openReadingPipe(1, address);

radio.setPALevel(RF24_PA_HIGH);

radio.startListening();

// Инициализация пинов моторов

pinMode(ENA, OUTPUT);

pinMode(IN1, OUTPUT);

pinMode(IN2, OUTPUT);

pinMode(ENB, OUTPUT);

pinMode(IN3, OUTPUT);

pinMode(IN4, OUTPUT);

}

void loop() {

if (radio.available()) {

int joystickData[2];

radio.read(&joystickData, sizeof(joystickData));

int xValue = joystickData[0];

int yValue = joystickData[1];

// Управление моторами на основе значений джойстика

controlMotors(xValue, yValue);

}

}

void controlMotors(int x, int y) {

// Преобразование значений джойстика в управление моторами

int motorSpeedA = map(y, 0, 1023, -255, 255);

int motorSpeedB = map(x, 0, 1023, -255, 255);

// Управление мотором A

if (motorSpeedA > 0) {

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

analogWrite(ENA, motorSpeedA);

} else if (motorSpeedA < 0) {

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

analogWrite(ENA, -motorSpeedA);

} else {

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

analogWrite(ENA, 0);

}

// Управление мотором B

if (motorSpeedB > 0) {

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

analogWrite(ENB, motorSpeedB);

} else if (motorSpeedB < 0) {

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

analogWrite(ENB, -motorSpeedB);

} else {

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

analogWrite(ENB, 0);

}

}

Перенёс в профильный раздел.

А как они у вас крутятся с этим кодом, если он даже не компилируется?
Как минимум вот тут чего-то не хватает:

Если сделаете тз на проект, я заново напишу программу.

Wizard-sen@yandex.ru