Пожалуйста, помогите разобратся со скетчем.

Женя7777777
Offline
Зарегистрирован: 22.01.2017
Доброго времени суток.
Хочу сделать машинку на радиоуправлении управляемою одним джойстиком, как на видео: 
Но не очень получается, не соответствуют данные отправленные с джойстика со строками 042 - 049
Передатчик:
 

#include <SPI.h>
#include "RF24.h" 
RF24 radio(9,10);
const uint64_t pipe = 0xF0F0F0F000LL; 
int msg[3]; 

int potpin_2 = A0; 
int val_2; 
int potpin_3 = A1; 
int val_3; 

void setup(void){
radio.begin();
radio.openWritingPipe(pipe); 

}
void loop() {

val_2 = analogRead(potpin_2),val_2 = map(val_2, 0, 1023, 0, 127),msg[0] = val_2,radio.write(msg, 1);
val_3 = analogRead(potpin_3),val_3 = map(val_3, 0, 1023, 128, 255),msg[0] = val_3,radio.write(msg, 1);
  
}

Приёмник:


#include <SPI.h>
#include "RF24.h"

RF24 radio(9,10);
const uint64_t pipe = 0xF0F0F0F000LL; 
int msg[3]; 
int data; 
int data1;
int fspeed;           // forward speed 
int bspeed;           // backward speed
int fspeed1;           // forward1 speed 
int bspeed1;           // backward1 speed
const int in1 = 15;    // direction pin 
const int in2 = 16;    // direction pin 
const int ena = 3;    // PWM pin to change speed

const int in3 = 17;    // direction pin 
const int in4 = 18;    // direction pin 
const int enb = 5;    // PWM pin to change speed

void setup()
{
  pinMode(in1, OUTPUT);      // connection to L298n
  pinMode(in2, OUTPUT);      // connection to L298n
  pinMode(ena, OUTPUT);      // connection to L298n
  
  pinMode(in3, OUTPUT);      // connection to L298n
  pinMode(in4, OUTPUT);      // connection to L298n
  pinMode(enb, OUTPUT);      // connection to L298n
  
delay(50);
radio.begin();
radio.openReadingPipe(1,pipe); 
radio.startListening();

}
void loop()
{
 if (radio.available())radio.read(msg, 1); 

   if (msg[0] >=128 && msg[0] <=189)data = msg[0], bspeed = map(data, 189, 128, 0, 255), backward(bspeed);
  if (msg[0] >=201 && msg[0] <=255)data = msg[0], fspeed = map(data, 201, 255, 0, 255), forward(fspeed);
  if (msg[0] >=190 && msg[0] <=200)data = msg[0], stop();
      

if (msg[0] >=193 && msg[0] <=221)data1 = msg[0], bspeed1 = map(data1, 255, 227, -255, 255), backward1(bspeed1);
if (msg[0] >=227 && msg[0] <=255)data1 = msg[0], fspeed1 = map(data1, 193, 221, -255, 255), forward1(fspeed1);
if (msg[0] >222 && msg[0] <226)data1 = msg[0], stop();
  

}
void stop()
{
  analogWrite(ena, 0); // 
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  analogWrite(enb, 0); // 
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}
void forward(int fspeed)
{
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(ena, bspeed);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  analogWrite(enb, bspeed);
}

void backward(int bspeed)
{
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  analogWrite(ena, fspeed);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  analogWrite(enb, fspeed);
 
}

void forward1(int fspeed1)
{
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  analogWrite(ena, fspeed1);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  analogWrite(enb, fspeed1);
}

void backward1(int bspeed1)
{
    
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(ena, bspeed1);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  analogWrite(enb, bspeed1);
}


 

Скетч не мой, помогите пожалуйста, как вывести в монитор порта показания джойстика в 4 строки.
1 вперёд, 2 назад, 3 влево, 4 вправо 
Женя7777777
Offline
Зарегистрирован: 22.01.2017

Почему то сьехало, строки 044-051

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Женя777X -> АффтарСкетча()

Женя7777777
Offline
Зарегистрирован: 22.01.2017