www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > IoT設(shè)計分享
[導(dǎo)讀]有各種無線通信技術(shù)用于構(gòu)建物聯(lián)網(wǎng)應(yīng)用,RF(射頻)是其中之一。nRF24L01是一款工作在2.4 - 2.5 GHz (ISM頻段)的單片無線電收發(fā)模塊。該收發(fā)模塊由一個完全集成的頻率合成器、一個功率放大器、一個晶體振蕩器、一個解調(diào)器、一個調(diào)制器和增強的ShockBurs協(xié)議引擎組成。輸出功率、頻率通道和協(xié)議設(shè)置可以通過SPI接口輕松編程。

有各種無線通信技術(shù)用于構(gòu)建物聯(lián)網(wǎng)應(yīng)用,RF(射頻)是其中之一。nRF24L01是一款工作在2.4 - 2.5 GHz (ISM頻段)的單片無線電收發(fā)模塊。該收發(fā)模塊由一個完全集成的頻率合成器、一個功率放大器、一個晶體振蕩器、一個解調(diào)器、一個調(diào)制器和增強的ShockBurs協(xié)議引擎組成。輸出功率、頻率通道和協(xié)議設(shè)置可以通過SPI接口輕松編程。

收發(fā)模塊的工作電壓范圍為1.9V ~ 3.6V。它有內(nèi)置的關(guān)機和待機模式,使其省電和容易實現(xiàn)。

我們以前使用nRF24L01與Arduino來構(gòu)建一個手勢控制的機器人,在這里我們將簡單地將nRF24L01與Arduino Uno連接,以無線方式從DHT11傳感器發(fā)送和接收溫度和濕度數(shù)據(jù)。

Arduino Uno沒有任何內(nèi)置的無線通信支持,如藍牙或Wi-Fi,但它可以很容易地與其他Wi-Fi或無線模塊接口,如LoRa, nRF,藍牙,可用于構(gòu)建基于物聯(lián)網(wǎng)的應(yīng)用程序。在這里,我們使用Arduino與ESP8266, LoRa, 433 MHz RF模塊,nRF24L01模塊和藍牙建立物聯(lián)網(wǎng)項目的無線通信。我們還使用DHT11傳感器建立了一些基于物聯(lián)網(wǎng)的氣象站。

組件的要求

?Arduino Uno (2)

?nRF24L01 (2)

?16 * 2液晶

?LCD I2C模塊

?DHT11傳感器

NRF24L01收發(fā)模塊電路圖

基于Arduino nRF24L01的發(fā)射器和接收器的電路圖如下。在這里,我們使用nRF24L01模塊將溫度和濕度值從一個Arduino無線發(fā)送到另一個Arduino。為了獲得溫度和濕度值,我們使用連接到發(fā)送端Arduino的DHT11傳感器。發(fā)送Arduino將從DHT11獲取溫度和濕度值,然后通過nRF24L01模塊發(fā)送到另一個Arduino。這些濕度和溫度值將顯示在連接到接收端Arduino的16*2 LCD上。

nRF24L01與Arduino UNO發(fā)送端接口

發(fā)射端由Arduino UNO、nRF24L01模塊和DHT11傳感器組成。Arduino UNO與nRF24L01和DHT11的接口如下圖所示。Arduino不斷地從DHT11傳感器獲取數(shù)據(jù),并將其發(fā)送到nRF24L01發(fā)射器。然后,無線射頻發(fā)射器將數(shù)據(jù)傳輸?shù)江h(huán)境中。

nRF24L01與Arduino UNO接收端的接口

接收端由Arduino UNO、nRF24L01模塊和16*2 LCD模塊組成。接收端nRF模塊接收來自發(fā)射器的數(shù)據(jù)并將其發(fā)送給Arduino。Arduino與nRF24L01和LCD模塊的接口如下圖所示。

nRF24L01與Arduino UNO編程-發(fā)送和接收端

要將nRF24L01收發(fā)模塊與Arduino一起使用,首先要安裝nRF24L01庫。這里使用兩個nRF24L01模塊作為發(fā)送端和接收端,所以我們需要分別編寫兩個發(fā)送端和接收端代碼。除了發(fā)送和接收選項之外,這兩個程序是相同的。在發(fā)送端程序中,接收端選項將被注釋掉,在接收端程序中,發(fā)送端選項將被注釋掉。

首先,包括所有必需的庫文件。SPI庫用于nRF24L01與Arduino之間的SPI通信,DHT11庫用于計算溫度和濕度值。

然后定義通信的無線電管道地址和nRF發(fā)射機的CN和CSN引腳。

之后,我們將溫度和濕度變量聲明為復(fù)合變量結(jié)構(gòu)。在本程序中,h & t用于發(fā)送和接收來自RF模塊的數(shù)據(jù)。

在void設(shè)置函數(shù)中,我們將射頻模塊的數(shù)據(jù)速率初始化為至少250 Kbps。

在void loop函數(shù)內(nèi)部,從DHT11傳感器讀取溫濕度數(shù)據(jù),并將該數(shù)據(jù)保存為data。T和data。h變量。

在接收端程序中,使用void recvData函數(shù)接收發(fā)送的數(shù)據(jù)。

nRF24L01 Arduino發(fā)送器和接收器測試

一旦硬件和程序準備好,在兩個Arduino模塊中上傳nRF24L01發(fā)射器和接收器代碼。發(fā)送模塊將溫度和濕度值發(fā)送給接收模塊。接收模塊將在其16x2 LCD上顯示,如下圖所示

這就是如何使用nRF24L01作為兩個arduino之間的無線通信介質(zhì)。

本文編譯自iotdesignpro

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉