ทดสอบระยะส่ง nRF24L01+ (PA) ครั้งที่สอง

  • 17 Replies
  • 6323 Views
*

Offline JENG

  • *****
  • 808
  • รู้ทุกเรื่องเว้นเรื่องจริง
    • View Profile
ทดสอบระยะส่ง nRF24L01+ (PA) ครั้งที่สอง
ขออนุญาตท่านผู้นำนะคับ น่าจะมีประโยชน์กับคนที่อยากลองควบคุมอะไรบางอย่างจากระยะไกลแบบไร้สาย

ธงก้อนโฟมดุ๊กดิ๊ก


ธงก้อนโฟมดุ๊กดิ๊กต่อกับ servo


พร้อมแว้ว .... ^^


ถ้าเป็นตัวไม่มี PA ระยะแค่นี้ก็เดี้ยงแล้ว


มันไกลจุงเบย ยังคุม servo ได้ปรกติ แต่เกือบมองไม่เห็นแล้ว เลยเลิก


ภาครับ
Code: [Select]


// http://www.bajdi.com
// Nrf24L01 connected to Arduino Uno
// Nrf24L01 connection details http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
// Receives analog value from transmitter and maps it to a PWM range (0-255) to dim a led
 
 
#include <SPI.h>
#include <Servo.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
 
int rate;
int val;


Servo myservo;  // create servo object to control a servo
 
void setup(){
 
  Mirf.cePin = 9;             //ce pin on Mega 2560, REMOVE THIS LINE IF YOU ARE USING AN UNO
  Mirf.csnPin = 10;            //csn pin on Mega 2560, REMOVE THIS LINE IF YOU ARE USING AN UNO
  myservo.attach(6);  // attaches the servo on pin 9 to the servo object
  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR((byte *)"serv1");
  Mirf.payload = sizeof(rate);
  Mirf.config();
}
 
void loop(){
 
  while(!Mirf.dataReady()){
  }
  Mirf.getData((byte *) &rate);
  val = map(rate, 0, 1023, 0, 179);
  myservo.write(val);
  delay(10);
}

ภาคส่ง
Code: [Select]
// http://www.bajdi.com
// Nrf24L01 connected to Mega 2560
// Nrf24L01 connection details http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
// Transmit analog value from pin A0 to the receiver
 
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
 
int rate;
 
void setup(){
 
  Serial.begin(9600);
  Mirf.cePin = 9;             //ce pin on Mega 2560, REMOVE THIS LINE IF YOU ARE USING AN UNO
  Mirf.csnPin = 10;            //csn pin on Mega 2560, REMOVE THIS LINE IF YOU ARE USING AN UNO
  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR((byte *)"clie1");
  Mirf.payload = sizeof(rate);
  Mirf.config();
}
 
void loop(){
  rate = analogRead(A0);
 
  Mirf.setTADDR((byte *)"serv1");
 
  Mirf.send((byte *) &rate);
 
  while(Mirf.isSending()){
  }
}

สรุป

ระยะที่ module ทำได้จริงๆอาจได้ถึง 500 เมตรหรือไกลกว่านั้น ผมยังอึ้งๆอยู่แบบว่าราคากับคุณภาพมัน...ที่เหลืออธิบายด้วยภาพ
รายละเอียดต่างๆหาอ่านเพิ่มเติมได้จาก internet คับ
สามารถติดตาม electoday ได้ที่

Facebook
www.facebook.com/groups/coopmicro

Google+
https://plus.google.com/communities/103482067769375459277

☺☺☺ความรู้ และความฉลาด ไม่ใช่สิ่งเดียวกัน จะมีประโยชน์อะไร ถ้าฉลาดแต่อยู่ในกะลา☺☺☺

สุดยอดครับท่าน Jeng
นำแนวคิดใหม่ๆ มานำเสนออีกแล้ว
ขอถามต่อนิดนึงครับ
ว่า ถ้าควบคุมได้ไกลมากๆ แล้วจะทราบได้อย่างไร ว่ามันทำงานได้ถูกต้องทุกคำสั่ง อ่ะครับ

*

Offline wlasoi

  • *****
  • 757
    • View Profile
ใช้หลายค่าย สรุปค่าย TI ดีสุด ถ้า  2.4GHz ก็ CC2xxx ดีกว่า ครับ .. อย่าง  CC2530 ที่ใช้ใช้เสาอากาศ Micro-strip ข้ามผนัง 4 ห้อง 20 เมตรที่ 99% คนล่ะเรื่องเลย ติด PA ไปได้ 1.5-3 กิโล กันเบย  ปัญหาของ nRF24xx คือเรื่องของคุณภาพการสื่อสาร ครับ .. เจอเข้า .. ปวดหัวตั้บ!

แต่ เด่นเรื่องราคา ยังกับไล่แจก ..

*

Offline JENG

  • *****
  • 808
  • รู้ทุกเรื่องเว้นเรื่องจริง
    • View Profile
สุดยอดครับท่าน Jeng
นำแนวคิดใหม่ๆ มานำเสนออีกแล้ว
ขอถามต่อนิดนึงครับ
ว่า ถ้าควบคุมได้ไกลมากๆ แล้วจะทราบได้อย่างไร ว่ามันทำงานได้ถูกต้องทุกคำสั่ง อ่ะครับ

ก็คงต้องแล้วแต่เราออกแบบคับ ว่าเราจะมีวิธี error checking แบบไหน เพราะมันรับส่งได้สองทางอยู่แล้ว
สามารถติดตาม electoday ได้ที่

Facebook
www.facebook.com/groups/coopmicro

Google+
https://plus.google.com/communities/103482067769375459277

☺☺☺ความรู้ และความฉลาด ไม่ใช่สิ่งเดียวกัน จะมีประโยชน์อะไร ถ้าฉลาดแต่อยู่ในกะลา☺☺☺

สุดยอดครับท่าน Jeng
นำแนวคิดใหม่ๆ มานำเสนออีกแล้ว
ขอถามต่อนิดนึงครับ
ว่า ถ้าควบคุมได้ไกลมากๆ แล้วจะทราบได้อย่างไร ว่ามันทำงานได้ถูกต้องทุกคำสั่ง อ่ะครับ

ตัว module สามารถทำให้รับส่งได้ 2ทิศทางโดยการกำหนดที่ config ว่าจะต้องการรับหรือส่งครับ
จงเชื่อมั่นในสิ่งที่ทำและมีศรัทธากับสิ่งที่เราเรียนรู้

*

Offline skytec

  • *****
  • 1030
  • "จินตนาการสำคัญกว่าความรู้ " --อัลเบิรต ไอสไตน์
    • View Profile
    • R&D , Technical Consultants , Sensor Developer  , Engineering consultants
ทำเป็น two way remote น่าสนใจน่ะครับ เอามาแทน REMOTE รถยนต์ แบบ One way บ้านเรา ราคา TWO WAY Remote แพงมากๆ  :) :)
"จินตนาการสำคัญกว่าความรู้ ความรู้มีข้อจำกัด จิตนาการไร้ขอบเขต " --อัลเบิร์ต ไอสไตน์

*

Offline IndigoBlue

  • **
  • 54
  • ????
    • View Profile
PA คืออะไรครับ ?

ขออภัยที่ถาม ข้าพเจ้าไม่รู้จริงๆ และอยากรู้จริงๆ

ขอบคุณครับ
มองในสิ่งที่ไม่มีใครมอง สงสัยในสิ่งที่ไม่มีใครสงสัย คิดในสิ่งที่ไม่มีใครคิด ทำในสิ่งที่ไม่มีใครทำ เห็นในสิ่งที่ไม่มีใครเห็น เป็นในสิ่งที่ไม่มีใครเป็น

*

Offline wlasoi

  • *****
  • 757
    • View Profile
เต็มๆมันชื่อ 2.4-GHz RF Front  End ครับ ในตัวมีทั้ง PA (Poweramplifier)  , LNA Low-noise amplifier (LNA)  แต่เรียกง่ายๆ PA ขยายสัญญาน RF
 เป็น chip แยกต่างหาก เช่นภ้าของ CC ก็เป็นเบอร์ CC2591