무선 사무실 호출 벨 회로

문제를 제거하기 위해 도구를 사용해보십시오





이 글에서는 머리 / 상사 책상에서 6 명의 직원에게 전화를 걸거나 집을위한 다른 전화 벨 유형의 재미있는 프로젝트에 사용할 수있는 무선 사무실 전화 벨을 구축 할 것입니다.

nRF24L01 2.4GHz 모듈 사용

우리는 아두 이노와 nRF24L01 2.4GHz 모듈을 사용하여 간단한 무선 호출 벨을 구성 할 것입니다.이 모듈은 딸꾹질이나 커버리지 문제없이 집이나 사무실에서 작동 할 수 있습니다.



제안 된 회로는 5V 스마트 폰 어댑터 또는 저렴한 5V 어댑터에서 전원을 공급받을 수있어 회로를 활성화하고 통화를들을 수 있습니다.

개요를 살펴 보겠습니다. nRF24L01 2.4GHz 모듈 .



위의 칩을 nRF24L01 모듈이라고합니다. 마이크로 컨트롤러 및 Raspberry Pi와 같은 단일 보드 컴퓨터 용으로 설계된 이중 (양방향) 통신 회로 기판입니다.

ISM 대역 (산업용, 과학 용, 의료용) 인 2.4GHz 주파수를 사용하며 Wi-Fi 통신에 사용되는 주파수와 동일합니다.

2Mbps의 속도로 데이터를 송수신 할 수 있지만이 프로젝트에서는 데이터 요구 사항이 낮고 데이터 속도를 낮추면 전체 범위가 증가하기 때문에 송수신이 250Kbps로 제한됩니다.

피크 데이터 전송시 12.3mA 만 소비하므로 배터리 친화적 인 장치가됩니다. 마이크로 컨트롤러와 통신하기 위해 SPI 프로토콜을 사용합니다.

송수신 범위는 100m, 장애물이없는 범위에서 약 30m 거리에 장애물이 있습니다.

이 모듈은 인기있는 전자 상거래 사이트와 가까운 전자 제품 매장에서도 찾을 수 있습니다.

참고 : 모듈은 1.9 ~ 3.6V에서 작동 할 수 있으며 Arduino의 온보드 레귤레이터는 모듈에 3.3V를 제공 할 수 있습니다. nRF24L01의 Vcc 단자를 Arduino의 5V 출력에 연결하면 모듈의 오동작이 발생합니다. 따라서주의를 기울여야합니다.

nRF24L01 모듈에 대한 간략한 소개입니다.

회로도의 세부 사항을 살펴 보겠습니다.

원격 제어 회로 :

원격은 상사 또는 사무실 책임자와 함께있을 것입니다.

호출 벨 원격 제어 회로

리모컨은 Arduino 보드, 6 개의 서로 다른 수신기를 울리는 6 개의 푸시 버튼, nRF24L01 모듈 및 버튼 누름을 인식하는 LED를 사용할 수있는 방식으로 Arduino nano로 구성됩니다.

9V 배터리 또는 5V 어댑터를 사용하여 전원을 공급할 수 있습니다. 배터리의 경우 통화 후이 리모컨을 꺼야합니다.

이제 코드를 살펴 보겠습니다. 그 전에 라이브러리 파일을 다운로드해야 코드가 컴파일됩니다.

링크 : github.com/nRF24/RF24.git

원격 코드 :

// --------- Program Developed by R.GIRISH / homemade-circuits. com -------//
#include
#include
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 -------//

이것으로 리모트 / 송신기를 마칩니다.

이제 수신기를 살펴 보겠습니다.

수신기 회로 :

참고 : 필요에 따라 하나의 수신기 또는 6 개의 수신기를 만들 수 있습니다.

수신기는 Arduino 보드, nRF24L01 모듈 및 부저로 구성됩니다. 리모컨과 달리 수신기는 5V 어댑터에서 전원을 공급 받아야하므로 며칠 내에 소모되는 배터리에 의존하지 않아도됩니다.

호출 벨 원격 수신기 회로

이제 수신자의 코드를 살펴 보겠습니다.

수신자 용 프로그램 코드

// --------- Program Developed by R.GIRISH / homemade-circuits. com -------//
#include
#include
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 byte address [6] = '00001'코드를 업로드합니다.
// ------------- ------------ //

두 번째 수신자의 경우 (변경해야 함) :
const byte address [6] = '00002'코드를 업로드합니다.

세 번째 수신자의 경우 (변경해야 함) :
const byte address [6] = '00003'코드를 업로드합니다.

등등 …… .. '00006'또는 여섯 번째 수신기까지.

리모컨에서 'S1'을 누르면 주소가 '00001'인 수신기가 응답 / 윙윙 거립니다.

리모컨의 'S2'를 누르면 주소가 '00002'인 수신기가 응답 / 윙윙 거립니다.
등등……

이것으로 수신기 회로 세부 사항을 마칩니다.

더 많은 질문이 있으시면 의견란에 자유롭게 표현해 주시면 곧 답변을 드리겠습니다.




이전 : 원격 제어 테스터 회로 다음 : 간단한 부스트 컨버터 회로를 만드는 방법