Soru & Cevap

atmega328p ile nrf24l01 haberleşmesi

03.03.2019 - 12:57

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;
#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);

     radio.read(msg, sizeof(msg));  
   radio.read(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);
     }
     
      }
  
  }

63 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user cbozkurt367
cbozkurt367
05.12.2019 - 03:15
Kodlarında hata var düzeltmen lazım