Neste post, vamos construir um sino de chamada sem fio para escritório que pode ser usado para chamar 6 pessoas diferentes da mesa do chefe / chefe ou algum outro projeto divertido do tipo sino de chamada para sua casa.
Usando o módulo nRF24L01 2,4 GHz
Estaremos construindo uma campainha de chamada sem fio simples usando o módulo Arduino e nRF24L01 de 2,4 GHz, que pode funcionar em sua casa ou escritório sem quaisquer soluços ou problemas de cobertura.
O circuito proposto pode ser alimentado por um adaptador de smartphone de 5 V ou qualquer adaptador de 5 V barato que mantém seu circuito vivo e pronto para ouvir sua chamada.
Vamos dar uma olhada em uma visão geral Módulo nRF24L01 2,4 GHz .
O chip acima é denominado módulo nRF24L01. É uma placa de circuito de comunicação duplex (bidirecional) projetada para microcontroladores e computadores de placa única como o Raspberry Pi.
Ele utiliza a freqüência de 2,4 GHz que é a banda ISM (banda industrial, científica e médica), é a mesma freqüência usada na comunicação Wi-Fi.
Ele pode transmitir ou receber dados a uma taxa de 2 Mbps, mas neste projeto a transmissão e a recepção são limitadas a 250 Kbps devido aos requisitos de dados mais baixos e reduzir a taxa de dados resultará em um alcance geral maior.
Ele consome apenas 12,3 mA no pico de transmissão de dados, o que torna o dispositivo amigável com bateria. Ele utiliza o protocolo SPI para comunicação com o microcontrolador.
Possui alcance de transmissão / recepção de 100 metros sem obstáculo entre e cerca de 30 metros de alcance com algum obstáculo.
Você pode encontrar este módulo em sites de comércio eletrônico populares, também em sua loja de eletrônicos local.
Nota: O módulo pode funcionar de 1,9 a 3,6 V, o regulador integrado no Arduino pode fornecer 3,3 V para o módulo. Se você conectar o terminal Vcc do nRF24L01 a 5 V da saída do Arduino, isso resultará no mau funcionamento do módulo. Portanto, deve-se ter cuidado.
Esta é a breve introdução ao módulo nRF24L01.
Vamos investigar os detalhes do diagrama de circuito:
O circuito de controle remoto:
O controle remoto ficará com o chefe ou chefe do escritório.
O controle remoto consiste em Arduino nano pela forma como você pode usar qualquer placa Arduino, 6 botões para tocar em seis receptores diferentes, módulo nRF24L01 e um LED para reconhecer o toque de um botão.
Você pode alimentá-lo usando bateria de 9V ou adaptador de 5V No caso de bateria, você deve desligar o controle remoto após a sua ligação.
Agora vamos dar uma olhada no código. Antes disso, você precisa baixar o arquivo de biblioteca e só então o código é compilado.
Link: github.com/nRF24/RF24.git
Código para remoto:
// --------- 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 -------//
Isso conclui o controle remoto / transmissor.
Agora vamos olhar para o receptor.
O circuito receptor:
NOTA: Você pode fazer um receptor ou seis receptores dependendo de suas necessidades.
O receptor consiste em uma placa Arduino, módulo nRF24L01 e um buzzer. Ao contrário do controle remoto, o receptor deve ser alimentado por um adaptador de 5 V, para que você não dependa das baterias, que se esgotam em alguns dias.
Agora vamos examinar o código do receptor:
Código do programa para o receptor
// --------- 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 -------//
NOTA:
Se você for construir mais de um receptor para este sistema de campainha de chamada de escritório, deverá alterar o valor mencionado na construção sucessiva do receptor e fazer upload do código.
Para o primeiro receptor (não há necessidade de alterar nada):
// ------- Mude isso ------- //
endereço de byte const [6] = '00001' e carregue o código.
// ------------- ------------ //
Para o segundo receptor (você tem que mudar):
endereço de byte const [6] = '00002' e carregue o código.
Para o terceiro receptor (você deve mudar):
endereço de byte const [6] = '00003' e carregue o código.
E assim por diante …… .. até “00006” ou o sexto receptor.
Quando você pressiona “S1” no controle remoto, o receptor com o endereço “00001” responderá / zumbirá.
Quando você pressiona “S2” no controle remoto, o receptor com o endereço “00002” responderá / zumbirá.
E assim por diante……
Isso conclui os detalhes do circuito receptor.
Se você tiver mais perguntas, sinta-se à vontade para expressá-las na seção de comentários, nós tentaremos entrar em contato com você em breve com uma resposta
Anterior: Circuito de teste de controle remoto Próximo: Como fazer circuitos simples de conversão de reforço