Arduino nrf24l01 ile veri gönderme

Merhaba nrf24l01 ile 1342 baytlık bir veriyi alıcı verici devresiyle göndermek istiyorum.Ancak gönderdiğim verinin 01 den başlayıp 30 a kadar aynı şeyi göndermesi lazım 30dan sonra ise tekrar başa dönüp 01 ve 02 diye gönderdiğim mesajı yanında yazmalı.Bu döngüyü nasıl sağlayabilirim

Arduino’dan serial baglantiyla veriyi aktarirsiniz. Python icin yypi’de serial veri okumak icin library vardi. Bilgisayardan da veriyi okursunuz.

veriyi gönderebiliyoruz.0 dan 30 a kadar döngüyü başa alamıyoruz. Mesela 01 hello 02 hello şeklinde 30hello yazıp bittiğinde tekrar 01 hello diye başa dönmesi lazım

Arduino’dan veriyi “01 hello” “02 hello”… seklinde gondermek istiyorsunuz yani, dogru mu anladim? O zaman konu C ile alakali.

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
const uint64_t pipe = 2468;
RF24 radio(CE_PIN, CSN_PIN);
int i;
int j;
char dizi[]=“alissssss”;
int k[31];
int u[31];
char e[]="—";
char f[]=“0”;

void setup() {
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
}

void loop() {
for(j=0;j<30;j++){
k[j]=j+1;
if(j<10){

for(i=0;i<=29;i++){
u[i]=i+1;
if(i<10){

radio.write(f,sizeof(f));
radio.write(k,sizeof(k));
radio.write(e,sizeof(e));
radio.write(f,sizeof(f));
radio.write(u,sizeof(u));
radio.write(dizi,sizeof(dizi));

}else{
radio.write(f,sizeof(f));
radio.write(k,sizeof(k));
radio.write(e,sizeof(e));
radio.write(u,sizeof(u));
radio.write(dizi,sizeof(dizi));

}
}

}else{
for(i=0;i<=29;i++){

if(i<10){
radio.write(k,sizeof(k));
radio.write(e,sizeof(e));
radio.write(f,sizeof(f));
radio.write(u,sizeof(u));
radio.write(dizi,sizeof(dizi));
}else{
radio.write(k,sizeof(k));
radio.write(e,sizeof(e));
radio.write(u,sizeof(u));
radio.write(dizi,sizeof(dizi));
}

}
}
}

biz bu şekilde arduino ile döngü kuruyoruz ama hata alıyoruz. Konu arduino ile ilgili olmalı yani c değil

Kodu

```
kod
```

seklinde paylasman lazim. Fakat duzgun formatladigimda bile bana bir sey ifade etmedi, zira fonksiyon ve degisken isimleri yok.

Tam olarak ne yapmak istedigini anlayamadim fakat veriyi gondermekle degil, uretmekle ilgili sikintilar var sanirim. Oyleyse soruyu/sorunu radyo kodundan bagimsizlastirip sorman lazim. (Elimde radyo modulu ve alici tarafi yoksa koda nasil mudahale edebilirim?)

Sadece sunu soyleyebilirim, bir donguyu “basa almak” istiyorsan icinde yaptigin yan etkili islemlere dikkat etmen lazim. Icinde k modifiye ediliyorsa mesela, baslamadan k’nin belirli bir ilk hale dondurulmesi lazim.

arduinoda radyo kodundan bağımsız üretmekte sıkıntımız yok.Sıkıntımız radyo koduna mesajı tanımlamakta çıkıyor.
#include <SPI.h>
#include “nRF24L01.h”
#include “RF24.h”

// RF Tanımlamaları
#define CE_PIN 8
#define CSN_PIN 7

RF24 verici(CE_PIN, CSN_PIN);

const byte koleAdrei[6] = {‘R’, ‘x’, ‘E’, ‘r’, ‘e’, ‘n’};
char a[] = “alisss”;
bool tamam;
int i;
int j;
int veriler[30];

void setup() {

Serial.begin(9600);
Serial.println(“Haberlesme Baslatildi…”);
verici.begin(); // Modül başlatıldı
verici.setDataRate( RF24_250KBPS ); // Veri akış oranı belirlendi
// Tek seferde aktarılacak saı belirlendi (delay, count) parametreleri ile
verici.openWritingPipe(koleAdrei); // Haberleşme kanalının adresi verildi
verici.stopListening(); // Veri gönderdiği için veri alışını kesti

delay(1000);

}

void loop() {

// Veri gonderme işlemini yap ve bir değişkene ata
tamam = verici.write( &veriler, sizeof(veriler) );

Serial.println("Gonderilen Veri Islemleri: ");

// Eğer veriler gonderildiyse
if (true) {

// Giden verileri ekrana bastir
Serial.println("Veriler Iletildi..");
for(j=1; j<30 ;j++){

       if(j<10){

      for(i=1; i<30 ; i++){
   veriler[i] = i;
      if(i<10){

    Serial.print("0");
   Serial.print(j);
 Serial.print("-- 0");
   Serial.print(veriler[i]);
   Serial.println("Hello World");
     }else{
   Serial.print("0");
    Serial.print(j);
   Serial.print("--");
   Serial.print(veriler[i]);
      Serial.println("  Hello World");
   }
   }


  }else{

   for(i=1; i<30 ; i++){
      veriler[i]= i;
if(i<10){

   Serial.print(j);
    Serial.print("--");
    Serial.print("0");
  Serial.print(veriler[i]);
 Serial.println("  Hello World");
  }else{
  Serial.print(j);
  Serial.print("--");
  Serial.print(veriler[i]);
 Serial.println("  Hello World");
}   
}   
 }  
   }
  }

 }

  Bu kodu radyo dalgası kullanarak nrf üzerinden iletmemiz gerekiyor.