利用射頻模塊實現(xiàn)Arduino之間的射頻通信
射頻模塊由一個433mhz的射頻發(fā)射器和接收器模塊組成。這些是ASK(幅度移位鍵控)或OOK(掛鉤鍵控)型射頻模塊。當發(fā)送邏輯零時,發(fā)射機完全抑制載波頻率,因此在電池操作中只消耗低功率。當邏輯1被傳輸時,發(fā)射機是ON的,并且載波頻率是滿的,因此,將有一個高電源,在大約4.5mA的范圍內(nèi)與3V電源。
發(fā)射器和接收器需要與微控制器接口進行數(shù)據(jù)傳輸。數(shù)據(jù)從發(fā)射機串行發(fā)送,并由調(diào)諧后的接收器接收。射頻發(fā)射器接收來自微控制器的串行數(shù)據(jù),并通過連接到發(fā)射器第4引腳的天線將其傳輸?shù)浇邮掌鳌=邮掌魍ㄟ^天線接收數(shù)據(jù),并將數(shù)據(jù)發(fā)送給與其相連的微控制器。
這些射頻模塊在433MHz的特定頻率下工作。即使有障礙物,射頻信號也能在發(fā)射器和接收器之間傳播。這些模塊用于短距離、低預算、簡單的通信。低功耗使它們成為基于電池的實現(xiàn)的理想選擇。它廣泛應(yīng)用于遠程照明控制、遠程RFID、無線報警和安防系統(tǒng)等領(lǐng)域。射頻通信用于移動通信,可以進行長距離通信,這使得它們適合構(gòu)建基于物聯(lián)網(wǎng)的應(yīng)用程序。所以在這里,我們從一篇關(guān)于RF模塊的介紹性文章開始,以及RF模塊如何與Arduino一起使用來發(fā)送和接收數(shù)據(jù)。
433 MHz射頻發(fā)射機模塊
這個小模塊是射頻發(fā)射器。這很簡單。SAW諧振器調(diào)諧為433。xx MHz的操作是模塊的核心。有一個開關(guān)晶體管和一些無源元件。
當邏輯高電平作為數(shù)據(jù)輸入時,振蕩器開啟并在433處產(chǎn)生恒定的射頻輸出載波。xx MHz,當數(shù)據(jù)輸入為邏輯低時,振蕩器關(guān)閉,因此不產(chǎn)生載波。這種技術(shù)被稱為幅度移位鍵控(ASK)。
規(guī)范
?工作電壓:3V - 12V
?工作電流:最大小于40mA,最小小于9mA
?共振模式:(SAW)
?調(diào)制方式:ASK
?工作頻率:433.92MHz
?傳輸功率:25mW
?頻率誤差:+150kHz(最大)
?速度:小于10Kbps
?傳輸距離:90m(空地)
433 MHz射頻接收模塊
這是射頻接收模塊。雖然它看起來很復雜,但它就像發(fā)射器模塊一樣簡單。它由射頻調(diào)諧電路、運算放大器和鎖相環(huán)組成。一對運放用來放大從發(fā)射機接收的載波。然后將放大后的信號送入鎖相環(huán),鎖相環(huán)使解碼器能夠“鎖定”到數(shù)字比特流上,從而提供更好的解碼輸出和抗噪能力。
規(guī)范
?工作電壓:5.0VDC +0.5V
?工作電流:最大≤5.5mA
?調(diào)制方式:OOK/ASK
?工作頻率:433.92MHz
?帶寬:2 mhz
?靈敏度:超過-100dBm (50Ω)
所需的組件
?Arduino Nano (2)
?射頻433MHz發(fā)射機模塊
?射頻433MHz接收模塊
?電位計
?LED(5)
?連接電線
線路圖
下面給出了Arduino Nano射頻發(fā)射機的電路圖。這里連接一個電位器來改變使用射頻發(fā)射器發(fā)送到接收器的值。
以下是射頻發(fā)射器與Arduino之間的Pin連接細節(jié)
?Arduino的D12引腳- RF發(fā)射器的DATA引腳
?Arduino的VCC - RF發(fā)射器的VCC
?Arduino的GND - RF發(fā)射器的GND
?Arduino的GND -電位器的第一引腳
?Arduino的A2引腳-電位器的第二引腳
?Arduino的VCC -電位器的第三個引腳
使用Arduino Nano的射頻接收器電路圖如下圖所示。這里我們有一系列的led。led根據(jù)接收器接收到的電位器值進行移位。
以下是射頻接收器和Arduino之間的Pin連接細節(jié)
?Arduino的D11引腳-射頻接收器的DATA引腳。
?Arduino的VCC -射頻接收器的VCC。
?Arduino的GND - RF接收器的GND。
?led的正極引線連接到數(shù)字引腳D2、D3、D4、D5和D6
?led的負極導線接地。
編碼的解釋
在本教程結(jié)束時給出了RF發(fā)射器和接收器端的完整Arduino代碼,在這里我們解釋完整的程序以了解項目的工作原理。但是在開始代碼之前,我們必須首先在Arduino IDE中安裝一個庫。
VirtualWire是Arduino庫,提供發(fā)送短消息的功能,無需尋址,確認或重傳。消息的發(fā)送方式有點像使用ASK(幅度移位鍵控)的無線UDP。這個庫支持許多廉價的無線電發(fā)射機和接收機。
要在Arduino IDE中添加庫,請轉(zhuǎn)到Sketch>>Include library>> add . zip library,然后上傳從上述鏈接下載的庫。
上傳程序后,打開兩側(cè)的串行監(jiān)視器,您將看到如下所示的輸出。
射頻發(fā)射機部分的輸出顯示了電位器的值。
接收器的輸出顯示接收到的傳感器值。led根據(jù)傳感器值的范圍移位。在這里,我們?yōu)槊總€LED給出了200的范圍。
這就是Arduino如何在基于射頻的通信中使用。
本文編譯自iotdesignpro