Final Mini Project Report
Final Mini Project Report
BELAGAVI – 590018
SJM Vidyapeetha
S J M INSTITUTE OF TECHNOLOGY
Affiliated to VTU, Belagavi, Approved by AICTE, New Delhi
Post box No.73, NH-4, Bypass, Chitradurga-577502, Karnataka
“Accredited by the NAAC ”
Report on
BACHELOR OF ENGINEERING
in
Submitted by,
S J M INSTITUTE OF TECHNOLOGY
(Recognized by AICTE, New Delhi and Affiliated to Visvesvaraya Technological University, Belagavi)
NH-4 Bypass, P.B.No:73, CHITRADURGA -577502, Karnataka State
“Accredited by the NAAC”
CERTIFICATE
This is to certify that the Mini-Project (BEC586) work entitled as “AUTOMATIC SCHOLL
BELL SYSTEM” is benifited work carried out by RANJITHA BH (4SM22EC046), SHAILA N
(4SM22EC056), SANDHYA S (4SM22EC054), TEJASWINI E (4SM22EC075) in partial fulfillment
for the award of Bachelor of Engineering in Electronics and Communication Engineering of the
Visvesvaraya Technological University, Belagavi during the academic year 2024-25. It is certified that all
corrections/suggestions are indicated for the Internal assessment have been incorporated in the report
deposited in the department library. The Mini-Project has been approved as it satisfies the academic
requirements in respect of Mini-Project work prescribed for the Bachelor of Engineering Degree.
Project report: 50
Project presentation skill: 25
Question and answer: 25
Max. Marks: 100
“Success is not Final, Failure is not fatal. It is courage to continue and that counts”
The completion of this project was successfully possible because of help of the people who guide and
encouraged us whom we would like to acknowledge.
We are grateful to Management authority S.J.M Vidyapeetha for giving us an opportunity to carry
the Mini-Project work.
We thank our Principal Dr. Bharath P B M.Tech, Ph.D S.J.M.I.T for providing us all the facilities to
complete our Mini-Project successfully.
We thank our Head of the Department Dr. Siddesh K B M.Tech, Ph.D Department of Electronics and
Communication Engineering for providing us all facilities to complete our Mini-Project successfully.
We would like to express express our sincere thanks to our Mini-Project co-ordinator
Prof. Raghu S M.Tech Assistant professor, Department of Electronics and Communication engineering for
his guidance, valuable help, advice and suggestions.
We would like to express sincere thanks to our Mini-Project Guide Prof. Sudharshan M K M.Tech
Assistant Professor, department of Electronics and Communication engineering for his priceless
suggestion and guidance.
Project Associates:
1) RANJITHA B H (4SM22EC046)
2) SANDHYA S (4SM22EC054)
3) SHAILA N (4SM22EC056)
4) TEJASWINI E (4SM22EC075).
CONTENTS
Chapter 1
1.1 Introduction:
In today‘s life, everyone gives importance to time. Time does not wait for anybody.
Everything should be performed in time & accurately. Now a day‘s school/college bells are
manually operated. Hence there is a big question of accuracy. Also there is necessity of
manpower and money. Hence here we should use automatic control system, which saves our
manpower and money & also highest accuracy. Hence we have selected the project.
Embedded Based Automatic School Bell System project is developed for the users to
control bell system in companies or institutions automatically. All the bell timings and
durations are predefined and set in the microcontroller. The user can set the timings using a key
pad. A LCD display is used to display the timings. The timings set by the user are stored in the
microcontroller. At the particular time, signal is generated in the microcontroller and sent
through the output port. The electronic circuit receives the signal and drives a corresponding
relay. The relay is used as a switch to operate the bell. As soon as the duration is over, the
signal is stopped and waiting for the next set time. This system is mainly used in Schools,
Colleges and other companies where bell system is implemented. There is no need of a person
managing the bell timings. The microcontroller program is written in Assembly Language.
In market there many digital clocks available with bells but ring only at specific time.
For e.g. Alarm Clock and some bells that ring after some time intervals and that cannot stop
after specific time. For e.g. Musical clock but all these limitation have been removed by our
project. It ring according to our school time table.
Our project takes over the task of ringing of the bell in schools. It replaces the manual
switching of the bell in the school. It has an inbuilt Real Time Clock (DS1307 /DS 12c887)
which tracks over the real time. When this time equals to the bell ringing time, then the relay
for the bell is switched on. The bell ringing time can be edited at any time, so that it can be
used at normal class timings as well as exam times. The Real Time Clock is displayed on LCD
display. The Microcontroller AT89S52 is used to control all the function to get the time
through the keypad and store it in its memory. And the real time and bell time get equal then
the bell is switched on for a predetermined time.
Embedded based Automatic School Bell System project developed for the users to
control bell system in companies or institution automatically. All the bell timings and durations
are predefined and set in the microcontroller. The user can set the timings using key pad. A
LCD display is used to display the timings. The timings set by the user are stored in the
microcontroller. At the particular time, signal is generate in the microcontroller andsent through
the output port.
The electric circuit receives the signal and drives a corresponding relay. The relay is
used as a switch to operate the bell. As soon as the duration is over, the signal is stopped and
waiting for the next set time. This system is mainly used in schools, colleges and other
companies where bell system is implemented. There is no need of a person managing the bell
timings. The microcontroller program is written in assembly language.
Fig 1.2: Circuit diagram for Automatic school bell system using arduino
1.3.2 Description:
In the circuit shown above, we provide 220V A.C. power supply to the
“step-down transformer” which converts 220V A.C. into 12V A.C. (i.e. stepped
down the power supply). Now this 12V A.C. is converted into 12V D.C. with the
help of “full wave rectifier” which consists of 4 diodes.
Voltage required for our circuit is 12V D.C. to operate . Second is 5V D.C.
supply to operate microcontroller “8952”. For this purpose we will use voltage
regulator “LM7805” which can take 8V -25V as I/P & provide 5V constant voltage.
1.3.3 Operation:
With the keypad looking into LCD display set the present time and required alarm time .
by using following switches
ENTER : to set the present time and it is also acts as ENTER or OK switch.
ALARM SET : to set the alarm time, with this switch we can set alarm time.
As the display appears with ‘WELCOME’ note set the current time by
using ENTER switch.
After that there it asks to enter date as in format of DD/MM/YY then enter date by
using INC and DEC switches and press ENTER then it asks to enter time then
enter time in the format of HH: MM by using INC and DEC switches and press
ENTER then it asks enter day then by using INC and DEC switches and press ENTER.
setting of the preset time in hours and minutes and day also
(set only when the display present is wrong).
In order to set alarm times use ALARM SET ,on pressing ALARM SET there it
asks to enter alarm time 1 then enter alarm time by using INC and DEC switches.
It has an Inbuilt Real Time Clock (DS1307 /DS 12c887) which tracks over the Real
Time. When this time equals to the Bell Ringing time, then the Bell is switched on.
If one want to change the belling time. Input the desire time from the keypad provided.
At the set time the buzzer will ring.
Chapter 2
Components List:-
A 16x2 LCD means it can display 16 characters per line and there are 2 such lines.
In this LCD each character is displayed in 5x7 pixel matrix. This LCD has two registers.
2. Data Register - stores the data to be displayed on the LCD. The data is the ASCII value
of the character to be displayed on the LCD.
1. Data pin8 (DB7) of the LCD is busy flag and is read when R/W = 1 & RS = 0. When
busy flag=1, it means that LCD is not ready to accept data since it is busy with the internal
operations. Therefore before passing any data to LCD, its command register should be read
and busy flag should be checked.
2. To send data on the LCD, data is first written to the data pins with R/W = 0 (to specify
the write operation) and RS = 1 (to select the data register). A high to low pulse is given at EN
pin when data is sent. Each write operation is performed on the positive edge of the Enable signal.
3. To send a command on the LCD, a particular command is first specified to the data pins
with R/W = 0 (to specify the write operation) and RS = 0 (to select the command register). A high
to low pulse is given at EN pin when data is sent.
They are used in assembly, packaging, and production processes to start, stop,
or pause operations. The advantages of using push buttons in manufacturing include
precise control, quick response, and easy integration into automation systems.
Usually each push button switch has two pairs of contacts. Each pair of contacts
consists of a NO contact and a NC contact. When the button is pressed, the two pairs of
contacts act simultaneously, the NC contact act simultaneously, the NC contact is
disconnected, and the NO contact is closed.
Push button switches are used in a wide range of applications, including computers,
crosswalks, telephones, industrial machinery, security systems, ATMs, military equipment,
casino gambling slot machines, fitness equipment, and gadgets.
Resistor is used to resistance the flow of current. When resistor is placed in a circuit,
the current flow decreases when current passes through the resistor. The part of current
energy dissipate in the form of heat in resistor, thus decrease the total current.
2.1.5 Buzzer:
The buzzer is a sounding device that can convert audio signals into sound signals. It
is usually powered by DC voltage. It is widely used in alarms, computers, printers and other
electronic products as sound devices.
Buzzer or beeper is an acoustic signaling device. It can be mechanical,
electromechanical or piezoelectric. An example of the mechanical one is a “joy buzzer”
which is used in the old alarm clocks, electromechanical is the one connected to the door
bell, and you will find out more about piezo buzzers in this tutorial.
The buzzer symbol is a semi-circle shape. To add a motor to the circuit, draw a
circle with the letter M in the middle. A component called a resistor controls the flow of
electricity through the circuit. All circuits generally contain a switch so that the flow of
electricity can be turned off, and back on again.
The sound of the buzzer is so piercing that it can be heard even in a very noise
place. Buzzers are usually used as sound signaling devices. They transmit, depending on the
type, a buzzer can be used to produce different types of sounds.
The DS3231 is a low-cost, extremely accurate 12C real-time clock (RTC) with
an integrated temperature-compensated crystal oscillator (TCXO) and crystal. The device
in corporates a battery input, and maintains accurate timekeeping when main power to the
device is interrupted.
RTC module detects a voltage drop of the main power supply and automatically
switches to a backup power supply for operation. while the MOS switch suppresses leakage
current and voltage drops, enabling efficient power management of the entire system
compared to diode or circuits.
The CR2032 battery in a DS3231 RTC module can last several years but consider
replacing it every 3-5 years as a precaution.
A real time clock, or RTC, is a digital clock with a primary function to keep
accurate track of time even when a power supply is turned off or a device is placed in lower
mode.
100 Ohm resistors are necessary in electronic circuits due to their versatility
and suitability for various applications. One key area where they excel is in voltage
dividers, where they help create precise voltage levels by dividing the input voltage
according to their resistance value.
Here are some of the key applications and circuits where a 100 ohm resistor provides
an optimal,
“100r” is something people type because the for ohms,the symbol for ohms, is
too inconvenient; it means 100 ohms. “100k” means 100 kΩ or 100,000 Ω. 100k would be
1000 times too large.
100 Ohm resistors can be identified via the resistor color code of Brown-black-
Gold and, for five band resistors, Brown-Black-Black-Black-Gold.
The R is sometimes used as a decimal point. So 100R is 100 ohms, 4R7 is 4.7 Ohms, etc.
A 1-channel relay has a single switch or channel, which means it can only control
one load or circuit at a time. This type of relay is typically used in simple applications where
only one load needs to be switched, such as turning a single light on or off.
Relay modules serve as interface devices that enable the transfer of signals
and information between different devices or systems. They act as a bridge, allowing low-
powered digital electronics, such as microcontrollers like Arduino or Raspberry Pi, to control
high-powered devices like motors or lighting circuits.
These are male to male jumper wires used in connecting the male header pin of
any development boards having a male connector. They are simple wires that have connector
pins at each end allowing then to be used to connect two points to each other.
They are suitable for use with mini PCs and development boards such as Banana
Pi, and Arduino. These high-quality, durable, and reusable wires are perfect for PCB projects,
PC motherboard, and breadboard connections. Their flexibility enables easy prototyping by
allowing for easy plugging and unplugging.
A male-to-male connector is used when you want to connect two female ports.
This type of connector is common for audio and video equipment, where, for instance, you
might connect a female port on a speaker to a female port on an amplifier.
Red is positive and black is negative. Here's the correct order for your jumper cables:
RED to DEAD: Connect the red clip to the positive terminal on your dead battery. RED to
DONOR: Connect the red clip to the positive terminal on the donor vehicle's working battery.
Create a new project in ARDUINO and then write the code for the design to be implement.
As the bell is dependent on real time clock for its functioning as per the given schedule,
firstly, we have to make use of a RTC-DS1307 module to implement the functioning
of the bell.
Based upon the timing mode of RTC, a schedule is assigned in the code itself for the bell
to ring at some regular intervals of time without human intervention.
After the code is written, check for errors and then upload it on to the Arduino UNO board
and verify the functioning of the designed circuit by checking the output.
Real-time clock module DS1307 is where this automatic school bell system’s operation
begins. This module monitors and provides real-time data to Arduino. Arduino will commonly
obtain the time and date values from this chip using the polling procedure. Additionally, the
user has five button inputs that they may utilize to change the RTC chip’s hours, minutes, date,
month, and year settings.The corresponding values will change as these buttons are continuous
toggled, and they will be recorded in the RTC chip. A relay that is operated by a transistor
switch is used to trigger the automatic bell timer. The transistor switch is absolutely essential
because Arduino lacks the power to directly operate the relay. When the relay is turned OFF,
adding a flywheel diode D1 will protect the rest of the circuit.
CHAPTER 3
3.1 Results:
Our project is Automatic school bell system using arduino. This is a system has been
developed with an educational purpose, and is intended to be used with primary/secondary
school children. The description of the system is aimed at analyzing the kinds of knowledge
and solution techniques which must be employed by an automatic belling system, oriented to
the arithmetic domain, in order to make it a tppl apt to be used in order to improve the
learning of automatic concepts of bell system.
This technology in a primary and secondary school setting to support rich classroom
activities particularly in the field of early literacy. After initial tests have been held on that
time this system will bells once. We are now exploring specific intelligent support
mechanisms, to inform participants both teachers and students about the automatically
determined learning opportunities. Several feedback and suggestion mechanisms are
presented which are based on an elaborate normative learner mode in early literacy.
CHAPTER 4
4.1 ADVANTAGES:
Such a system can ensure precise timing, reduce human error, and improve the overall
efficiency of school operations. The automatic school bell is a digital circuit programmed to
ring at specific times every day using an Arduino UNO, which is an easy-to-program and
low-cost microcontroller compared to others.
The ringing of a school bell (In foreign) announces important times to a school’s
students and staff, such as marking the beginnings and ends of the school day, class periods
and breaks.
One of the main advantages of an automatic bell system is that it eliminates the risk
of human error. Manual bell ringing can be prone to errors, such as a bell being rung too early
or too late, but an automatic system eliminates this risk. The system also allows for flexibility
in scheduling.
4.3 DISADVANTAGES:
However, they also have some disadvantages, including the need for s power supply,
the risk of shock, cost and maintenance requirements.
While electrical energy offers many advantages, including easy transportation and
storage, and the potential to be generated from renewable sources, it also has some important
drawback, including its non-renewable nature, potential health hazards, cost, environment
impact and vulnerability.
CHAPTER 5
5.1 CONCLUSIONS:
Present day ringiong the bell in colleges or schools are carried out manually.
So this should be eliminated completeluy by making use of automations.
The main disadvantage of this is that one person as to be alert for this and the
probability of error is more.
To overcome this, we have decided to prepare the circuit which will be operated
automatically and the ringing of bell will start by its given time.
5.2 CODE:
#define relay 8
#define buzzer 13
//RTC DS3231
#define DS3231_I2C_ADDRESS 0x68 //address of DS3231 module
pinMode(bt_set, INPUT_PULLUP);
pinMode(bt_next, INPUT_PULLUP);
pinMode(bt_up, INPUT_PULLUP);
pinMode(bt_down, INPUT_PULLUP);
pinMode(relay, OUTPUT);
pinMode(buzzer, OUTPUT);
digitalWrite(relay, 1);
if(EEPROM.read(0)==0){
}else{
for(int x=1; x<max; x++){
WriteEeprom(1,x); delay(2);
WriteEeprom(2,x); delay(2);
WriteEeprom(3,x); delay(2);
WriteEeprom(4,x); delay(2);
WriteEeprom(5,x); delay(2);
WriteEeprom(6,x); delay(2);
}
EEPROM.write(10,0);
EEPROM.write(11,0);
}
set_time = EEPROM.read(10);
weekend = EEPROM.read(11);
delay(2000);
noInterrupts(); // disable all interrupts
TCCR1A = 0; // set entire TCCR1A register to 0 //set timer1 interrupt at 1kHz
TCCR1B = 0; // same for TCCR1B
TCNT1 = 0; // set timer count for 1khz increments
OCR1A = 1999; // = (16*10^6) / (1000*8) - 1
//had to use 16 bit timer1 for this bc 1999>255, but could switch to timers 0 or 2
// turn on CTC mode
TCCR1B |= (1 << WGM12); // Set CS11 bit for 8 prescaler
TCCR1B |= (1 << CS11); // enable timer compare interrupt
TIMSK1 |= (1 << OCIE1A);
interrupts(); // enable
}
void loop() {
GetRtc();
if(ss==0){
if(flag0==0 || flag0==2){flag0=0;
Alarm = EEPROM.read(set_day);
for(int x=1; x<Alarm+1; x++){
ReadEeprom(set_day,x);
if(StartHH==hh && StartMM==mm){ run_time = set_time;
digitalWrite(relay, 0);
timerStart = true;
if(Alarm==x) flag3=1;
else {flag3=0; ReadEeprom(set_day,x+1);}
x=100;
}
}
}
if(digitalRead(bt_up)==0){digitalWrite(buzzer, 1);
if(setMode==1){set_day = set_day+1;
if(set_day>7)set_day=1;
SetRtc(ss, mm, hh,set_day);
}
if(setMode==2){
if(set==0)hh=hh+1;
else mm=mm+1;
if(hh>23)hh=0;
if(mm>59)mm=0;
SetRtc(ss, mm, hh,set_day);
lcd.setCursor(0,1);
if(timerStart == true){
lcd.print("Bell On ");
lcd.print((run_time/10)%10);
lcd.print(run_time % 10);
lcd.print(" Sec ");
}else{
lcd.print("Next Bell=");
if(flag3==0){
lcd.print((StartHH/10)%10);
lcd.print(StartHH % 10);
lcd.print(":");
lcd.print((StartMM/10)%10);
lcd.print(StartMM % 10);
}else{lcd.print("##:##");}
}
}
if(setMode==1){
if(setMode==3){
lcd.setCursor(0,0);
lcd.print("SET Bell Time");
lcd.setCursor(1,1);
if(flash){
lcd.print((set_time/10)%10);
lcd.print(set_time % 10);
}else lcd.print(" ");
lcd.print(" Sec");
}
if(setMode==4){
lcd.setCursor(0,0);
lcd.print("SET Weekend");
lcd.setCursor(1,1);
if(flash){
lcd.print(show_day[weekend]);
}else lcd.print(" ");
}
if(setMode==5){
lcd.setCursor(0,0);
lcd.print("SET Bell for");
lcd.setCursor(1,1);
if(flash){
if(set_week==0)lcd.print("Week Days");
else lcd.print(show_day[set_week]);
}else lcd.print(" ");
}
lcd.setCursor(8,1);
lcd.print("T=");
lcd.print((StartHH/10)%10);
lcd.print(StartHH % 10);
lcd.print(":");
lcd.print((StartMM/10)%10);
lcd.print(StartMM % 10);
}else{
if(set==0)lcd.setCursor(1,1);
else if(set==1)lcd.setCursor(10,1);
else if(set==2)lcd.setCursor(13,1);
lcd.print(" ");
}
}
}
//Set RTC
void SetRtc(byte second, byte minute, byte hour, byte dayOfWeek) {
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0); //set 0 to first register
Wire.write(decToBcd(second)); //set second
Wire.write(decToBcd(minute)); //set minutes
Wire.write(decToBcd(hour)); //set hours
Wire.write(decToBcd(dayOfWeek)); //set day of week (1=su, 2=mo, 3=tu)
Wire.endTransmission();
}
//read RTC
void GetRtc() {
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0); //write "0"
Wire.endTransmission();
Wire.requestFrom(DS3231_I2C_ADDRESS, 7); //request - 7 bytes from RTC
ss = bcdToDec(Wire.read() & 0x7f);
mm = bcdToDec(Wire.read());
hh = bcdToDec(Wire.read() & 0x3f);
set_day = bcdToDec(Wire.read());
}
//conversion Dec to BCD
byte decToBcd(byte val) {
return((val / 10 * 16) + (val % 10));
}
5.1.3 Reference
Research papers:
Design and implementations of automatic school bell system using arduino by
S. S. Rao et al. (2020).
Online resources:
Youtube: Automatic School Bell System by ‘Eletronics Hub’
Reference link
https://youtu.be/s99ntWjAigo?si=bSvHOwpFkWZbzGim
pg.27
DepartmentofECE,SJMITChitradurga
Socialconnectandresponsibilities[BSCK307] 2023-24
pg.28
DepartmentofECE,SJMITChitradurga