ความรู้แน่น ฟรีสำหรับชุมชน ArduinoAll ที่นี่เท่านั้น

ฟรีและดีที่สุด คอร์สอบรม Arduino + NodeMCU
ทำเพื่อแบ่งปัน ห้ามนำไปจำหน่าย หรือเก็บเงินค่าเรียน
  !!!


  


AllNewStep รับประกันคุณภาพทุกชิ้น วันจันทร์-ศุกร์แจ้งชำระสินค้าก่อน 14.00 จัดส่งทันทีวันนี้ค่ะ

กรุงเทพ /ภาคกลาง ได้พรุ่งนี้


*** สินค้าทุกชิ้น ถ้าสามารถทำรายการสั่งซื้อได้ แสดงว่ามีครบทุกรายการค่ะ *** 

พิมพ์ค้นหาบทความ หัวข้อกระทู้ และสินค้าในเว็บ AllNewStep ได้ที่นี่
QUOTE 

NRF24L01 ปรับความเร็วการส่งข้อมูลอย่างไรครับ

Keem Coe

ผมสั่ง NRF24L01 PA LNA  มาคู่นึง และ arduino atmega8 ทดสอบตามโค้ดที่ได้แนะนำในบทความแล้วทำงานได้ดีครับ (ขอบคุณสำหรับโค้ดตัวอย่างด้วยครับ) ผมอยากถามเพิ่มเติมดังนี้ครับ
- ไลบรารี่ที่ให้มาสามารถกำหนดความเร็วในการส่งได้มั้ยครับ เพราะจากข้อมูลในดาต้าชีตถ้าส่งที่ความเร็วตำสุดสามารถส่งได้ไกลสุดใช่มั้ยครับ

- สามารถรับและส่งข้อมูลพร้อมๆกันเลยได้มั้ยครับ เช่น A ส่งข้อมูลไป B ได้รับก็ตอบ ACK กลับมาเพื่อยืนยันข้อมูลและไม่ทราบว่ามันรับส่งกันแบบ half duplex หรือ full duplex ครับ พอจะมีข้อมูลมั้ยครับ

....ตัวนี้ผมจะทำเป็นตัวแปลงข้อมูล serial (uart) แล้วส่งแบบไร้สายไป อีกฝั่งก็รับแล้วส่งต่อออกไปเป็น serial uart อ่ะครับ

ขอบคุณครับ

QUOTE 
ความคิดเห็นที่ #41
เจ้าของร้าน

ก่อนอื่นต้องออกตัวก่อนว่าผมพึ่ง จะหัดเล่น Arduino ได้สักสองสามเดือน ก่อนหน้านี้เคยเล่น PIC มาบ้างแต่ก็เอาดีไม่ได้ เลยโดดมาลอง Arduino ดูบ้าง ก็รู้สึกว่าจับต้องคล่องมือดีกว่าPIC แต่ก็คงเอาดีไม่ได้เหมือนกัน  555
เล่นเอามันเข้าไว้ กำไรอย่าถามถึง

เรื่องมีอยู่ว่า ผมได้สั่ง NRF24L01 มาลองต่อดูและทำตามตัวอย่างในนี้และใช้ Arduino UNO ส่วนอีกบอร์ดที่เป็นตัวส่งผมทำเองเป็น copy UNO ไม่ได้ถ่ายรูปมาให้ดู เดี๋ยวเอามาที่หลังแล้วกัน
พอต่อเสร็จโหลดเสร็จ ผมออกมามันไม่เป็นอย่างที่หวังไว้ เอาล่ะสี ต่อผิดตรงไหนล่ะนี่ พยายามค่อยๆไล่ที่ละจุด
ก็ถูกต้องทั้งหมด ลองต่อ C.0.1uf คล่อมแล้วก็แล้ว ก็เลยลองสลับบอร์ดตัวรับและส่งดู ก็ยังเหมือนเดิม
ทำไงดีล่ะทีนี้ ผมลองอีกหลายอย่างไม่ขอพูดถึงแล้วกันมันจะยาวเกินไป ขอสรุปปัญหาเส้นผมบังภูเขา(สำหรับผม)

1. สายจั๊มที่ใช้ต่อระหว่างโมดูลกับบอร์ดหลวมใน ไม่ใช่ขาดในนะครับ คือลักษณะต่อบ้างไม่ต่อบ้าง หรือรอยย้ำไม่แน่นประมาณนั้น ทำให้สัญญาณผิดเพี้ยนได้


2. ตัวโมดูล USB to TTL ผมใช้แบบที่ไม่มี ขา DTS (ดัดแปลงจากสายของโทรศัพท์ Sony) ต้องกดปุ่ม reset ตอนอัปโหลด ตัวนี้มีปัญหาสำหรับผมอัปโหลดตัวอื่นไม่มีปัญหา โหลดวงจรไฟกระพริบ ควบคุมรีเลย์ วัดอุณหภูมิได้ปกติไม่มีปัญหา แต่เอามาโหลดเจ้า NRF24L01 ไม่สามารถสื่อสารกันได้ หมายถึงอัปโหลดโปรแกรมได้แต่โมดูลไม่สามารถสื่อสารระหว่างกันได้ แต่ลองใช้ UNO อัปโหลด ใช้ได้ปกติครับ

กรณีนี้โมดูล NRF24L01 ไม่เสียครับ ถ้าเสียร้านนี้รับผิดชอบอยู่แล้ว แต่ขอให้ลองดูดีๆก่อน จะได้ไม่เสียค่าส่งของกันเปล่าๆ ตอนแรกผมจะส่งไปให้ร้านดู แต่ดูราคาของกับค่าส่งมันไม่คุ้มจริงๆ เลยพยายามหาข้อสรุปให้ได้ก่อน

ฝากไว้เป็นข้อมูลเผื่อช่วยแก้ปัญหาได้บ้างครับ และขอบคุณที่ทนอ่าน

 
 
QUOTE 
ความคิดเห็นที่ #42
Linew

อยากทราบว่า NRF24L01P ต่อใช้งานกับ Arduino DUE ยังไงครับ ต้องต่อที่ขาไหนบ้าง
ลองแล้วบอร์ดทำงาน แต่ไม่รู้ส่งข้อมูลออกไปที่ขาไหนครับ

QUOTE 
ความคิดเห็นที่ #43
SR.SAROTH

ขอโทษนะครับ พอดีผมกำลังมองหาตัวโมดูลมาใช้ ผมมีข้อสงสัยอยู่ 2 ข้อ

1. ไม่ทราบว่าตัว  NRF24L01  สามารถเป็นตัวรับที่เป็นตัวส่งด้วยและเป็นตัวส่งที่เป็นตัวรับด้วยได้ใช่รึปล่าวครับ !!

2. สามารถควบคุม servo  ผ่านตัว NRF24L01  ที่เป็นตัวรับและตัวส่งได้รึปล่าวครับ !!  

ขอบคุณครับ.

QUOTE 
ความคิดเห็นที่ #44
เจ้าของร้าน

1. ไม่ทราบว่าตัว  NRF24L01  สามารถเป็นตัวรับที่เป็นตัวส่งด้วยและเป็นตัวส่งที่เป็นตัวรับด้วยได้ใช่รึปล่าวครับ !!

- สามารถเป็นได้ทั้งตัวรับและตัวส่งครับ ตามตัวอย่างโคดในบทความ แต่ต้องเลือกเป็นทีละอย่าง

2. สามารถควบคุม servo  ผ่านตัว NRF24L01  ที่เป็นตัวรับและตัวส่งได้รึปล่าวครับ !! 

- ทำได้ครับ

QUOTE 
ความคิดเห็นที่ #45
ธณัท

สวัสดีครับ

ผมมี nRF24L01 รุ่นที่มี PA+LNA มาด้วย   ทดลองให้ทำหน้าที่เป็นตัวรับจากโมดูลตัวเล็กที่ไม่มี PA สามารถรับได้ปกติ แต่ไม่สามารถส่งได้

เป็นเพราะอะไรครับ แล้วต้องแก้ไขอย่างไรบ้างครับ

QUOTE 
ความคิดเห็นที่ #46
เจ้าของร้าน

อาจเป็นที่โคดเพราะบอกว่ารับได้แต่ส่งไม่ได้ชิฟตัวเดียวกัน ลองดูตัวอย่างจะมีโหมดส่งลองปรับจาก fast เป็น slow หรือลองใส่ตัวเก็บประจุค่า 0.1 uf เพื่อลดสัญญาณรบกวนมีบอกไว้ในบทความและกระทู้ลองหาดูครับ

QUOTE 
ความคิดเห็นที่ #47
ปพน

ขอโค้ด ตัวส่ง1 ตัว ตัวรับหลาย ๆ ตัว หน่อยครับ ขอบคุณครับ

QUOTE 
ความคิดเห็นที่ #48
เอกรินทร์ คุณประยูรสวัสดิ์

ผมใช้บอร์ด mega แล้วสัญญาณมันไม่ออกอะครับ ต่อแบบ mega ทั้ง 2 บอร์ด ควรแก้ยังไงครับ

 

QUOTE 
ความคิดเห็นที่ #49
เจ้าของร้าน

ตามบทความนี้เลยครับ http://www.arduinoall.com/b/10 สังเกตขา spi ของ arduino mega กับ arduino uno คนละตำแหน่งกันครับ

QUOTE 
ความคิดเห็นที่ #50
สรายุทธ

แล้วเราจะเอาค่าที่ส่งมาไปใช้งานยังไงอ่ะครับ

 

ตัวรับ............................................

#include <SPI.h>

#include <nRF24L01.h>

#include <RF24.h>

#define CE_PIN 9

#define CSN_PIN 10

 

const uint64_t pipe = 0xE8E8F0F0E1LL;

 

RF24 radio(CE_PIN, CSN_PIN);

 

 

int joystickx;

int joysticky;

 

void setup()

{

Serial.begin(9600);

delay(1000);

Serial.println("Nrf24L01 Receiver Starting");

radio.begin();

radio.openReadingPipe(1,pipe);

radio.startListening();;

}

 

void loop()

{

if ( radio.available() )

{

bool done = false;

while (!done)

{

done = radio.read( joystickx, sizeof(joysticky) );

Serial.print("X = ");

Serial.print(joystickx);

Serial.print(" Y = ");

Serial.println(joysticky);

}

}

else

{

Serial.println("No radio available");

}

 

}

 

ตัวส่ง........................................................................

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
#define JOYSTICK_X A0
#define JOYSTICK_Y A1

const uint64_t pipe = 0xE8E8F0F0E1LL;

RF24 radio(CE_PIN, CSN_PIN);
int joystick[2];

void setup()
{
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
}

void loop()
{
joystick[0] = analogRead(JOYSTICK_X);
joystick[1] = analogRead(JOYSTICK_Y);
radio.write( joystick, sizeof(joystick) );
}

แสดงความคิดเห็นที่ 41-50 จากทั้งหมด 154 ความคิดเห็น
ขาย ARDUINO
คุณภาพ อันดับ 1

ได้รับรางวัลร้านยอดเยี่ยม
ตั้งแต่ปี 2558
ขาย Arduino
วีดีโอสอน Arduino

สอน esp8266

สอน Arduino IoT
สอน Arduino แบบเร็ว

สอน NodeMCU

อุปกรณ์ Arduino

MEMBER ZONE

พูดคุย-สอบถาม