Беспроводная схема звонка в офис

Попробуйте наш инструмент устранения неполадок





В этом посте мы собираемся построить беспроводной офисный звонок, который можно использовать для звонка 6 разным сотрудникам со стола руководителя / босса или другого развлекательного проекта звонящего типа для вашего дома.

Использование модуля nRF24L01 2,4 ГГц

Мы построим простой беспроводной звонок с использованием Arduino и модуля nRF24L01 2,4 ГГц, который сможет работать в вашем доме или офисе без каких-либо сбоев или проблем с покрытием.



Предлагаемая схема может питаться от адаптера для смартфона на 5 В или от любого недорогого адаптера на 5 В, который поддерживает вашу схему в рабочем состоянии и позволяет услышать ваш звонок.

Давайте посмотрим обзор Модуль nRF24L01 2,4 ГГц .



Вышеупомянутый чип называется модулем nRF24L01. Это дуплексная (двунаправленная) коммуникационная плата, предназначенная для микроконтроллеров и одноплатных компьютеров, таких как Raspberry Pi.

Он использует частоту 2,4 ГГц, которая является диапазоном ISM (промышленный, научный и медицинский диапазон), это та же частота, которая используется в связи Wi-Fi.

Он может передавать или принимать данные со скоростью 2 Мбит / с, но в этом проекте передача и прием ограничены 250 Кбит / с из-за более низких требований к данным, а снижение скорости передачи данных приведет к увеличению общего диапазона.

Он потребляет всего 12,3 мА на пике передачи данных, что делает устройство удобным для аккумулятора. Он использует протокол SPI для связи с микроконтроллером.

Он имеет дальность передачи / приема 100 метров без препятствий между ними и около 30 метров с некоторыми препятствиями.

Вы можете найти этот модуль на популярных сайтах электронной коммерции, а также в местном магазине электроники.

Примечание: модуль может работать от 1,9 до 3,6 В, встроенный стабилизатор на Arduino может обеспечить модуль 3,3 В. Если вы подключите терминал Vcc nRF24L01 к 5 В выхода Arduino, это приведет к неисправности модуля. Так что нужно проявлять осторожность.

Это краткое введение в модуль nRF24L01.

Давайте исследуем детали принципиальной схемы:

Схема дистанционного управления:

Пульт будет у начальника или главы офиса.

схема дистанционного управления звонком

Пульт дистанционного управления состоит из Arduino nano, кстати, вы можете использовать любую плату Arduino, 6 кнопок для вызова шести различных приемников, модуля nRF24L01 и светодиода для подтверждения нажатия кнопки.

Вы можете запитать его от батареи 9 В или от адаптера 5 В. Если батарея разряжена, выключите этот пульт после звонка.

Теперь посмотрим на код. Перед этим вам нужно скачать файл библиотеки, только после этого код будет скомпилирован.

Ссылка: 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 -------//

На этом завершается пульт / передатчик.

Теперь посмотрим на приемник.

Цепь приемника:

ПРИМЕЧАНИЕ. Вы можете сделать один приемник или шесть приемников в зависимости от ваших потребностей.

Приемник состоит из платы Arduino, модуля nRF24L01 и зуммера. В отличие от пульта, приемник должен питаться от адаптера 5 В, чтобы не зависеть от батарей, которые разрядятся в течение нескольких дней.

схема удаленного приемника звонка

Теперь посмотрим на код получателя:

Программный код для приемника

// --------- 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 адрес байта [6] = '00001' и загрузите код.
// ------------- ------------ //

Для второго ресивера (необходимо поменять):
const адрес байта [6] = '00002' и загрузите код.

Для третьего ресивера (необходимо поменять):
const адрес байта [6] = '00003' и загрузите код.

И так далее …… .. до «00006» или до шестого получателя.

Когда вы нажмете «S1» на пульте дистанционного управления, приемник с адресом «00001» ответит / гудит.

Когда вы нажмете «S2» на пульте дистанционного управления, приемник с адресом «00002» ответит / гудит.
И так далее……

На этом детали схемы приемника заканчиваются.

Если у вас есть дополнительные вопросы, не стесняйтесь выражать их в разделе комментариев, мы постараемся ответить вам в ближайшее время.




Предыдущая статья: Схема тестера дистанционного управления Далее: Как сделать простые схемы повышающего преобразователя