在这篇文章中,我们将构建无线办公室呼叫铃,可用于从主管/老板的办公桌或其他一些呼叫铃类型的有趣项目中呼叫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文章
5414浏览量
172929 -
nRF24L01
+关注
关注
17文章
330浏览量
69340 -
Arduino
+关注
关注
187文章
6456浏览量
186467
发布评论请先 登录
相关推荐
评论