NRF24L01: โมดูลสำหรับการสื่อสารไร้สายสำหรับ Arduino

NRF24L01

แน่นอนคุณต้องสร้างโครงการ DIY โดยใช้ Arduino หรือองค์ประกอบอื่น ๆ และคุณต้องใช้ประโยชน์จากไฟล์ การสื่อสารไร้สาย. และเกิดขึ้นจากการมีโมดูลหรืออุปกรณ์บางประเภทที่อนุญาตให้คุณส่งโดยใช้ IR, RF, Bluetooth, WiFi และอื่น ๆ นั่นคือคุณต้องชัดเจนเกี่ยวกับความต้องการที่จะรู้ว่าสัญญาณประเภทใดที่เหมาะสมที่สุดในกรณีของคุณ

ในกรณีนี้เรามีไฟล์ คำแนะนำเกี่ยวกับ NRF24L01 สำหรับคุณ. เป็นชิปสื่อสารไร้สายที่จะให้สิ่งที่คุณต้องการในการส่งและรับสัญญาณ ประเภทของสัญญาณที่จัดการคือ RF หรือความถี่วิทยุนั่นคือคลื่นที่มีความยาวคลื่นมากดังนั้นจึงมีพลังงานต่ำซึ่งในสเปกตรัมแม่เหล็กไฟฟ้าอยู่ระหว่าง 3 Hz ถึง 300 Ghz ในความถี่

NRF24L01 คืออะไร

NRF24L01

El NRF24L01 เป็นชิปที่ผลิตโดย Nordic Semiconductor. ถ้ามัน ผลิตภัณฑ์ที่ไม่พบชิปมาติดตั้งบน PCB ขนาดเล็กพร้อมองค์ประกอบเสริมบางอย่างที่คุณต้องการดังนั้นจึงประกอบโมดูล คุณสามารถใช้งานได้หลายวิธีรวมถึงการเชื่อมต่อกับ Adruino ตามที่ฉันจะแสดงให้คุณเห็นในภายหลัง

NRF24L01 ซึ่งสามารถอนุมานได้จากชื่อเป็นอุปกรณ์สื่อสารไร้สายที่ใช้ RF หรือคลื่นความถี่วิทยุที่มีความสามารถในการทำงานที่ 2,4 Ghz - 2,5 Ghz. นั่นคือวงดนตรีฟรีสำหรับการใช้งานฟรี คุณรู้อยู่แล้วว่าวงดนตรีอื่น ๆ สงวนไว้และคุณต้องจ่ายหากคุณต้องการใช้เพื่อส่งข้อมูล นอกจากนี้ยังรวมเครื่องส่ง + เครื่องรับ

โดยเฉพาะแถบความถี่ที่คุณสามารถใช้ได้คือตั้งแต่ 2.400 Mhz ถึง 2.525Mhz โดยมีความเป็นไปได้ในการเลือกระหว่าง 125 ช่อง ด้วยช่องว่าง 1Mhz ระหว่างพวกเขา อย่างไรก็ตามไม่แนะนำให้ใช้ความถี่ 2.4Ghz หากคุณใช้เครือข่าย WiFi โดรนที่ทำงานกับความถี่นี้เป็นต้นมิฉะนั้นจะมีสัญญาณรบกวน นั่นคือเหตุผลที่นิยมใช้ตั้งแต่ 2.501Mhz เป็นต้นไป

เกี่ยวกับลักษณะของมัน ใช้งานได้ตั้งแต่ 1.9 ถึง 3.6v ดังนั้นมันจะง่ายสำหรับคุณที่จะจ่ายไฟด้วยบอร์ด Arduino เองด้วยการเชื่อมต่อ 3.3 โดยใช้แบตเตอรี่และแม้กระทั่งกับแหล่งจ่ายไฟที่มีแรงดันไฟฟ้านั้น นอกจากนี้คุณสามารถกำหนดค่าความเร็วในการรับส่งข้อมูลระหว่าง 250 Kbps, 1Mbps และสูงสุด 2Mbps

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

คุณสามารถใช้เพื่อควบคุมได้ SPI บัสดังนั้นการควบคุมด้วย Arduino จึงง่ายมาก นอกจากนี้หมุดข้อมูลของ NRF24L01 ยังรองรับได้ถึง 5v โดยไม่มีปัญหา การใช้พลังงานใน Stand By ค่อนข้างต่ำดังนั้นจึงไม่เป็นองค์ประกอบที่ต้องกังวลและเมื่อใช้งานอยู่มันไม่ใช่หนึ่งในต้นทุนที่แพงที่สุดเนื่องจากต้องการเพียง 15mA ในการส่งและรับข้อมูล

ในตลาดคุณจะพบหลายอย่าง โมดูลต่างๆที่ติดตั้งชิป NRF24L01พวกเขาเปลี่ยนเฉพาะในองค์ประกอบเสริมที่มีหรือในรายละเอียดบางอย่างเท่านั้น ตัวอย่างเช่นในประเภทของเสาอากาศ บางอันมีเสาอากาศพิมพ์บน PCB เป็นรูปซิกแซกระยะประมาณ 20-30 เมตร คนอื่นยอมรับเสาอากาศภายนอกที่ค่อนข้างแรงกว่าพร้อมเครื่องขยายเสียงที่จะไปจาก 700 เมตรถึง 1 กม.

อย่างไรก็ตาม ขอบเขตที่แท้จริงถูก จำกัด ด้วยปัจจัยบางประการเช่นสิ่งกีดขวางบนถนนเสียงหรือสัญญาณรบกวนจากองค์ประกอบหรือสัญญาณอื่น ๆ ที่มีอยู่ความเร็วในการส่งแรงดันไฟฟ้า (แรงดันไฟฟ้าที่สูงขึ้นระยะทางที่มากขึ้น) ตัวอย่างเช่นหากคุณต้องการส่งด้วยความเร็วสูงสุด 2Mbps ซึ่งจะมีโทษมากในระยะทางซึ่งจะสูงสุดเพียง 2 หรือ 3 เมตรเท่านั้น ด้วยความเร็วที่ต่ำกว่าคุณอาจปีนขึ้นไปได้ไกล

ESP8266
บทความที่เกี่ยวข้อง:
ESP8266: โมดูล WIFI สำหรับ Arduino

คุณต้องรู้อะไรบ้างก่อนซื้อ?

NRF40L01 เสาอากาศ

El NRF24L01 เป็นชิปราคาถูกมาก ที่สามารถใช้ในโครงการต่างๆมากมาย ตัวอย่างเช่นหากคุณไม่มีเสาอากาศภายนอกคุณสามารถซื้อได้ในราคาสูงถึง€ 0.65 ซึ่งเสาอากาศภายนอกมีราคาแพงกว่ารุ่นนี้เล็กน้อย แต่ก็ยังมีราคาถูกมากและโดยปกติจะไม่เกิน 1.7 ยูโร

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

Pinout และการติดตั้ง NRF24L01

พินเอาต์ NRF40L01

ในส่วนของการประกอบนั้นค่อนข้างเรียบง่าย NRF24L01 มี 8 พินดังนั้นพินจึงง่ายมาก เพื่อทำความเข้าใจว่าคุณจะเห็นได้อย่างไรในภาพที่ฉันปล่อยให้คุณ ทางด้านขวาคุณจะเห็นแผนภาพพินของบอร์ด Arduino UNO และวิธีการเชื่อมต่อพินของโมดูลแต่ละตัว

ในขณะที่คุณสามารถอนุมานได้แผ่น NRF24L01 ขับเคลื่อนโดยใช้พิน GND และ 3.3v จาก Arduino อย่าลืมทำกับสัญญาณ 5v มิฉะนั้นโมดูลจะเสียหาย

บูรณาการกับ Arduino

2 NRF24L01 พร้อม Arduino (วงจร)

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

l298n
บทความที่เกี่ยวข้อง:
L298N: โมดูลควบคุมมอเตอร์สำหรับ Arduino

คุณสามารถเลือกที่จะส่งและรับสตริงจำนวนเต็มข้อมูลทศนิยม ฯลฯ ฉันแนะนำคุณ คำแนะนำของเราเกี่ยวกับการเขียนโปรแกรม Arduino หากคุณกำลังเริ่มต้น ด้วยวิธีนี้คุณสามารถสร้างโครงการแรกของคุณ และเพื่อเป็นตัวอย่างที่เป็นรูปธรรมสำหรับ NRF24L01 ฉันขอฝากคุณไว้ที่นี่ รหัสที่จำเป็นสำหรับสตริง.

รหัสที่คุณต้องเขียนใน Arduino IDE และตั้งโปรแกรมบอร์ด Arduino ที่เชื่อมต่อกับ NRF24L01 ที่คุณจะกำหนดให้เป็น เครื่องส่ง:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
 
const int pinCE = 9;
const int pinCSN = 10;
RF24 radio(pinCE, pinCSN);
 
// Single radio pipe address for the 2 nodes to communicate.
const uint64_t pipe = 0xE8E8F0F0E1LL;
 
char data[16]="Aquí tu mensaje" ;
 
void setup(void)
{
   radio.begin();
   radio.openWritingPipe(pipe);
}
 
void loop(void)
{
   radio.write(data, sizeof data);
   delay(1000);
}

นี่คือรหัสที่คุณต้องป้อนใน Arduino IDE และบันทึกบนบอร์ดที่คุณเชื่อมต่อกับ NRF24L01 โดยเฉพาะเป็น ตัวรับ:

# รวม <nRF24L01.h>
# รวม <RF24.h>
# รวม <RF24_config.h>
# รวม <SPI.h>

const int พิน CE = 9;
const int pinCSN = 10;
วิทยุ RF24 (pinCE, pinCSN);

// แอดเดรสท่อวิทยุเดี่ยวสำหรับ 2 โหนดในการสื่อสาร
const uint64_t ไปป์ = 0xE8E8F0F0E1LL;

ข้อมูลถ่าน [16];

การตั้งค่าเป็นโมฆะ (โมฆะ)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, ท่อ);
radio.startListening ();
}

ห่วงเป็นโมฆะ (โมฆะ)
{
ถ้า (radio.available ())
{
int done = radio.read (ข้อมูลขนาดของข้อมูล);
Serial.println (ข้อมูล);
}
}

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


ความคิดเห็นฝากของคุณ

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

      สเตฟาน dijo

    สวัสดีไอแซค
    ฉันต้องการทำโปรเจ็กต์ให้เสร็จสมบูรณ์ด้วย arduino, ราสเบอร์รี่หรืออย่างอื่น
    คุณสามารถให้อีเมลติดต่อเพื่ออธิบายได้หรือไม่?
    เหมือง - a01b02@abv.bg
    กราเซีย