• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
tablica zmiennych
#1
witam Was wszystkich serdecznie ! proszę o pomoc i z góry dziękuję. pytanie brzmi - dlaczego w tablicy zmiennych wykonuje sie tylko pierwsze 16 poleceń? płytki mega,nrf24l01. link do filmu podglądowego:  https://youtu.be/xw4sdLZUjUA p.s. jestem początkujący w pisaniu kodów,nie cały rok  Rolleyes
a oto kod:
 TX
Kod:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#define joy1x  A0
#define joy1y  A1
#define joy2x  A2
#define joy2y  A3
#define joy3x  A4
#define joy3y  A5
#define joy4x  A6
#define joy4y  A7
#define pot1    A8
#define pot2    A9
#define pot3    A10
#define pot4    A11
#define pot5    A12
#define bt1    13
#define bt2    12
#define bt3    42
#define bt4    43
#define sw1    22
#define sw2    23
#define sw3    24
#define sw4    25
#define sw5    26
#define sw6    27
#define sw7    28
#define sw8    29
RF24 radio(49, 53);
const byte address[6] = "00001";

void setup()
{
Serial.begin(19200);
    radio.begin();
    radio.openWritingPipe(address);
    radio.setPALevel(RF24_PA_MIN);
    radio.stopListening();
pinMode(joy1x, INPUT);
pinMode(joy1y, INPUT);
pinMode(joy2x, INPUT);
pinMode(joy2y, INPUT);
pinMode(joy3x, INPUT);
pinMode(joy3y, INPUT);
pinMode(joy4x, INPUT);
pinMode(joy4y, INPUT);
pinMode(pot1,  INPUT);
pinMode(pot2,  INPUT);
pinMode(pot3,  INPUT);
pinMode(pot4,  INPUT);
pinMode(pot5,  INPUT);
pinMode(bt1, INPUT_PULLUP);
pinMode(bt2, INPUT_PULLUP);
pinMode(bt3, INPUT_PULLUP);
pinMode(bt4, INPUT_PULLUP);
pinMode(sw1, INPUT_PULLUP);
pinMode(sw2, INPUT_PULLUP);
pinMode(sw3, INPUT_PULLUP);
pinMode(sw4, INPUT_PULLUP);
pinMode(sw5, INPUT_PULLUP);
pinMode(sw6, INPUT_PULLUP);
pinMode(sw7, INPUT_PULLUP);
pinMode(sw8, INPUT_PULLUP);
}

void loop()
{
  int tab[25];
tab[0]  = analogRead(joy1x);
tab[1]  = analogRead(joy1y);
tab[2]  = analogRead(joy2x);
tab[3]  = analogRead(joy2y);
tab[4]  = analogRead(joy3x);
tab[5]  = analogRead(joy3y);
tab[6]  = analogRead(joy4x);
tab[7]  = analogRead(joy4y);
tab[8]  = analogRead(pot1);
tab[9]  = analogRead(pot2);
tab[10] = analogRead(pot3);
tab[11] = analogRead(pot4);
tab[12] = analogRead(pot5);
tab[13] = digitalRead(bt1);
tab[14] = digitalRead(bt2);
tab[15] = digitalRead(bt3);
tab[16] = digitalRead(bt4);
tab[17] = digitalRead(sw1);
tab[18] = digitalRead(sw2);
tab[19] = digitalRead(sw3);
tab[20] = digitalRead(sw4);
tab[21] = digitalRead(sw5);
tab[22] = digitalRead(sw6);
tab[23] = digitalRead(sw7);
tab[24] = digitalRead(sw8);

//Serial.println(tab[0]);
//Serial.println(tab[1]);
//Serial.println(tab[2]);
//Serial.println(tab[3]);
//Serial.println(tab[4]);
//Serial.println(tab[5]);
//Serial.println(tab[6]);
//Serial.println(tab[7]);
//Serial.println(tab[8]);
//Serial.println(tab[9]);
//Serial.println(tab[10]);
//Serial.println(tab[11]);
//Serial.println(tab[12]);
//Serial.println(tab[13]);
//Serial.println(tab[14]);
//Serial.println(tab[15]);
//Serial.println(tab[16]);
//Serial.println(tab[17]);
//Serial.println(tab[18]);
//Serial.println(tab[19]);
//Serial.println(tab[20]);
//Serial.println(tab[21]);
//Serial.println(tab[22]);
//Serial.println(tab[23]);
//Serial.println(tab[24]);

  radio.write(&tab, sizeof(tab));
  delay(15);
}

RX
Kod:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>

RF24 radio(49, 53);
const byte address[6] = "00001";

int joy1_lp = 8;    //joystick1
int joy1_lt = 9;
int joy1_pp = 10;
int joy1_pt = 11;
int joy2xH = 22;  //joystick2
int joy2xL = 23;
int joy2yH = 24;
int joy2yL = 25;
int joy3xH = 26;  //joystick3
int joy3xL = 27;
int joy3yH = 28;
int joy3yL = 29;
int joy4xH = 30;  //joystick4
int joy4xL = 31;
int joy4yH = 32;
int joy4yL = 33;
int bt1 = 13;      //button x4
int bt2 = 12;
int bt3 = 34;
int bt4 = 35;
int sw1 = 36;      //switch x8
int sw2 = 37;
int sw3 = 38;
int sw4 = 39;
int sw5 = 40;
int sw6 = 41;
int sw7 = 42;
int sw8 = 43;
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;

void setup()
{
  Serial.begin(19200);
pinMode(joy1_lp, OUTPUT);
pinMode(joy1_lt, OUTPUT);
pinMode(joy1_pp, OUTPUT);
pinMode(joy1_pt, OUTPUT);
pinMode(joy2xH, OUTPUT);
pinMode(joy2xL, OUTPUT);
pinMode(joy2yH, OUTPUT);
pinMode(joy2yL, OUTPUT);
pinMode(joy3xH, OUTPUT);
pinMode(joy3xL, OUTPUT);
pinMode(joy3yH, OUTPUT);
pinMode(joy3yL, OUTPUT);
pinMode(joy4xH, OUTPUT);
pinMode(joy4xL, OUTPUT);
pinMode(joy4yH, OUTPUT);
pinMode(joy4yL, OUTPUT);
pinMode(bt1, OUTPUT);
pinMode(bt2, OUTPUT);
pinMode(bt3, OUTPUT);
pinMode(bt4, OUTPUT);
pinMode(sw1, OUTPUT);
pinMode(sw2, OUTPUT);
pinMode(sw3, OUTPUT);
pinMode(sw4, OUTPUT);
pinMode(sw5, OUTPUT);
pinMode(sw6, OUTPUT);
pinMode(sw7, OUTPUT);
pinMode(sw8, OUTPUT);
servo1.attach(2);
servo2.attach(3);
servo3.attach(4);
servo4.attach(5);
servo5.attach(6);

  radio.begin();
  radio.openReadingPipe(0, address);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();
digitalWrite(joy1_lp, LOW);
digitalWrite(joy1_lt, LOW);
digitalWrite(joy1_pp, LOW);
digitalWrite(joy1_pt, LOW);
  servo1.write(90);
  servo2.write(90);
  servo3.write(90);
  servo4.write(90);
  servo5.write(90);
}

void loop()
{
delay(15);
if ( radio.available()) {tab();}
}

void tab()
{
STOPP(); while (radio.available())
{
int tab[25];
radio.read(&tab, sizeof(tab));

  if(tab[0] > 900){wprzod();}     
  if(tab[0] < 100){wtyl();}         
  if(tab[1] > 900){wlewo();}       
  if(tab[1] < 100){wprawo();}   
if(tab[2] > 900){joy_2_xH();}         
if(tab[2] < 100){joy_2_xL();}         
if(tab[3] > 900){joy_2_yH();}   
if(tab[3] < 100){joy_2_yL();}   
  if(tab[4] > 900){joy_3_xH();}       
  if(tab[4] < 100){joy_3_xL();}       
  if(tab[5] > 900){joy_3_yH();} 
  if(tab[5] < 100){joy_3_yL();} 
if(tab[6] > 900){joy_4_xH();}         
if(tab[6] < 100){joy_4_xL();}       
if(tab[7] > 900){joy_4_yH();} 
if(tab[7] < 100){joy_4_yL();} 

int pot1 = map(tab[8], 0, 1023, 0, 180);
int pot2 = map(tab[9], 0, 1023, 0, 180);
int pot3 = map(tab[10], 0, 1023, 0, 180);
int pot4 = map(tab[11], 0, 1023, 0, 180);
int pot5 = map(tab[12], 0, 1023, 0, 180);
servo1.write(pot1);
servo2.write(pot2);
servo3.write(pot3);
servo4.write(pot4);
servo5.write(pot5);
  if(tab[13] == 0){digitalWrite(bt1, HIGH);}       
  if(tab[13] == 1){digitalWrite(bt1, LOW);}
  if(tab[14] == 0){digitalWrite(bt2, HIGH);}       
  if(tab[14] == 1){digitalWrite(bt2, LOW);}
  if(tab[15] == 0){digitalWrite(bt3, HIGH);}     
  if(tab[15] == 1){digitalWrite(bt3, LOW);}
  if(tab[16] == 0){digitalWrite(bt4, HIGH);}
  if(tab[16] == 1){digitalWrite(bt4, LOW);}
if(tab[17]  == 0){digitalWrite(sw1, LOW);}     
if(tab[17]  == 1){digitalWrite(sw1, HIGH);}
if(tab[18]  == 0){digitalWrite(sw2, LOW);}
if(tab[18]  == 1){digitalWrite(sw2, HIGH);}     
if(tab[19]  == 0){digitalWrite(sw3, LOW);}     
if(tab[19]  == 1){digitalWrite(sw3, HIGH);}
if(tab[20]  == 0){digitalWrite(sw4, LOW);}
if(tab[20]  == 1){digitalWrite(sw4, HIGH);}
if(tab[21]  == 0){digitalWrite(sw5, LOW);}       
if(tab[21]  == 1){digitalWrite(sw5, HIGH);}
if(tab[22]  == 0){digitalWrite(sw6, LOW);}       
if(tab[22]  == 1){digitalWrite(sw6, HIGH);}
if(tab[23] == 0){digitalWrite(sw7, LOW);}     
if(tab[23] == 1){digitalWrite(sw7, HIGH);}
if(tab[24] == 0){digitalWrite(sw8, LOW);}
if(tab[24] == 1){digitalWrite(sw8, HIGH);}
}
}
void wprzod()
{ digitalWrite(joy1_lp, HIGH);
  digitalWrite(joy1_lt, LOW);
  digitalWrite(joy1_pp, HIGH);
  digitalWrite(joy1_pt, LOW);}
void wtyl()
{ digitalWrite(joy1_lp, LOW);
  digitalWrite(joy1_lt, HIGH);
  digitalWrite(joy1_pp, LOW);
  digitalWrite(joy1_pt, HIGH);}
void wlewo()
{ digitalWrite(joy1_lp, LOW);
  digitalWrite(joy1_lt, HIGH);
  digitalWrite(joy1_pp, HIGH);
  digitalWrite(joy1_pt, LOW);}
void wprawo()
{ digitalWrite(joy1_lp, HIGH);
  digitalWrite(joy1_lt, LOW);
  digitalWrite(joy1_pp, LOW);
  digitalWrite(joy1_pt, HIGH);}

void joy_2_xH()
{ digitalWrite(joy2xH, HIGH);}
void joy_2_xL()
{ digitalWrite(joy2xL, HIGH);}
void joy_2_yH()
{ digitalWrite(joy2yH, HIGH);}
void joy_2_yL()
{ digitalWrite(joy2yL, HIGH);}

void joy_3_xH()
{ digitalWrite(joy3xH, HIGH);}
void joy_3_xL()
{ digitalWrite(joy3xL, HIGH);}
void joy_3_yH()
{ digitalWrite(joy3yH, HIGH);}
void joy_3_yL()
{ digitalWrite(joy3yL, HIGH);}

void joy_4_xH()
{ digitalWrite(joy4xH, HIGH);}
void joy_4_xL()
{ digitalWrite(joy4xL, HIGH);}
void joy_4_yH()
{ digitalWrite(joy4yH, HIGH);}
void joy_4_yL()
{ digitalWrite(joy4yL, HIGH);}

void STOPP()
{ digitalWrite(joy1_lp, LOW);
  digitalWrite(joy1_lt, LOW);
  digitalWrite(joy1_pp, LOW);
  digitalWrite(joy1_pt, LOW);
  digitalWrite(joy2xH, LOW);
  digitalWrite(joy2xL, LOW);
  digitalWrite(joy2yH, LOW);
  digitalWrite(joy2yL, LOW);
  digitalWrite(joy3xH, LOW);
  digitalWrite(joy3xL, LOW);
  digitalWrite(joy3yH, LOW);
  digitalWrite(joy3yL, LOW); 
  digitalWrite(joy4xH, LOW);
  digitalWrite(joy4xL, LOW);
  digitalWrite(joy4yH, LOW);
  digitalWrite(joy4yL, LOW);
}
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości