• Skip to main content
  • Skip to primary sidebar

Homemade Circuit Projects

Get free circuit help 24/7

Circuits for Beginners | Basic Circuits | LED Driver | Hobby Circuits | Transistor Circuits

New-Projects | Privacy Policy | About us | Contact | Disclaimer | Copyright | Videos

You are here: Home / Arduino Engineering Projects / Wireless Office Call Bell Circuit

Wireless Office Call Bell Circuit

Last Updated on August 3, 2019 by Swagatam

ask questions through comments

In this post we are going to construct wireless office calling bell which can be used for calling 6 different personnel from head’s / boss’s desk or some other calling bell type fun project for your home.

Using nRF24L01 2.4 GHz module

We will be constructing a simple wireless calling bell using Arduino and nRF24L01 2.4 GHz module, which can work around your home or your office without any hiccups or coverage issue.

The proposed circuit can be powered from a 5V smartphone adapter or any inexpensive 5V adapter which keeps your circuit alive and ready to hear your call.

Let’s look an overview of nRF24L01 2.4 GHz module.

The above chip is called nRF24L01 module. It is a duplex (bi-directional) communication circuit board designed for microcontrollers and single board computers like Raspberry Pi.

It utilizes 2.4 GHz frequency which is ISM band (Industrial, Scientific and Medical band) it is the same frequency used in Wi-Fi communication.

It can transmit or receive data at the rate of 2Mbps, but in this project the transmission and reception is limited to 250 Kbps because of lower data requirements and lowering the data rate will results in increased overall range.

It consumes only 12.3 mA at peak data transmission which makes battery friendly device. It utilizes SPI protocol for communicating with microcontroller.

It has transmission / reception range of 100 meter with no obstacle in between and about 30 meter range with some obstacle.

You can find this module on popular e-commerce sites, also at your local electronics store.

Note: The module can work from 1.9 to 3.6V, the on board regulator on the Arduino can provide 3.3V for the module. If you connect the nRF24L01’s Vcc terminal to 5V of Arduino’s output, this will result in malfunction of the module. So care must be taken.

That’s the brief introduction to the nRF24L01 module.

Let’s investigate the details of the circuit diagram:

The Remote Control Circuit:

Remote will be with the boss or the head of the office.

call bell remote control circuit

The remote consists of Arduino nano; by the way you can use any Arduino board, 6 push buttons for ringing six different receivers, nRF24L01 module and a LED for acknowledging the push of a button.

You can power this using 9V battery or from 5V adapter. In case of battery you should turn off this remote after your call.

Now let’s look at the code. Before that you need to download the library file only then the code gets compiled.

Link: github.com/nRF24/RF24.git

Code for Remote:

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

That concludes the remote / transmitter.

Now let’s look at the receiver.

The Receiver Circuit:

NOTE: You can make one receiver or six receivers depending on your needs.

The receiver consists of Arduino board, nRF24L01 module and a buzzer. Unlike the remote, receiver should be powered from 5V adapter, so that you don’t depend on the batteries which will drain within couple of days.

call bell remote receiver circuit

Now let’s look at the code for receiver:

Program Code for the Receiver

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

NOTE:

If you are going to build more than one receiver for this office call bell system, then you should change the mentioned value on successive receiver build and upload the code.

For the first receiver (no need to change anything):

// ------- Change this ------- //
const byte address[6] = "00001"; and upload the code.
// ------------- ------------ //

For the second receiver (You have to change):
const byte address[6] = "00002"; and upload the code.

For the third receiver (You have to change):
const byte address[6] = "00003"; and upload the code.

And so on…….. up to “00006” or the sixth receiver.

When you press “S1” on the remote, the receiver with address “00001” will respond / buzz.

When you press “S2” on the remote, the receiver with address “00002” will respond / buzz.
And so on……

That concludes the receiver circuit details.

If you have more questions, please feel free to express them in the comment section, we will try to get back to you soon with a reply

get free help for circuit diagrams

You'll also like:

  • 1.  Making a Single Channel Oscilloscope using Arduino
  • 2.  Arduino LCD KeyPad Shield (SKU: DFR0009) Datasheet
  • 3.  Introduction to I2C LCD Adapter Module
  • 4.  Introduction to EEPROM in Arduino
  • 5.  Learning Basic Arduino Programming – Tutorial for the Newcomers
  • 6.  Simple Digital Water Flow Meter Circuit using Arduino

About Swagatam

I am an electronic engineer (dipIETE ), hobbyist, inventor, schematic/PCB designer, manufacturer. I am also the founder of the website: https://www.homemade-circuits.com/, where I love sharing my innovative circuit ideas and tutorials.
If you have any circuit related query, you may interact through comments, I'll be most happy to help!

Subscribe for the Latest Posts


 

Reader Interactions

Comments

  1. Scott McKie says

    July 7, 2018 at 1:23 am

    Hello Garish,
    I have a question.
    Can you help me with designing an Arduino controlled LC resonant tank circuit automatic frequency “sense and maintain” circuit.
    Essentially I need to be able to first determine the LC tanks’ natural resonant frequency before powering up the entire circuit.
    LC sensing contacts of some sort would first “ping” the LC components, causing the natural resonant frequency to be generated. This frequency could be connected to the input to the Arduino, which would generate the proper variable output signal for a 10 k ohm, 8pdip digital potentiometer. The digital pot’s resistive output would supply the control to the tank’s input clock circuitry. Presently that is accomplished with a Bourne 10 k /10 turn, wire-wound pot.

    The system, minus the pot, would be powered at 12 VDC, with the pot being powered at 5 VDC. The system will need circuitry to boost the pot’s output back up to 12 VDC.

    Can and will you help?

    Thank you in advance for anything you can help me with this task.

    • Swag says

      July 7, 2018 at 9:02 am

      Hi Scott,

      here’s the email ID of Mr. GR, you can contact him directly:

      girishisro7
      @
      gmail.com

  2. GR says

    June 4, 2018 at 6:40 pm

    Hi Gerald,

    Please check does this project suit your requirements: https://www.homemade-circuits.com/24-ghz-10-channel-remote-control-switch/

    Regards

  3. GERALD AKAMAKA says

    June 4, 2018 at 6:16 am

    Good day sir, I am Gerald Aka aka from Nigeria. My question is, what changes can I make to make A single receiver to respond to all the addresses and light up six (6) LEDs depending on the address received? Am asking because I will like the device as a switch my house… Thanks for your response.

Primary Sidebar



Categories

  • 3-Phase Power (15)
  • 324 IC Circuits (19)
  • 4017 IC Circuits (52)
  • 4060 IC Circuits (25)
  • 555 IC Circuits (98)
  • 741 IC Circuits (19)
  • Amplifiers (59)
  • Arduino Engineering Projects (83)
  • Audio Projects (94)
  • Battery Chargers (83)
  • Car and Motorcycle (94)
  • Datasheets (46)
  • Decorative Lighting (Diwali, Christmas) (32)
  • DIY LED Projects (89)
  • Electronic Components (97)
  • Electronic Devices and Circuit Theory (35)
  • Electronics Tutorial (109)
  • Fish Aquarium (5)
  • Free Energy (34)
  • Fun Projects (12)
  • GSM Projects (9)
  • Health Related (19)
  • Heater Controllers (28)
  • Home Electrical Circuits (100)
  • How to Articles (20)
  • Incubator Related (6)
  • Industrial Electronics (28)
  • Infrared (IR) (40)
  • Inverter Circuits (98)
  • Laser Projects (12)
  • LM317/LM338 (21)
  • LM3915 IC (25)
  • Meters and Testers (64)
  • Mini Projects (156)
  • Motor Controller (66)
  • MPPT (7)
  • Oscillator Circuits (24)
  • PIR (Passive Infrared) (8)
  • Power Electronics (33)
  • Power Supply Circuits (74)
  • Radio Circuits (9)
  • Remote Control (47)
  • Security and Alarm (61)
  • Sensors and Detectors (118)
  • SG3525 IC (5)
  • Simple Circuits (74)
  • SMPS (29)
  • Solar Controllers (60)
  • Timer and Delay Relay (53)
  • TL494 IC (5)
  • Transformerless Power Supply (8)
  • Transmitter Circuits (40)
  • Ultrasonic Projects (14)
  • Water Level Controller (45)


Circuit Calculators

  • AWG to Millimeter Converter
  • Battery Back up Time Calculator
  • Capacitance Reactance Calculator
  • IC 555 Astable Calculator
  • IC 555 Monostable Calculator
  • Inductance Calculator
  • LC Resonance Calculator
  • LM317, LM338, LM396 Calculator
  • Ohm’s Law Calculator
  • Phase Angle Phase Shift Calculator
  • Power Factor (PF) Calculator
  • Reactance Calculator
  • Small Signal Transistor(BJT) and Diode Quick Datasheet
  • Transistor Astable Calculator
  • Transistor base Resistor Calculator
  • Voltage Divider Calculator
  • Wire Current Calculator
  • Zener Diode Calculator


You can also Chat with me here:

Facebook
Twitter
YouTube
Instagram
My Facebook-Page
Quora



© 2022 · Swagatam Innovations

We use cookies on our website to give you the best experience.
Cookie settingsAccept All
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Please visit the Privacy Policy Page for more info.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT