在這篇文章中,我們將構建無線辦公室呼叫鈴,可用于從主管/老板的辦公桌或其他一些呼叫鈴類型的有趣項目中呼叫6個不同的人員。
使用 nRF24L01 2.4 GHz 模塊
我們將使用 Arduino 和 nRF24L01 2.4 GHz模塊構建一個簡單的無線呼叫鈴,它可以在您的家中或辦公室周圍工作,而不會出現任何打嗝或覆蓋問題。
建議的電路可以由5V智能手機適配器或任何廉價的5V適配器供電,使您的電路保持活力并準備好聽到您的呼叫。
nRF24L01模塊利用2.4 GHz頻率,這是ISM頻段(工業,科學和醫療頻段),它與Wi-Fi通信中使用的頻率相同。
它可以以2Mbps的速率發送或接收數據,但在此項目中,由于數據要求較低,傳輸和接收限制為250 Kbps,降低數據速率將導致整體范圍增加。
它在峰值數據傳輸時僅消耗12.3 mA,這使得電池設備友好。它利用SPI協議與微控制器通信。
它的發射/接收范圍為100米,中間沒有障礙物,約30米范圍有一些障礙物。
您可以在流行的電子商務網站上找到此模塊,也可以在當地的電子產品商店找到。
注意:該模塊可以在1.9至3.6V范圍內工作,Arduino上的板載穩壓器可以為模塊提供3.3V。如果將 nRF24L01 的 Vcc 端子連接到
Arduino 輸出的 5V,這將導致模塊故障。所以必須小心。
以上是對 nRF24L01 模塊的簡要介紹。
讓我們研究電路圖的細節:
遙控器電路:
遠程將與老板或辦公室負責人在一起。
遙控器由Arduino納米組成;順便說一下,您可以使用任何 Arduino 板、6 個用于振鈴六個不同接收器的按鈕、nRF24L01
模塊和一個用于確認按下按鈕的 LED。
您可以使用 9V 電池或 5V 適配器為其供電。如果有電池,您應該在通話后關閉此遙控器。
現在讓我們看一下代碼。
遠程代碼:
// --------- Program Developed by R.GIRISH / homemade-circuits. com
-------//
#include 《RF24.h》
#include《SPI.h》
RF24 radio(9, 10);
const byte address_1[6] = “00001”;
const byte address_2[6] = “00002”;
const byte address_3[6] = “00003”;
const byte address_4[6] = “00004”;
const byte address_5[6] = “00005”;
const byte address_6[6] = “00006”;
const int input_1 = A0;
const int input_2 = A1;
const int input_3 = A2;
const int input_4 = A3;
const int input_5 = A4;
const int input_6 = A5;
const int LED = 2;
const char text[] = “call”;
void setup()
{
pinMode(input_1, INPUT);
pinMode(input_2, INPUT);
pinMode(input_3, INPUT);
pinMode(input_4, INPUT);
pinMode(input_5, INPUT);
pinMode(input_6, INPUT);
pinMode(LED, OUTPUT);
digitalWrite(input_1, HIGH);
digitalWrite(input_2, HIGH);
digitalWrite(input_3, HIGH);
digitalWrite(input_4, HIGH);
digitalWrite(input_5, HIGH);
digitalWrite(input_6, HIGH);
radio.begin();
radio.setChannel(100);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_MAX);
radio.stopListening();
}
void loop()
{
if (digitalRead(input_1) == LOW)
{
radio.openWritingPipe(address_1);
radio.write(&text, sizeof(text));
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
}
if (digitalRead(input_2) == LOW)
{
radio.openWritingPipe(address_2);
radio.write(&text, sizeof(text));
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
}
if (digitalRead(input_3) == LOW)
{
radio.openWritingPipe(address_3);
radio.write(&text, sizeof(text));
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
}
if (digitalRead(input_4) == LOW)
{
radio.openWritingPipe(address_4);
radio.write(&text, sizeof(text));
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
}
if (digitalRead(input_5) == LOW)
{
radio.openWritingPipe(address_5);
radio.write(&text, sizeof(text));
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
}
if (digitalRead(input_6) == LOW)
{
radio.openWritingPipe(address_6);
radio.write(&text, sizeof(text));
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
}
}
// --------- Program Developed by R.GIRISH / homemade-circuits. com
-------//
遙控器/發射器到此結束。
現在讓我們看一下接收器。
接收器電路:
注意:您可以根據需要制作一個接收器或六個接收器。
接收器由Arduino板,nRF24L01模塊和一個蜂鳴器組成。與遙控器不同,接收器應由 5V
適配器供電,這樣您就不會依賴會在幾天內耗盡的電池。
現在讓我們看一下接收器的代碼:
接收器的程序代碼
// --------- Program Developed by R.GIRISH / homemade-circuits. com
-------//
#include 《RF24.h》
#include《SPI.h》
RF24 radio(9, 10);
const int buzzer = 2;
char text[32] = “”;
// ------- Change this ------- //
const byte address[6] = “00001”;
// ------------- ------------ //
void setup()
{
Serial.begin(9600);
pinMode(buzzer, OUTPUT);
radio.begin();
radio.openReadingPipe(0, address);
radio.setChannel(100);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_MAX);
radio.startListening();
}
void loop()
{
if (radio.available())
{
radio.read(&text, sizeof(text));
digitalWrite(buzzer, HIGH);
delay(1000);
digitalWrite(buzzer, LOW);
}
}
// --------- Program Developed by R.GIRISH / homemade-circuits. com
-------//
注意:
如果您要為此辦公室呼叫鈴系統構建多個接收器,則應在連續的接收器構建中更改提到的值并上傳代碼。
對于第一個接收器(無需更改任何內容):
------- 更改此------- //
const 字節地址[6] = “00001”;并上傳代碼。
// ------------- ------------ //
對于第二個接收器(您必須更改):
const 字節地址 [6] = “00002”;并上傳代碼。
對于第三個接收器(您必須更改):
const 字節地址 [6] = “00003”;并上傳代碼。
等等。。。直到“00006”或第六個接收器。
當您按遙控器上的“S1”時,地址為“00001”的接收器將響應/嗡嗡聲。
當您按遙控器上的“S2”時,地址為“00002”的接收器將響應/嗡嗡聲。
等等。..
接收器電路的細節到此結束。
-
無線
+關注
關注
31文章
5459瀏覽量
173470 -
nRF24L01
+關注
關注
17文章
330瀏覽量
69510 -
Arduino
+關注
關注
188文章
6472瀏覽量
187320
發布評論請先 登錄
相關推薦
評論