ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

วิธีใช้โมดูลไร้สาย NRF24L01 กับ Arduino

How to Use the NRF24L01 Wireless Module with Arduino

การสื่อสารแบบไร้สายเป็นรากฐานของอุปกรณ์อิเล็กทรอนิกส์สมัยใหม่ ช่วยให้อุปกรณ์สื่อสารกันได้โดยไม่ต้องใช้สาย หนึ่งในโมดูลยอดนิยมสำหรับใช้งานกับ Arduino คือ NRF24L01 โมดูลทรานซีฟเวอร์ความถี่ 2.4GHz ที่หลากหลายและมีราคาต่ำ เหมาะสำหรับโครงการที่ต้องการการส่งข้อมูลที่เชื่อถือได้ในระยะสั้น ในคู่มือนี้ เราจะแนะนำขั้นตอนการตั้งค่าและการใช้งาน NRF24L01 กับ Arduino ของคุณ.

ชิ้นส่วนที่คุณจะต้องใช้

  • 2x บอร์ด Arduino (เช่น Arduino Uno)
  • 2x NRF24L01 โมดูล
  • สายจัมเปอร์
  • บอร์ดทดลอง (ไม่บังคับ)
  • ตัวเก็บประจุ 10µF (แนะนำ)

การเดินสาย NRF24L01 เข้ากับ Arduino

การเชื่อมต่อ NRF24L01 กับ Arduino ต้องใส่ใจรายละเอียด ต่อไปนี้คือตารางการเดินสายแบบง่าย:

หากคุณไม่มีไดอะแกรมการเดินสาย ให้เชื่อมต่อดังนี้:

บันทึก: แนะนำให้ใส่ตัวเก็บประจุ 10µF ระหว่าง VCC และ GND ของ NRF24L01 เพื่อช่วยให้แหล่งจ่ายไฟมีความเสถียร.

การติดตั้งไลบรารีที่จำเป็น

เพื่อให้การสื่อสารกับ NRF24L01 ง่ายขึ้น เราจะใช้ไลบรารี RF24 ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้ง:

  1. เปิด Arduino IDE.
  2. ไปที่ Sketch > Include Library > Manage Libraries...
  3. ค้นหา RF24 โดย TMRh20.
  4. คลิก Install.

การเขียนโค้ด Arduino

เราจะสร้างสเกตช์สองชิ้น: หนึ่งสำหรับ transmitter และอีกหนึ่งสำหรับ receiver.

โค้ดสำหรับเครื่องส่ง


    #include 
    #include 
    
    // CE and CSN pins
    RF24 radio(9, 10);
    
    // Address for communication
    const byte address[6] = "00001";
    
    void setup() {
        Serial.begin(9600);
        radio.begin();
        radio.openWritingPipe(address);
        radio.setPALevel(RF24_PA_MIN);
    }
    
    void loop() {
        const char text[] = "Hello World";
        bool report = radio.write(&text, sizeof(text));
        if (report) {
            Serial.println("Data sent successfully");
        } else {
            Serial.println("Transmission failed");
        }
        delay(1000);
    }
            

โค้ดสำหรับเครื่องรับ


    #include 
    #include 
    
    // CE and CSN pins
    RF24 radio(9, 10);
    
    // Address for communication
    const byte address[6] = "00001";
    
    void setup() {
        Serial.begin(9600);
        radio.begin();
        radio.openReadingPipe(0, address);
        radio.setPALevel(RF24_PA_MIN);
        radio.startListening();
    }
    
    void loop() {
        if (radio.available()) {
            char text[32] = "";
            radio.read(&text, sizeof(text));
            Serial.println(text);
        }
    }
            

การอัปโหลดโค้ด

อัปโหลดโค้ด transmitter ไปยัง Arduino ตัวแรก และโค้ด receiver ไปยัง Arduino ตัวที่สอง เมื่อทั้งสองทำงานแล้ว ให้เปิด Serial Monitor ของ Arduino ตัวรับที่ความเร็ว 9600 baud คุณควรเห็นข้อความ "Hello World" ถูกรับทุกๆ วินาที.

เคล็ดลับการแก้ปัญหา

  • ปัญหาเรื่องพลังงาน: ตรวจสอบให้แน่ใจว่าโมดูล NRF24L01 ทั้งสองได้รับแหล่งจ่ายไฟ 3.3V ที่เสถียร การใช้ตัวเก็บประจุจะช่วยป้องกันความผันผวนของพลังงานได้
  • ความถูกต้องของการเดินสาย: ตรวจสอบการเชื่อมต่อทั้งหมดอีกครั้งเพื่อหลีกเลี่ยงการเดินสายผิด ซึ่งอาจทำให้การสื่อสารไม่ทำงาน
  • ความเข้ากันได้ของไลบรารี: ตรวจสอบว่าไลบรารี RF24 ถูกติดตั้งอย่างถูกต้องและเป็นเวอร์ชันที่อัปเดต
  • การจับคู่ที่อยู่: ตรวจสอบให้แน่ใจว่าเครื่องส่งและเครื่องรับใช้ที่อยู่สื่อสารเดียวกัน

บทสรุป

โมดูล NRF24L01 เป็นเครื่องมือที่ทรงพลังสำหรับเพิ่มความสามารถแบบไร้สายให้กับโครงการ Arduino ของคุณ โดยปฏิบัติตามขั้นตอนที่ระบุด้านบน คุณสามารถตั้งค่าลิงก์การสื่อสารที่เชื่อถือได้ระหว่างบอร์ด Arduino สองบอร์ด ไม่ว่าคุณจะสร้างเครือข่ายเซ็นเซอร์ระยะไกล ระบบควบคุมไร้สาย หรือทดลองกับแอปพลิเคชัน IoT โมดูล NRF24L01 ก็เป็นโซลูชันที่หลากหลายและคุ้มค่า

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

แสดงความคิดเห็น