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

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


  


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

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


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

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

ข้อมูลไม่ตรง

วิศรุต

NRF24L01 ส่ง25 อีกตัวรับได้ 8.50 ถ้าต่อ c จะได้รับขอมูลตรงไหมครับหรือว่าเป็นที่อย่างอื่น

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

เป็นกับโปรแกรม ลองดูการส่งค่าตัวแปรในส่วนของ code ค่ะ

QUOTE 
ความคิดเห็นที่ #2
วิศรุต

ลองดูให้ผมหน่อยได้ไหมครับ 

อันนี้ตัวส่ง /**

 * SENDEREN / TRANSMITTER

 * Hardware SPI:

 * Radio MO -> Arduino pin 11 (MOSI)

 * Radio MI -> Arduino pin 12 (MISO)

 * Radio SCK-> Arduino pin 13 (SCK)

 * options:

 * Radio CE -> Arduino pin 8 (default - kan endres/can be altered)

 * Radio CSN-> Arduino pin 7 (default - kan endres/can be altered)

 */

 

#include <SPI.h>

#include <Mirf.h>

#include <nRF24L01.h>

#include <MirfHardwareSpiDriver.h>

#include <MirfSpiDriver.h> 

 

const byte payload=10; // max 32 

union 

{

  byte ch[payload]; // 10 bytes

  struct 

  {

    float temp; // 4 bytes

    float humi; // 4 bytes

    int extra; //  2 bytes

  };

} buffer; // buffer for 10 bytes => 5 analog values

 

void setup()

{   

    Serial.begin(9600);

    Mirf.csnPin = 7; // kan endres etter behov. Kan utelates hvis default

    Mirf.cePin = 8; // kan endres etter behov. Kan utelates hvis default

    Mirf.spi = &MirfHardwareSpi;

    Mirf.init();

    Mirf.payload = payload; 

    Mirf.channel=110; // any channel:  1..120

    Mirf.config();

 }

 

void loop()

{

   Mirf.setTADDR((byte *)"team1"); 

   buffer.temp=25.2; //example.. read from dht11 

   buffer.humi=40.5; //example.. read from dht11

   Mirf.send(buffer.ch); // or one can use:  Mirf.send((byte *)&buffer); 

   while (Mirf.isSending()){}; // waut for data sent / vent til data er sendt

   delay(200); // pause - thin of receiver capacity to handle incoming data

 ส่วนตัวรับเหมือนอันนี้แต่แก้ตรงส่วนรับข้อมูล

 

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

การรับส่งข้อมูล NRF24L01 การจะแกะแพ็คเกจจะมีการตรวจสอบความถูกต้องของข้อมูล ถ้าพบว่าข้อมูลที่ส่งมาไม่ถูกต้องก็จะรับไม่สำเร็จครับ ดังนั้นข้อมูลที่ส่งมาจะต้องมีความถูกต้องถึงจะรับได้

แนะนำให้ใช้ไลบารีตามในบทความจะง่ายกว่านี้เยอะเลย ในไลบารีมีหลายตัวอย่าง รวมถึงการส่งค่าตัวแปลด้วยครับ

http://www.arduinoall.com/article/10

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

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

สอน esp8266

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

สอน NodeMCU

อุปกรณ์ Arduino

MEMBER ZONE

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