Trådløst kontoropkaldsklokke

Prøv Vores Instrument Til At Fjerne Problemer





I dette indlæg skal vi konstruere trådløs kontoropkaldsklokke, som kan bruges til at ringe til 6 forskellige medarbejdere fra hovedets / chefens skrivebord eller et andet sjovt projekt, der ringer til klokken, til dit hjem.

Brug af nRF24L01 2,4 GHz-modul

Vi konstruerer en simpel trådløs opkaldsklokke ved hjælp af Arduino og 2,4 GHz GHz-modulet nRF24L01, som kan arbejde rundt om dit hjem eller på dit kontor uden problemer eller dækningsproblemer.



Det foreslåede kredsløb kan få strøm fra en 5V-smartphone-adapter eller en hvilken som helst billig 5V-adapter, der holder dit kredsløb i live og klar til at høre dit opkald.

Lad os se en oversigt over nRF24L01 2,4 GHz-modul .



Ovenstående chip kaldes nRF24L01-modul. Det er et duplex (tovejs) kommunikationskort designet til mikrokontrollere og enkeltkortcomputere som Raspberry Pi.

Det bruger 2,4 GHz-frekvens, som er ISM-bånd (industrielt, videnskabeligt og medicinsk bånd), det er den samme frekvens, der bruges i Wi-Fi-kommunikation.

Det kan sende eller modtage data med en hastighed på 2 Mbps, men i dette projekt er transmission og modtagelse begrænset til 250 Kbps på grund af lavere datakrav, og at sænke datahastigheden vil resultere i øget samlet rækkevidde.

Det bruger kun 12,3 mA ved peak dataoverførsel, hvilket gør batterivennlig enhed. Det bruger SPI-protokol til kommunikation med mikrocontroller.

Det har transmission / modtagelsesområde på 100 meter uden forhindring imellem og ca. 30 meter rækkevidde med en vis forhindring.

Du kan finde dette modul på populære e-handelswebsteder, også i din lokale elektronikbutik.

Bemærk: Modulet kan fungere fra 1,9 til 3,6V, den indbyggede regulator på Arduino kan levere 3,3V til modulet. Hvis du tilslutter nRF24L01's Vcc-terminal til 5V af Arduinos output, vil dette resultere i funktionsfejl i modulet. Så der skal udvises forsigtighed.

Det er den korte introduktion til nRF24L01-modulet.

Lad os undersøge detaljerne i kredsløbsdiagrammet:

Fjernbetjeningskredsløbet:

Fjernbetjening vil være hos chefen eller kontorets leder.

opkaldsklokke fjernbetjeningskredsløb

Fjernbetjeningen består af Arduino nano, forresten kan du bruge ethvert Arduino-kort, 6 trykknapper til at ringe til seks forskellige modtagere, nRF24L01-modul og en LED til at bekræfte et tryk på en knap.

Du kan tænde dette ved hjælp af 9V batteri eller fra 5V adapter. I tilfælde af batteri skal du slukke for denne fjernbetjening efter dit opkald.

Lad os nu se på koden. Før det skal du først downloade biblioteksfilen, så bliver koden samlet.

Link: github.com/nRF24/RF24.git

Kode til fjernbetjening:

// --------- 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 -------//

Det konkluderer fjernbetjeningen / senderen.

Lad os nu se på modtageren.

Modtagerkredsløbet:

BEMÆRK: Du kan lave en modtager eller seks modtagere afhængigt af dine behov.

Modtageren består af Arduino-kort, nRF24L01-modul og en summer. I modsætning til fjernbetjeningen skal modtageren have strøm fra 5V-adapter, så du ikke er afhængig af batterierne, der drænes inden for et par dage.

opkaldsklokke fjern modtager kredsløb

Lad os nu se på koden til modtageren:

Programkode for modtageren

// --------- 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 -------//

BEMÆRK:

Hvis du skal opbygge mere end en modtager til dette kontoropkaldssystem, skal du ændre den nævnte værdi på den efterfølgende modtageropbygning og uploade koden.

For den første modtager (ingen grund til at ændre noget):

// ------- Skift dette ------- //
const byte adresse [6] = '00001' og upload koden.
// ------------- ------------ //

For den anden modtager (Du skal skifte):
const byte adresse [6] = '00002' og upload koden.

For den tredje modtager (Du skal ændre):
const byte-adresse [6] = '00003' og upload koden.

Og så videre …… .. op til “00006” eller den sjette modtager.

Når du trykker på “S1” på fjernbetjeningen, vil modtageren med adressen “00001” svare / buzz.

Når du trykker på “S2” på fjernbetjeningen, vil modtageren med adressen “00002” svare / buzz.
Og så videre……

Det konkluderer detaljerne i modtagerens kredsløb.

Hvis du har flere spørgsmål, er du velkommen til at udtrykke dem i kommentarfeltet, vi prøver snart at vende tilbage til dig med et svar




Forrige: Fjernbetjeningstesterkredsløb Næste: Sådan oprettes enkle boostkonvertererkredsløb