Atmega328p ile nrf24l01 haberleşmesi

Katılım
5 Tem 2017
Mesajlar
4
Puanları
1
Yaş
25
merhaba arkadaşlar atmega328p ile nrf24l01 i haberleştirdim ama joistikten gönderdiğim bilgi ile ledleri kontrol ediyorum fakat alıcı koduna joistik ortada olduğu zaman ledlerin tamamını söndür komutu veriyorum ama bu sefer ledler sönüyor fakat ledleri yak komutunu gönderdiğimde ledler yanıp yanıp sönüyor bunun için ne yapmam gerekir şimdiden teşekkür ederim.
yazdığım kod;
Kod:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9,10);
const byte address[6] = "RFV01";
int msg[4];
int atm[1];
int a;
int pot;
int LED0 = 5;
int LED1 = 6;
int LED2 = 3;
int LED3 = 4;
int LED4 = 7;
int LED5 = 8;
void setup(void){
 Serial.begin(9600);
  radio.begin();
  radio.setChannel(88);
  radio.setRetries(0,0);
  radio.setDataRate(RF24_250KBPS);
  radio.setPALevel(RF24_PA_MAX);
 
  radio.openReadingPipe(0, address);
  radio.startListening();
   pinMode(LED0, OUTPUT);
 pinMode(LED1, OUTPUT);
 pinMode(LED2, OUTPUT);
 pinMode(LED3, OUTPUT);
 pinMode(LED4, OUTPUT);
 pinMode(LED5, OUTPUT);
 }

void loop(void){
 if (radio.available()){
  
 
      delay(20);

     [URL='http://radio.read/']radio.read[/URL](msg, sizeof(msg)); 
   [URL='http://radio.read/']radio.read[/URL](atm, sizeof(atm));
   if(msg[0]>1000){
 
    delay(10);

     analogWrite(LED1,msg[2]);
    analogWrite(LED0,msg[2]);
    
    digitalWrite(LED2,HIGH);//ın1
    digitalWrite(LED3,LOW);//ın2
    
    digitalWrite(LED4,HIGH);//ın3
    digitalWrite(LED5,LOW); //ın4
   }

  
 
   if(msg[0]<80){
    delay(10);

    analogWrite(LED1,msg[2]);
    analogWrite(LED0,msg[2]);
    
    digitalWrite(LED2,HIGH);//ın1
    digitalWrite(LED3,LOW);//ın2
    
    digitalWrite(LED4,LOW);//ın3
    digitalWrite(LED5,HIGH);//ın4
 
   }
 
    
   if(msg[1]>1000){
    delay(10);       

     analogWrite(LED1,msg[2]);
    analogWrite(LED0,msg[2]);
     digitalWrite(LED2,LOW);//ın1
     digitalWrite(LED3,HIGH);//ın2

     digitalWrite(LED4,LOW);//ın3
     digitalWrite(LED5,HIGH);//ın4
    
   }
 
  if(msg[1]<80){
  
    delay(10);
    
    analogWrite(LED1,msg[2]);
    analogWrite(LED0,msg[2]);
    
    digitalWrite(LED2,LOW);//ın1
    digitalWrite(LED3,HIGH);//ın2
    
    digitalWrite(LED4,HIGH);//ın3
    digitalWrite(LED5,LOW);//ın4
  
   }
 if(atm[0]==2222)
     {
      
   delay(10);
    
   digitalWrite(LED1,LOW);
     digitalWrite(LED0,LOW);
     digitalWrite(LED5,LOW);
     digitalWrite(LED2,LOW);
     digitalWrite(LED3,LOW);
     digitalWrite(LED4,LOW);
     }
    
      }
 
  }
 
Moderatör tarafında düzenlendi:
Arkadasim naptin kodlarini derleye bildin mi sikintin varsa yardimci olabilirim
 
2. if bloğun else bloğu oluşturup onun içinde oluşturursan tam istediğin gibi olur. İki şartta aynı anda sağlandığı için 10 saniye arayla bir yakıp bir söndürüyor bu haliyle elbette bu gönderdiğin parametrelerin doğruluğuna da bağlı iki şartı aynı anda sağlayacak parametre göndermeyeye çalışırsan yine düzelir.
 

Forum istatistikleri

Konular
127,959
Mesajlar
913,912
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Geri
Üst