sniper-70
كاربر تک ستاره
ارسالها: 32
موضوعها: 22
تاریخ عضویت: شهریور ۱۳۹۰
تشکرها : 0
( 4 تشکر در 4 ارسال )
|
کمک در برنامه nrf24 با اردوینو
سلام دوستان
عزیزانی که در کد نویسی اردوینو تجربه دارن . برنامه زیر یه برنامه فرستنده و گیرنده با nrf24 است . ولی با زدن هر کلید فقظ یک led روشن میشه. هر جورم تغیرش میدم درست بشو نیست. راهنمایی میکنین مشکل چیه
فرستنده
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int msg[2];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int sw1 = 2;
int sw2 = 4;
void setup(void){
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
pinMode(2, INPUT);
pinMode(4, INPUT);}
void loop(void){
if (digitalRead(sw1) == HIGH){
msg[0] = 1;
radio.write(msg, 1);}
if (digitalRead(sw2)==HIGH) {
msg[1]= 2;
radio.write(msg, 1);
} }
گیرنده
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int msg[2];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int led1 = 2;
int led2= 4;
void setup(){
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
pinMode(2, OUTPUT);
pinMode(4,OUTPUT);
}
void loop(void){
if ( radio.available() )
{
// Read the data payload until we've received everything
bool done = false;
while (!done)
{
done = radio.read( msg, sizeof(msg) );
if(msg[0]== 1) {
digitalWrite(2,HIGH);
Serial.print("Message recived ");
} else
{
digitalWrite(2,LOW);
}
if(msg[1]== 2){
digitalWrite(4,HIGH) ;
}
else {
digitalWrite(2,LOW);
}
}
}
}
به امید ایرانی سرافراز
|
|
۱۴-آبان-۱۳۹۵, ۲۱:۱۲:۰۷ |
|
تشکر شده توسط : |
|