ahh that's from different positions from where the values are being read. in function, in IF statement, before IF just trying to get them where im asked. if you look at the code you will see where they are from. ( did that to keep it simple and noticeable where they are coming out of arduino IDE serial term is not what i would call robust.)
code as of now.
//#include <Servo.h>
#include <Mirf.h>
#include <MirfHardwareSpiDriver.h>
#include <MirfSpiDriver.h>
#include <nRF24L01.h>
#include <SPI.h>
//**************Setup # servos to use*********
//Servo myservo0;
//Servo myservo1;
// Servo myservo#;
//**************End Servo Setup***************
//***** set vars for each pots/sensor reading from transmitter
int val0; // servo 1
int val1; // servo 2
int val2; // servo 3
int val3; // servo 4
//int oldVal0;
int DIR_A = 12; //L298 DIR A Digital High/Low = left/right
int PWM_A = 3; //L298 PWM A Analog
int ENA_A = 9; //L298 Enable A Digital Hight/low on/off
int DIR_B = 13; //L298 DIR A Digital High/Low = left/right
int PWM_B = 11; //L298 PWM A Analog
int ENA_B = 8; //L298 Enable A Digital Hight/low on/off
//*********************************************
void setup(){
Serial.begin(57600);
pinMode(DIR_A, OUTPUT);
pinMode(PWM_A, OUTPUT);
pinMode(ENA_A, OUTPUT);
pinMode(DIR_B, OUTPUT);
pinMode(PWM_B, OUTPUT);
pinMode(ENA_B, OUTPUT);
//************ Pin set for servos*************
// myservo0.attach(4);
// End Pinset for servos
//**************Start Transiever (NRF24L01) config**************
Mirf.cePin = 48;
Mirf.csnPin = 49;
// Mirf.cePin = 7;
// Mirf.csnPin = 9;
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR((byte *)"reci1");
Mirf.payload = 4 * sizeof(byte);
Mirf.config();
//**************End Transiever (NRF24L01) config**************
Serial.println("Beginning..."); // print somthing once to Serial to know your up
}
void loop(){
//+++++++++++Start data collection from transciever+++++++++
byte data[Mirf.payload];
if(Mirf.dataReady()){
do{
Mirf.getData(data);
//*********** Start array to collect pot/sensor data *********
val0 = data[0]; //Pot 1 on Transmitter
val1 = data[1]; //Pot 2 on Transmitter
val2 = data[2]; //Pot 1 on Transmitter
val3 = data[3]; //Pot 2 on Transmitter
//*********** End array to collect pot/sensor data *********
//**********Start Loop to print array to Serial Monitor
/*
int i;
for (i = 0; i < 4; i = i + 1) {
Serial.println(data[i], DEC);
}
// */
//**********End Loop to print array to Serial Monitor
delay(10);
}
while(!Mirf.rxFifoEmpty());
}
//++++++++ END data collection from transciever++++++++++++
// int delta0 = abs(val0 - oldVal0);
// if(delta0 > 2){
// myservo0.write(val0);
// Serial.print("Servo:");
// Serial.println(val0);
// }
//_________________________Drive___________________________
//________________Forward / Reverse_____________
Serial.println(val1);
if(val1 < 110 ){
motorReverse();
}
else if(val1 > 135){
motorForward();
}
else{
motorStop();
}
//______________Left / Right________________
if(val2 < 110 ){
motorLeft();
}
else if(val2 > 135){
motorRight();
}
else{
motorStop();
}
//_____________________END DRIVE___________________
} // end of program
//***********************
//*************** External funct*********************
int motorForward() {
val1 = map(val1, 135, 254, 0, 254);
digitalWrite(ENA_A, LOW);
digitalWrite(DIR_A, LOW);
analogWrite(PWM_A, val1);
digitalWrite(ENA_B, LOW);
digitalWrite(DIR_B, LOW);
analogWrite(PWM_B, val1);
// Serial.println("Forward: ");
// Serial.println(val1);
}
int motorReverse() {
val1 = map(val1, 110, 0, 100, 254);
digitalWrite(ENA_A, LOW);
digitalWrite(DIR_A, HIGH);
analogWrite(PWM_A, val1);
digitalWrite(ENA_B, LOW);
digitalWrite(DIR_B, HIGH);
analogWrite(PWM_B, val1);
// Serial.println("Reverse: ");
// Serial.println(val1);
}
int motorStop(){
digitalWrite(ENA_A, LOW);
digitalWrite(DIR_A, LOW);
analogWrite(PWM_A, 0);
digitalWrite(ENA_B, LOW);
digitalWrite(DIR_B, LOW);
analogWrite(PWM_B, 0);
// Serial.println("Stop: ");
// Serial.println(val1);
}
int motorLeft(){
val2 = map(val2, 135, 254, 0, 254);
digitalWrite(ENA_A, LOW);
digitalWrite(DIR_A, HIGH);
analogWrite(PWM_A, val2);
digitalWrite(ENA_B, LOW);
digitalWrite(DIR_B, LOW);
analogWrite(PWM_B, val2);
// Serial.println("Left: ");
// Serial.println(val0);
}
int motorRight(){
val2 = map(val2, 110, 0, 100, 254);
digitalWrite(ENA_A, LOW);
digitalWrite(DIR_A, LOW);
analogWrite(PWM_A, val2);
digitalWrite(ENA_B, LOW);
digitalWrite(DIR_B, HIGH);
analogWrite(PWM_B, val2);
// Serial.println("Right: ");
// Serial.println(val0);
}