แน่นอนคุณต้องสร้างโครงการ DIY โดยใช้ Arduino หรือองค์ประกอบอื่น ๆ และคุณต้องใช้ประโยชน์จากไฟล์ การสื่อสารไร้สาย. และเกิดขึ้นจากการมีโมดูลหรืออุปกรณ์บางประเภทที่อนุญาตให้คุณส่งโดยใช้ IR, RF, Bluetooth, WiFi และอื่น ๆ นั่นคือคุณต้องชัดเจนเกี่ยวกับความต้องการที่จะรู้ว่าสัญญาณประเภทใดที่เหมาะสมที่สุดในกรณีของคุณ
ในกรณีนี้เรามีไฟล์ คำแนะนำเกี่ยวกับ NRF24L01 สำหรับคุณ. เป็นชิปสื่อสารไร้สายที่จะให้สิ่งที่คุณต้องการในการส่งและรับสัญญาณ ประเภทของสัญญาณที่จัดการคือ RF หรือความถี่วิทยุนั่นคือคลื่นที่มีความยาวคลื่นมากดังนั้นจึงมีพลังงานต่ำซึ่งในสเปกตรัมแม่เหล็กไฟฟ้าอยู่ระหว่าง 3 Hz ถึง 300 Ghz ในความถี่
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 เมตรเท่านั้น ด้วยความเร็วที่ต่ำกว่าคุณอาจปีนขึ้นไปได้ไกล
คุณต้องรู้อะไรบ้างก่อนซื้อ?
El NRF24L01 เป็นชิปราคาถูกมาก ที่สามารถใช้ในโครงการต่างๆมากมาย ตัวอย่างเช่นหากคุณไม่มีเสาอากาศภายนอกคุณสามารถซื้อได้ในราคาสูงถึง€ 0.65 ซึ่งเสาอากาศภายนอกมีราคาแพงกว่ารุ่นนี้เล็กน้อย แต่ก็ยังมีราคาถูกมากและโดยปกติจะไม่เกิน 1.7 ยูโร
หากคุณไม่มีองค์ประกอบการปล่อยหรือการรับสัญญาณอื่นคุณรู้อยู่แล้วว่าคุณต้องซื้อโมดูล NRF24L01 สองโมดูลหนึ่งโมดูลเพื่อใช้ในด้านหนึ่งและอีกด้านหนึ่งของตำแหน่งที่คุณต้องการส่ง พวกเขาทั้งสองจะทำเหมือน ผู้ส่งหรือผู้รับ ตามที่คุณต้องการ.
Pinout และการติดตั้ง NRF24L01
ในส่วนของการประกอบนั้นค่อนข้างเรียบง่าย NRF24L01 มี 8 พินดังนั้นพินจึงง่ายมาก เพื่อทำความเข้าใจว่าคุณจะเห็นได้อย่างไรในภาพที่ฉันปล่อยให้คุณ ทางด้านขวาคุณจะเห็นแผนภาพพินของบอร์ด Arduino UNO และวิธีการเชื่อมต่อพินของโมดูลแต่ละตัว
ในขณะที่คุณสามารถอนุมานได้แผ่น NRF24L01 ขับเคลื่อนโดยใช้พิน GND และ 3.3v จาก Arduino อย่าลืมทำกับสัญญาณ 5v มิฉะนั้นโมดูลจะเสียหาย
บูรณาการกับ Arduino
เมื่อคุณรู้แล้วว่า NRF24L01 คืออะไรและสามารถเชื่อมต่อและขับเคลื่อนได้อย่างไรนอกเหนือจากจำนวนโครงการที่คุณสามารถทำได้กับอุปกรณ์ราคาถูกเหล่านี้สิ่งต่อไปคือการแสดง ตัวอย่างการเขียนโปรแกรม เพื่อให้คุณสามารถเริ่มทดลองกับ Arduino IDE ของคุณได้ โปรดจำไว้ว่ารูปแบบข้อมูลที่คุณสามารถส่งสามารถแก้ไขได้ในซอร์สโค้ด
คุณสามารถเลือกที่จะส่งและรับสตริงจำนวนเต็มข้อมูลทศนิยม ฯลฯ ฉันแนะนำคุณ คำแนะนำของเราเกี่ยวกับการเขียนโปรแกรม 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 เพื่อใช้คอนโซลเป็นเครื่องมือในการดูข้อมูล แยกระยะห่างที่รอบคอบตามโมดูลที่คุณมีหรือการกำหนดค่าที่คุณกำหนดและคุณจะเริ่มเห็นอักขระที่คุณป้อนในรหัสแรกบนหน้าจอของคอมพิวเตอร์ ...
สวัสดีไอแซค
ฉันต้องการทำโปรเจ็กต์ให้เสร็จสมบูรณ์ด้วย arduino, ราสเบอร์รี่หรืออย่างอื่น
คุณสามารถให้อีเมลติดต่อเพื่ออธิบายได้หรือไม่?
เหมือง - a01b02@abv.bg
กราเซีย