Помогите пожалуйста

Есть две ардунки с nrf 24 . Один модуль на пульте с джойстиком , второй стоит с L298N. Проблема в том, что мотор не реагирует на джойстик. Помогите , пожалуйста разобраться...

TX

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#define JOY1 A0
#define JOY2 A1

RF24 radio(9, 10); 


byte address[x][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"}; //возможные номера труб




byte transmit_data[3]; 
byte latest_data[3]; 
boolean flag; 

void setup() {
  Serial.begin(9600); 



  radio.begin(); 
  radio.setAutoAck(1);         
  radio.setRetries(0, 15);    
  radio.enableAckPayload();    
  radio.setPayloadSize(32);     

  radio.openWritingPipe(address[0]);   
  radio.setChannel(0x60);  

  radio.setPALevel (RF24_PA_MAX); 
  radio.setDataRate (RF24_250KBPS); 
  
 

  radio.powerUp(); 
  radio.stopListening(); 
}

void loop() {
  Serial.println(analogRead(JOY2));
  
  transmit_data[0] = map(analogRead(JOY1), 0, 1023, 0, 180); 
  transmit_data[1]=  map(analogRead(JOY2),0,1023,0,255);  
 

  for (int i = 0; i < 3; i++) { 
    if (transmit_data[i] != latest_data[i]) { 
      flag = 1; 
      latest_data[i] = transmit_data[i]; 
    }
  }

  if (flag == 1) {
    radio.powerUp(); 
    radio.write(&transmit_data, sizeof(transmit_data)); 
    flag = 0; 
    radio.powerDown(); 
  }

}


RX


#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include <Servo.h>
#define IN1 6
#define IN2 7
#define ENA 8

RF24 radio(9, 10); 
byte recieved_data[3]; 
int pwm;
int motor; 

Servo myservo;

byte address[][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"}; 

void setup() {
Serial.begin(9600); 
myservo.attach(2);
motor = recieved_data[1]; 
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENA, OUTPUT);
 
  
  radio.begin(); 
  radio.setAutoAck(1);         
  radio.setRetries(0, 15);    
  radio.enableAckPayload();    
  radio.setPayloadSize(32);     

  radio.openReadingPipe(1, address[0]);     
  radio.setChannel(0x60);  

  radio.setPALevel (RF24_PA_MAX); 
  radio.setDataRate (RF24_250KBPS); 
 
 

  radio.powerUp(); 
  radio.startListening(); 
}

void loop() {

Serial.println(recieved_data[1]);   
byte pipeNo;
while ( radio.available(&pipeNo)) {  
    radio.read( &recieved_data, sizeof(recieved_data) );     
    myservo.write(recieved_data[0]);   
    
    
    valX = recieved_data[1]; 
    
    
    
    
    if(valX > 126 && valX < 130){
       digitalWrite(IN1, 0);
       digitalWrite(IN2, 0);
       analogWrite(ENA, 0 );}
    if(valX > 130) {
       valX = map(valX, 130, 255, 0, 255)
       digitalWrite(IN1, 1);
       digitalWrite(IN2, 0);
       analogWrite(ENA, valX );}     
    if(valX < 126) {
       valX = map(valX, 126, 0, 0, 255);
       digitalWrite(IN1, 0);
       digitalWrite(IN2, 1);
       analogWrite(ENA, valX ); }}}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.