-
مشکل با ماژول nrf24l01
با سلام و خسته نباشید خدمت همه ی دوستان
من قصد داشتم با دوتا arduino uno و دوتا ماژول nrf24 و یک joystic کار زیر رو انجام بدم
داده های آنالوگ jpystick رو بدم به یکی از بورد ها و داده ها را به صورت یک آرایه روی سریال مانیتور نشون بدم و ارسال کنم بعد روی یک کامپیوتر دیگه اون یکی برد رو وصل کنم و این داده ها رو بگیره و روی سریال مانیتور به نمایش بزاره
ولی مشکلی هست این هست که عدد هایی ک میگیره از جوی استیک دذست هست و آٰرایه ای هم که تشکیل میده درست هست ولی در قسمت گیرنده چیزی نشون نمیده.
کد ها رو این زیر مینویسم ممنون میشم اگه کمکم کنید
raminfathian@gmail.com
اینم ایمیلم هست
در ضمن پایه های nrf24 رو هم وصل کردیم درست
کد فرستنده::
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
RF24 radio(6, 3);
const byte address[6] = "00001";
int xPin = A1;
int yPin = A0;
int buttonPin = 2;
int xPosition = 0;
int yPosition = 0;
int buttonState = 0;
void setup()
{
radio.begin();
radio.setRetries(15, 15);
radio.openWritingPipe(address);
Serial.begin(9600);
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
pinMode(buttonPin, INPUT_PULLUP);
}
void loop()
{
int joyStick[2];
joyStick[0] = analogRead(xPin);
joyStick[1] = analogRead(yPin);
joyStick[0] = map(joyStick[0] , 0, 1023, 0, 180);
joyStick[1] = map(joyStick[1] , 0, 1023, 0, 180);
radio.write(joyStick, sizeof(joyStick));
Serial.print(" joy[0]: ");
Serial.print(joyStick[0]);
Serial.print(" joy[1]: ");
Serial.print(joyStick[1]);
delay(100);
xPosition = analogRead(xPin);
yPosition = analogRead(yPin);
buttonState = digitalRead(buttonPin);
Serial.print(" X: ");
Serial.print(xPosition);
Serial.print(" Y: ");
Serial.print(yPosition);
Serial.print(" Button: ");
Serial.println(buttonState);
delay(100); // add some delay between reads
}
کد گیرنده::
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10);
const byte address[6] = "00001";
void setup()
{
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.startListening();
//pinMode(9 , OUTPUT);
//pinMode(10 , OUTPUT);
pinMode(6 , OUTPUT);
pinMode(7 , OUTPUT);
}
void loop()
{
if (radio.available())
{
int joyStick[2];
radio.read(joyStick, sizeof(joyStick));
Serial.print(" joy[0]: ");
Serial.print(joyStick[0]);
Serial.print(" joy[1]: ");
Serial.print(joyStick[1]);
delay(100);
}
}
-
ببین اول خود nrf هاتو با هم راه بنداز ببین دنیا دست کیه اصن کار می کنن یا نه!
این کد رو تست کن
http://starter-kit.nettigo.eu/2014/c...-other-boards/
مجوز های ارسال و ویرایش
- شما نمیتوانید موضوع جدیدی ارسال کنید
- شما امکان ارسال پاسخ را ندارید
- شما نمیتوانید فایل پیوست کنید.
- شما نمیتوانید پست های خود را ویرایش کنید
-
مشاهده قوانین انجمن
SEO by vBSEO