A Project Report On Smart Bell With Electronic Time Table Display
A Project Report On Smart Bell With Electronic Time Table Display
Submitted by
T.MOUNIKA : 19NQ1A0454
S.SHANMUKHA DURGAREDDY : 20NQ5A0409
K.NAVEEN BABU : 19NQ1A0417
G.KRISHNA VAMSI : 19NQ1A0409
N.RAVALLIKA : 19NQ1A0438
Under the Esteemed Guidance Of
Mr. B. VENKATESWARA REDDY
M.Tech (Ph.D.),
ASSOCIATE PROFESSOR & HOD
CERTIFICATE
This is to certify that the project entitled “SMART BELL WITH
ELECTRONIC TIME TABLE DISPLAY” is the bonafied work done by
T.MOUNIKA : 19NQ1A0454
S.SHANMUKHA DURGAREDDY : 20NQ5A0409
K.NAVEEN BABU : 19NQ1A0417
G.KRISHNA VAMSI : 19NQ1A0409
N.RAVALLIKA : 19NQ1A0438
This is to place on record our appreciation and deep gratitude to the persons
without support this project would never see the light of day.
We would like to thank Our Respected CHAIRMAN Sri N. NARSI REDDY, for
providing the necessary infrastructure for my project.
We would also thank my faculty members without whom this project would have
been a distant reality. I also extend my heartful thanks to family and well-wishers.
T.MOUNIKA : 19NQ1A0454
S.SHANMUKHA DURGAREDDY : 20NQ5A0409
K.NAVEEN BABU : 19NQ1A0417
G.KRISHNA VAMSI : 19NQ1A0409
N.RAVALLIKA : 19NQ1A0438
DECLARATION
We hereby declare that the dissertation entitled “ SMART BELL
WITH ELECTRONIC TIME TABLE DISPLAY” submitted for the Bachelor
of technology in ELECTRONICS & COMMUNICATION ENGINEERING
is my original work.
T.MOUNIKA : 19NQ1A0454
S.SHANMUKHA DURGAREDDY : 20NQ5A0409
K.NAVEEN BABU : 19NQ1A0417
G.KRISHNA VAMSI : 19NQ1A0409
N.RAVALLIKA : 19NQ1A0438
INDEX
CONTENTS PAGE
NO
ABSTRACT
CHAPTER-1
INTRODUCTION 1
CHAPTER-2
PROPOSED SYSTEM 11
2.1 Introduction 11
CHAPTER-3
HARDWARE DESCRIPTION 16
3.1 ARDUINO 16
3.5 BUZZERS 39
CHAPTER-4
SOFTWARE DESCRIPTION 46
4.3 COMMANDS 47
4.4 ARDUINO IDE: INITIAL SETUP 51
4.6 PROTEUS 54
CHAPTER-5
RESULT ANALYSIS 68
CHAPTER-6
CHAPTER-7
REFERENCES 71
LIST OF FIGURES
The time-based automatic college bell automation system is an innovative project that aims to
automate the ringing of the college bell at specific times of the day. The system uses an
ESP8266 Wi-Fi module, an RTC module, an LCD, and push buttons to set the time.
Additionally, the system also features a smart e-notice board that displays important messages
on a P10 LED display. The system is designed to simplify the process of bell ringing and notice
board management, reducing the workload of administrative staff. The automatic bell ringing
system ensures that the bell rings at the scheduled time, eliminating the need for manual
intervention. The smart e-notice board provides real-time updates on important notices and
announcements, ensuring that students and staff are well informed.
This project is designed to be easy to use and can be implemented in any college or educational
institution. The following sections provide a detailed explanation of the system's components,
working principle, and advantages.
SMART BELL WITH ELECTRONIC TIMETABLE DISPLAY
CHAPTER-1
INTRODUCTION
The time-based automatic college bell automation system is a project that aims to automate the
ringing of the college bell at specific times of the day, along with a smart e-notice board that
displays important messages. The system is designed to simplify the process of bell ringing and
notice board management, reducing the workload of administrative staff. The system uses an
ESP8266 Wi-Fi module, an RTC module, an LCD, push buttons, and a P10 LED display to
achieve its objectives.
Traditionally, colleges and educational institutions use manual methods to ring the bell, which is
often time-consuming and prone to errors. Similarly, managing the notice board with updated
information is also a cumbersome process. This project aims to provide a solution to these issues
by automating the bell ringing process and providing a smart e-notice board that displays real-
time updates.
As its name suggests, Embedded means something that is attached to another thing. An
embedded system can be thought of as a computer hardware system having software embedded
in it. An embedded system can be an independent system or it can be a part of a large system. An
embedded system is a microcontroller or microprocessor based system which is designed to
perform a specific task. For example, a fire alarm is an embedded system; it will sense only
smoke.
1. It has hardware.
3. It has Real Time Operating system (RTOS) that supervises the application software and
provide mechanism to let the processor run a process as per scheduling by following a plan to
control the latencies. RTOS defines the way the system works. It sets the rules during the
execution of application program. A small scale embedded system may not have RTOS.
So, we can define an embedded system as a Microcontroller based, software driven, and reliable,
real-time control system.
Single-functioned – An embedded system usually performs a specialized operation and does the
same repeatedly. For example: A pager always functions as a pager.
Tightly constrained – All computing systems have constraints on design metrics, but those on
an embedded system can be especially tight. Design metrics is a measure of an implementation's
features such as its cost, size, power, and performance. It must be of a size to fit on a single chip,
must perform fast enough to process data in real time and consume minimum power to extend
battery life.
Reactive and Real time – Many embedded systems must continually react to changes in the
system's environment and must compute certain results in real time without any delay. Consider
an example of a car cruise controller; it continually monitors and reacts to speed and brake
ADVANTAGES:
1) Easily customizable.
DISADVANTAGES:
smart cards, missiles, satellites, computer networking and digital consumer electronics.
IOT (Internet of Things) is an advanced automation and analytics system which exploits
networking, sensing, big data, and artificial intelligence technology to deliver complete systems
for a product or service. These systems allow greater transparency, control and performance
when applied to any industry or system.
IOT systems have applications across industries through their unique flexibility and ability to be
suitable in any environment. They enhance data collection, automation, operations, and much
more through smart devices and powerful enabling technology.
Let me start this IOT tutorial by introducing the person who coined the term “Internet of
Things”. The term “Internet of Things” (IOT) was coined by Kevin Ashton in a presentation to
Procter & Gamble in 1999. He is a co-founder of MIT’s Auto ID Lab. He pioneered RFID (used
in bar code detector) for the supply-chain management domain. He also started ZENSI, a
company that makes energy sensing and monitoring technology.
So, let me first take you through a quote by Kevin Ashton, which he wrote in 2009 for RFID
journal. This will help you in understanding IOT from its core.
If we had computers that knew everything there was to know about things-using data they
gathered without any help from us we would be able to track and count everything, and greatly
reduce waste, loss and cost. We would know when things needed replacing, repairing or
recalling, and whether they were fresh or past their best.
We need to empower computers with their own means of gathering information, so they can see,
hear and smell the world for themselves, in all its random glory.
The above Kevin’s quote would have given you an idea about the ideologies behind the
development of IOT. Let’s now try to further simplify this term and understand IOT
fundamentally. After this, we will be moving forward and looking towards the benefits of IOT.
Now you would be wondering, what is the required hardware for preparing complete IOT
solution? The answer to this question is, you’ll first require sensors that will be sense the
environment, then you require a remote dashboard to monitor your output and display it in
clearer, conceivable form. At last, you will require a device with the capability of Serving,
routing.
The key task of the system would be detecting specific conditions and Take action accordingly.
One thing to keep in mind is securing the communication between the devices and the dashboard
some of the common sensors that you are surrounded by accelerometers, temperature sensors,
magnetometers, proximity sensors, gyroscopes, image sensors, acoustic sensors, light sensors,
pressure sensors, gas RFID sensors, humidity sensors & micro flow sensors.
Nowadays we also have many wearable devices like smart watches, shoes & 3D glasses. This is
the best example of a smart solution. 3D glasses adjust television’s brightness and contrast
according to your eye and your smart watches keep track of your daily activities and fitness. But
I feel the most important device which has tremendously contributed to IOT is the cell phones.
Mobile apps have immensely contributed to revolutionizing the technology world. Cell phones
are already encased with applications and sensors that reveal lots of information about its user.
It has Geo-location information, it can sense and trace light condition, the orientation of your
device and a lot more information. It also comes with multiple connectivity options like Wi-Fi,
Bluetooth and cellular that helps them to communicate with other devices. Thus, due to these
default qualities of cellphones, it is the core of the IOT ecosystem.
Today, Smartphone can interact with smart watch and fitness band to further ease and enhance
the user experience. IOT uses multiple technologies and protocols to communicate with devices
based on the requirements. The major technologies & protocols are Bluetooth, wireless, NFC,
RFID, radio protocols and Wi-Fi Direct. IOT applications are flourishing across all industries &
It spans over all groups of users, from those who are trying to reduce & conserve energy in their
home to large organizations who want to improve their business operations. IOT has not only
proved it useful in optimizing critical applications in many organizations, but also have boosted
the concept of advanced automation which we have imagined a decade before. Let’s understand
the capabilities of IOT across different industries and look how they are revolutionizing them.
1.2.2 IOT-ADVANTAGES:
The advantages of IOT span across every area of lifestyle and business. Here is a list of
some of the advantages that IOT has to offer –
Improved Customer Engagement − Current analytics suffer from blind-spots
and significant flaws in accuracy; and as noted, engagement remains passive.
IOT completely transforms this to achieve richer and more effective engagement
with audiences.
Technology Optimization −The same technologies and data which improve the
customer experience also improve device use, and aid in more patent
improvements to technology. IOT unlocks a world of critical functional and
field data.
Reduced Waste − IOT makes areas of improvement clear. Current analytics
give us superficial insight, but IOT provides real-world information leading to
more effective management of resources.
Enhanced Data Collection − Modern data collection suffers from its limitations
and its design for passive use. IOT breaks it out of those spaces, and places it
exactly where humans really want to go to analyze our world. It allows an
accurate picture of everything.
1.2.3 RELIABILITY:
Embedded systems often reside in machines that are expected to run continuously for
years without errors and in some cases recover by themselves if an error occurs.
Inexpensive embedded computing and the related Internet of Things technologies enable
the recent development of smart products that can respond to human needs and improve
everyday tasks in an attempt to make traditional environments more “intelligent”.
These smart products contain a combination of hardware and software that permit
connections to other devices inside and outside of the house to perform tasks that would
otherwise be done manually or using other systems.
The manual bell ringing system in colleges and educational institutions is often inefficient and
prone to errors, leading to disruptions in class schedules. Similarly, managing the notice board
with updated information is a time-consuming and cumbersome process. This project aims to
provide a solution to these issues by automating the bell ringing process and providing a smart e-
notice board that displays real-time updates.
The manual process of updating the notice board is cumbersome and inefficient.
Disruptions in class schedules due to errors in the bell ringing process can lead to loss of
valuable teaching time.
Students and staff may miss important notices and announcements if they are not updated
regularly.
The workload of administrative staff can be reduced by automating the bell ringing process and
notice board management.
The time-based automatic college bell automation system with a smart e-notice board provides
an efficient and effective solution to these problems.
Design and Implementation of an Automated Bell Ringing System for Secondary Schools." This
journal article describes the design and implementation of an automated bell ringing system for
secondary schools in Nigeria. The system uses a microcontroller, a real-time clock module, and a
relay to control the bell ringing process. The system also features a display screen that shows the
current time and date. The article highlights the benefits of using an automated bell ringing
system, including improved punctuality and reduced workload for administrative staff.
"Smart Notice Board Using IoT." This journal article describes the design and implementation of
a smart notice board using the Internet of Things (IoT) technology. The system uses a Raspberry
Pi board, an LED display, and a web application to display notices and announcements. The
system can be updated remotely through the web application, eliminating the need for manual
updates. The article discusses the advantages of using a smart notice board, including improved
communication and reduced workload for administrative staff.
"Design and Implementation of Smart Bell Automation System for School and College." This
journal article describes the design and implementation of a smart bell automation system for
schools and colleges. The system uses an Arduino microcontroller, an RTC module, an LCD,
and a relay to control the bell ringing process. The system also features a mobile application that
allows administrators to set the bell ringing schedule remotely. The article highlights the
advantages of using a smart bell automation system, including improved punctuality, reduced
workload for administrative staff, and better utilization of teaching time.
"Smart Notice Board System for Educational Institutes." This journal article describes the design
and implementation of a smart notice board system for educational institutes. The system uses a
Raspberry Pi board, an LED display, and a web application to display notices and
announcements. The system can be updated remotely through the web application, and
administrators can also set up automatic scheduling for specific notices. The article discusses the
advantages of using a smart notice board system, including improved communication, reduced
workload for administrative staff, and the ability to reach a wider audience.
Both of these journal articles highlight the importance of using technology to improve the
efficiency and effectiveness of bell ringing and notice board management in educational
institutes. The time-based automatic college bell automation system with a smart e-notice board
takes this a step further by providing a comprehensive solution that combines both systems into a
single, integrated solution.
The existing bell ringing system in colleges and educational institutions typically involves a
manual process of ringing a bell at specific intervals throughout the day. This process is often
prone to errors, such as ringing the bell too early or too late, which can lead to disruptions in
class schedules and loss of valuable teaching time.
Similarly, the existing notice board system in colleges and educational institutions involves a
manual process of updating the board with new notices and announcements. This process is
time-consuming and often inefficient, with notices being updated infrequently and important
information being missed by students and staff.
There are some existing solutions that attempt to address these issues. For example, some
institutions use digital bell systems that are programmed to ring at specific intervals throughout
the day. These systems can be more accurate than manual bell ringing, but they still require
manual programming and are not always easy to customize.
Similarly, some institutions use digital notice board systems that allow administrators to update
the board remotely using a web application or mobile app. These systems can be more efficient
than manual notice board updates, but they can also be expensive to implement and require a
high level of technical expertise to maintain.
Overall, the existing systems for bell ringing and notice board management in educational
institutions are often inefficient and prone to errors. The time-based automatic college bell
automation system with a smart e-notice board provides a comprehensive solution that combines
both systems into a single, integrated solution that is efficient, accurate, and easy to use.
CHAPTER-2
PROPOSED SYSTEM
2.1 INTRODUCTION:
The proposed system is a time-based automatic college bell automation system with a smart e-
notice board. The system is designed to automate the bell ringing process and notice board
management in educational institutions.
The system consists of an Arduino microcontroller, an RTC module, a P10 LED display, a Wi-Fi
module, a push button, and an LCD display. The microcontroller is programmed to control the
bell ringing process at specific intervals throughout the day. The RTC module is used to keep
track of the current time and date, while the LCD display shows the current time and date, as
well as the bell ringing schedule.
The P10 LED display is used as a smart e-notice board, which can display notices and
announcements in real-time. The LED display is connected to the Wi-Fi module, which allows
administrators to update the board remotely through a web application or mobile app. The push
button is used to set the current time and date, as well as the bell ringing schedule.
The system is designed to be user-friendly and easy to use. Administrators can set the bell
ringing schedule and update the notice board remotely, which reduces the workload for
administrative staff and improves the efficiency of the system. The LED display is also visible
from a distance, which ensures that notices and announcements are seen by a wider audience.
The working flow of the time-based automatic college bell automation system with a smart e-
notice board is as follows:
The RTC module is used to keep track of the current time and date.
The microcontroller is programmed to check the current time and date against the bell ringing
schedule.
If the current time matches the bell ringing schedule, the microcontroller sends a signal to the
bell to ring.
The LCD display shows the current time and date, as well as the bell ringing schedule.
The LED display shows any notices or announcements that have been updated through the web
application or mobile app.
The push button is used to set the current time and date, as well as the bell ringing schedule.
Administrators can update the notice board remotely through the web application or mobile app,
which sends the new notices or announcements to the Wi-Fi module.
The Wi-Fi module receives the new notices or announcements and updates the LED display in
real-time.
The system is designed to be automated and user-friendly, with the ability to update the notice
board remotely and reduce the workload for administrative staff. The system ensures that the bell
rings at the appropriate intervals throughout the day and that notices and announcements are seen
by a wider audience.
Advantages of the time-based automatic college bell automation system with a smart e-notice
board:
Automated bell ringing process: The system automates the bell ringing process at specific
intervals throughout the day, reducing the workload for administrative staff.
Real-time notice board updates: The LED display can be updated in real-time through a web
application or mobile app, ensuring that notices and announcements are seen by a wider
audience.
User-friendly: The system is easy to use, with a push button to set the current time and date, as
well as the bell ringing schedule.
Improved efficiency: The system improves the efficiency of the bell ringing process and notice
board management, reducing the workload for administrative staff.
Applications of the time-based automatic college bell automation system with a smart e-notice
board:
Educational institutions: The system is designed for use in educational institutions, such as
schools and colleges, to automate the bell ringing process and notice board management.
Offices: The system can be used in offices to automate the bell ringing process and display
notices and announcements in real-time.
Factories: The system can be used in factories to automate the bell ringing process and display
important information in real-time.
Hospitals: The system can be used in hospitals to automate the bell ringing process and display
important information, such as patient notices and emergency alerts.
2.4 FLOWCHART:
3) No slot crashes.
5) User friendly.
CHAPTER-3
HARDWARE DESCRIPTION
3.1 ARDUINO:
Arduino is open source physical processing which is based on a microcontroller board and an
incorporated development environment for the board to be programmed. Arduino gains a few
inputs, for example, switches or sensors and control a few multiple outputs, for example, lights,
engine and others. Arduino program can run on Windows, Macintosh and Linux operating
systems (OS) opposite to most microcontrollers frameworks which run only on Windows.
Arduino programming is easy to learn and apply to beginners and amateurs. Arduino is an
instrument used to build a better version of a computer which can control, interact and sense
more than a normal desktop computer. It's an open-source physical processing stage focused
around a straightforward microcontroller board, and an environment for composing programs for
the board. Arduino can be utilized to create interactive items, taking inputs from a diverse
collection of switches or sensors, and controlling an assortment of lights, engines, and other
physical outputs. Arduino activities can be remaining solitary, or they can be associated with
programs running on your machine (e.g. Flash, Processing and Maxmsp.) The board can be
amassed by hand or bought preassembled; the open-source IDE can be downloaded free of
charge. Focused around the Processing media programming environment, the Arduino
programming language is an execution of Wiring, a comparative physical computing platform.
There are numerous different microcontrollers and microcontroller platforms accessible for
physical computing. Parallax Basic Stamp, Net media’s BX-24, Phidgets, MIT's Handyboard,
and numerous others offer comparative usefulness. These apparatuses take the chaotic subtle
elements of microcontroller programming and wrap it up in a simple to-utilize bundle. Arduino
additionally rearranges the methodology of working with microcontrollers; moreover it offers
some advantages for instructors, students, and intrigued individuals:
•Inexpensive- Arduino boards are moderately cheap compared with other microcontroller
boards. The cheapest version of the Arduino module can be amassed by hand, and even the
preassembled Arduino modules cost short of what $50.
•Open source and extensible hardware - The Arduino is concentrated around Atmel's Atmega8
and Atmega168 microcontrollers. The plans for the modules are circulated under a Creative
Commons license, so experienced circuit designers can make their own particular interpretation
of the module, extending it and improving it. Slightly inexperienced customers can build the
breadboard variation of the module remembering the finished objective to perceive how it
capacities and save money.
The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14
digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz
crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It
contains everything needed to support the microcontroller; simply connect it to a computer with
a USB cable or power it with a AC-to-DC adapter or battery to get started. The Uno differs from
all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it
features the Atmega8U2 programmed as a USB-to-serial converter. "Uno" means one in Italian
and is named to mark the upcoming release of Arduino 1.0. The Uno and version 1.0 will be the
reference versions of Arduino, moving forward. The Uno is the latest in a series of USB Arduino
boards, and the reference model for the Arduino platform.
Microcontroller : ATmega328
Operating Voltage : 5V
Flash Memory
Boot loader
SRAM 2 KB
EEPROM 1 KB
Fig
3.1.4:
PINS OF
ARDUINO UNO
POWER:
The Arduino Uno can be powered via the USB connection or with an external power supply. The
power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery.
The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power
jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER
connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V,
however, the 5V pin may supply less than five volts and the board may be unstable. If using
more than 12V, the voltage regulator may overheat and damage the board. The recommended
range is 7 to 12 volts.
• VIN: The input voltage to the Arduino board when it's using an external power source (as
opposed to 5 volts from the USB connection or other regulated power source). You can supply
voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
• 5V: The regulated power supply used to power the microcontroller and other components on
the board. This can come either from VIN via an on-board regulator, or be supplied by USB or
another regulated 5V supply.
• 3V3: A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.
MEMORY:
The Atmega328 has 32 KB of flash memory for storing code (of which 0.5 KB is used for the
boot loader); it has also 2 KB of SRAM and 1 KB of EEPROM (which can be read and written
with the EEPROM library).
INPUT/OUTPUT:
Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode (),
digitalWrite (), and digitalRead () functions. They operate at 5 volts. Each pin can provide or
• SERIAL: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These
pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.
• PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite ( ) function.
• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication,
which, although provided by the underlying hardware, is not currently included in the Arduino
language.
• LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the
LED is on, when the pin is LOW, it's off. The Uno has 6 analog inputs, each of which provide 10
bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts,
though is it possible to change the upper end of their range using the AREF pin and the analog
Reference ( ) function. Additionally, some pins have specialized functionality:
• I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library. There
are a couple of other pins on the board:
• AREF: Reference voltage for the analog inputs. Used with analog Reference ().
• RESET: Bring this line LOW to reset the microcontroller. Typically used to add a reset button
to shields which block the one on the board.
COMMUNICATION:
The Arduino Uno has a number of facilities for communicating with a computer, another
Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial
communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega8U2 on the
board channels this serial communication over USB and appears as a virtual com port to
software on the computer. The '8U2 firmware uses the standard USB COM drivers, and no
external driver is needed. However, on Windows, an *.inf file is required.
The Arduino software includes a serial monitor which allows simple textual data to be sent to
and from the Arduino board. The RX and TX LEDs on the board will flash when data is being
transmitted via the USB-to serial chip and USB connection to the computer (but not for serial
communication on pins 0 and 1).
A Software Serial library allows for serial communication on any of the Uno's digital pins.
The ATmega328 also support I2C (TWI) and SPI communication. The Arduino software
includes a Wire library to simplify use of the I2C bus; see the documentation for details. To use
the SPI communication, please see the ATmega328 datasheet.
PROGRAMMING:
The Arduino Uno can be programmed with the Arduino software. The ATmega328 on the
Arduino Uno comes preburned with a boot loader that allows you to upload new code to it
without the use of an external hardware programmer. It communicates using the original
STK500 protocol (reference, C header files). You can also bypass the boot loader and program
the microcontroller through the ICSP (In Circuit Serial Programming) header; see these
instructions for details. The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source
code is available. The ATmega16U2/8U2 is loaded with a DFU boot loader, which can be
activated by: On Rev1 boards: connecting the solder jumper on the back of the board (near the
map of Italy) and then resetting the 8U2. 10 On Rev2 or later boards: there is a resistor that
pulling the 8U2/16U2 HWB line to ground, making it easier to put into DFU mode. You can
then use Atmel's FLIP software (Windows) or the DFU programmer (Mac OS X and Linux) to
load a new firmware. Or you can use the ISP header with an external programmer (overwriting
the DFU boot loader). See this user-contributed tutorial for more information.
Rather than requiring a physical press of the reset button before an upload, the Arduino Uno is
designed in a way that allows it to be reset by software running on a connected computer. One of
the hardware flow control lines (DTR) of theATmega8U2/16U2 is connected to the reset line of
the ATmega328 via a 100 Nano farad capacitor. When this line is asserted (taken low), the reset
line drops long enough to reset the chip. The Arduino software uses this capability to allow you
to upload code by simply pressing the upload button in the Arduino environment. This means
that the boot loader can have a shorter timeout, as the lowering of DTR can be well-coordinated
with the start of the upload. This setup has other implications. When the Uno is connected to
either a computer running Mac OS X or Linux, it resets each time a connection is made to it from
software (via USB). For the following half-second or so, the boot loader is running on the Uno.
While it is programmed to ignore malformed data (i.e. anything besides an upload of new code),
it will intercept the first few bytes of data sent to the board after a connection is opened. If a
sketch running on the board receives one-time configuration or other data when it first starts,
make sure that the software with which it communicates waits a second after opening the
connection and before sending this data. The Uno contains a trace that can be cut to disable the
auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's
labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a 110 ohm
resistor from 5V to the reset line-11.
The Arduino Uno has a resettable polyfuse that protects your computer's USB ports from shorts
and overcurrent. Although most computers provide their own internal protection, the fuse
provides an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse
will automatically break the connection until the short or overload is removed.
The maximum length and width of the Uno PCB are 2.7 and 2.1 inches respectively, with the
USB connector and power jack extending beyond the former dimension. Four screw holes allow
the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8
is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.
A RTC is a computer clock (most often in the form of an integrated circuit) that keeps track of
the current time. Although the term often refers to the devices in personal computers, servers and
embedded systems, RTCs are present in almost any electronic device which needs to keep
accurate time.
The DS12885, DS12887, and DS12C887 real-time clocks (RTCs) are designed to be direct
replacements for the DS1285 and DS1287. The devices provide a real-time clock/calendar, one
time-of-day alarm, three mask able interrupts with a common interrupt output, a programmable
square wave, and 114 bytes of battery-backed static RAM (113 bytes in the DS12C887 and
DS12C887A).
FEATURES:
Real-Time Clock (RTC) Counts Seconds, Minutes, Hours, Date of the Month, Month,
Day of the week, and Year with Leap-Year Compensation Valid Up to 2100.
56-Bytes of NV SRAM, Battery-Backed, General-Purpose RAM with Unlimited Writes.
Address and data transferred serially through I2C bidirectional Serial bus Interface.
Programmable Square-Wave Output Signal.
Automatic Power-Fail Detect and Switch to the battery back-up Circuitry.
Consumes Less than 500nA in Battery-Backup Mode with Oscillator Running.
Optional Industrial Temperature Range: -40°C to +85°C.
The end of the month date is automatically adjusted for months with fewer than 31 days,
including corrections for leap year. The clock operates in either the 24-hour or 12-hour format
with AM/PM indicator.
The DS1307 operates as a slave device on the I2C bus. Access is obtained by implementing a
START condition and providing a device identification code followed by a register address.
Subsequent registers can be accessed sequentially until a STOP condition is executed.
VCC falls below 1.25 x VBAT, the device terminates an access in progress. VCC is greater than
1.25 x Vbat then it recognizes inputs.
1) X1 and X2: Connections for Standard 32.768 kHz Quartz Crystal. The internal oscillator
circuitry is designed for operation with a crystal having a specified load capacitance (CL) of
12.5Pf.
2) Vbat: Backup Supply Input for Any Standard 3V Lithium Cell or Other Energy Source. If a
backup supply is not required, VBAT must be grounded. The nominal power-fail trip point
(VPF) voltage at which access to the RTC and user RAM is denied is set by the internal circuitry
as 1.25 x VBAT nominal.
3) GND: Ground.
4) SDA: Serial Data Input/Output. SDA is the data input/output for the I2C serial interface. The
SDA pin is open drain and requires an external pull-up resistor. The pull-up voltage can be up to
5.5V regardless of the voltage on VCC.
5) SCL: Serial Clock Input. SCL is the clock input for the I2C interface and is used to
synchronize data movement on the serial interface. The pull-up voltage can be up to 5.5V
regardless of the voltage on VCC.
6) SQW/OUT: Square Wave/Output Driver. The SQWE bit set to 1, the SQW/OUT pin outputs
one of four square-wave frequencies. SQW/OUT operates with either VCC or VBAT applied. If
not used, this pin can be left floating.
7) VCC: Primary Power Supply. When a backup supply is connected to the device and VCC is
below VTP, read and writes are inhibited.
1) OSCILLATOR CIRCUIT:
The DS1307 uses an external 32.768 kHz crystal. The oscillator circuit does not require any
external resistors or capacitors to operate.
The RTC RAM registers are located in address locations 00h to 07h. The RAM registers are
located in address locations 08h to 3Fh. During a multi byte access, when the address pointer
reaches 3Fh, the end of RAM space, it wraps around to location 00h, the beginning of the clock
space.
The time and calendar are set or initialized by writing the appropriate register bytes. The contents
of the time and calendar registers are in the BCD format. The time and date registers are
typically reset to 01/01/00 01 00:00:00. When CH=1 then the oscillator is disabled. When
CH=0, the oscillator is enabled. The DS1307 can be run in either 12-hour or 24-hour mode. Bit 6
of the hours register is defined as the 12-hour or 24-hour mode-select bit. When high, the 12-
hour mode is selected. In the 12-hour mode, bit 5 is the AM/PM bit with logic high being PM. In
the 24-hour mode, bit 5 is the second 10-hour bit (20 to 23 hours). The hour’s value must be re-
entered whenever the 12/24-hour mode bit is changed. Bellow fig shows the time keeping
registers.
4) CONTROL REGISTER:
The DS1307 control register is used to control the operation of the SQW/OUT pin.
Bit 7: Output Control (OUT): This bit controls the output level of the SQW/OUT pin
when the square-wave output is disabled. If SQWE = 0, the logic level on the SQW/OUT pin is 1
if OUT = 1 and is 0 if OUT = 0. On initial application of power to the device, this bit is typically
set to a 0.
Bit 4: Square-Wave Enable (SQWE): This bit, when set to logic 1, enables the oscillator
output. The frequency of the square-wave output depends upon the value of the RS0 and RS1
bits. With the square-wave output set to 1Hz, the clock registers update on the falling edge of the
square wave. On initial application of power to the device, this bit is typically set to a 0.
Bits 1 and 0: Rate Select (RS [1:0]): These bits control the frequency of the square-wave
output when the square wave output has been enabled. The following table lists the square-wave
frequencies that can be selected with the RS bits. On initial application of power to the device,
these bits are typically set to a 1.
The DS1307 supports the I2C protocol. A device that sends data onto the bus is defined as a
transmitter and a device receiving data as a receiver. The device that controls the message is
called a master. The devices that are controlled by the master are referred to as slaves. The bus
must be controlled by a master device that generates the serial clock (SCL), controls the bus
access, and generates the START and STOP conditions. The DS1307 operates as a slave on the
I2C bus. Data transfer can be initiated only when the bus is not busy. During data transfer, the
data line must remain stable whenever the clock line is HIGH. Changes in the data line while the
clock line is high will be interpreted as control signal.
Serial data and clock are received through SDA and SCL. After each byte is received an
acknowledge bit is transmitted. START and STOP conditions are recognized as the beginning
and end of a serial transfer. Hardware performs address recognition after reception of the slave
address and direction bit (see Figure 4). The slave address byte is the first byte received after the
master generates the START condition. The slave address byte contains the 7-bit DS1307
address, which is 1101000, followed by the direction bit (R/W), which for a write is 0. After
receiving and decoding the slave address byte, the DS1307 outputs an acknowledgement on
SDA. After the DS1307 acknowledges the slave address + write bit, the master transmits a word
address to the DS1307. This sets the register pointer on the DS1307, with the DS1307
acknowledging the transfer. The master can then transmit zero or more bytes of data with the
DS1307 acknowledging each byte received. The register pointer automatically increments after
each data byte are written. The master will generate a STOP condition to terminate the data
write.
The first byte is received and handled as in the slave receiver mode. However, in this mode, the
direction bit will indicate that the transfer direction is reversed. The DS1307 transmits serial data
on SDA while the serial clock is input on SCL. START and STOP conditions are recognized as
the beginning and end of a serial transfer (see Figure 5). The slave address byte is the first byte
received after the START condition is generated by the master. The slave address byte contains
the 7-bit DS1307 address, which is 1101000, followed by the direction bit (R/W), which is 1 for
a read. After receiving and decoding the slave address the DS1307 outputs an acknowledgement
on SDA. The DS1307 then begins to transmit data starting with the register address pointed to by
the register pointer. If the register pointer is not written to before the initiation of a read mode the
first address that is read is the last one stored in the register pointer. The register pointer
automatically increments after each byte are read.
APPLICATIONS:
Data logging.
Time and Attendance.
Time Stamping.
System Synchronous and Service Remainder.
P10 is a series of dot matrix displays with a LED pitch of 10mm. It comes in a standard-sized
single display screen and consists of a 16×32 led array. Each LED in this display can be
individually controlled. By controlling specific LEDs we can display text, shapes, and graphics
as required. We can chain these displays together (both vertically and horizontally) to create a
display of any desired height and length. They run on a 5V voltage supply at 20W power supply.
They can be controlled using ATMEGA 2560, and ESP8266 controllers.
P10 LED displays are LED displays with a pixel pitch of 10mm. These LEDs are arranged on a
plastic backing, in a rectangular pattern as an array of 512 LEDs of high intensity. They’re
highly popular as outdoor LEDs since they can be viewed from high angles. P10 LEDs can
produce high brightness due to power load of 20-watt and current input of 5 volt.
By base colors, the advanced P10 LEDs can achieve a great range of colors. The standard ones
however, can only generate colors through red, blue and green. Each led of different color light
can produce a dramatic effect. P10 LEDs have screens with a matrix of 32 LEDs in each row and
16 LEDs in column. These different LEDs produce beautiful colors and patterns on the display.
As compared to P6 LEDs, the P10 ones can allow a larger viewing distance. Due to this, they’re
optimal for digital billboards, and advertising video walls. Some of the common specifications of
P10 LED display are:
With p10 LEDs, even the ones viewing from a far distance can enjoy the experience of a high
quality and crisp image. Due to the versatility of these displays, they’re highly popular amongst
different industries and work exceptionally well in festivals and big gatherings. For this reason, it
works well in outdoor areas.
• HIGH BRIGHTNESS:
Brightness of the P10 LED display is exceptional. These LEDs have a power load of 20 watt
and current input of 5 volt. Due to this, the brightness produced by these LEDs is excellent. The
brightness of p10 displays can display the image in even outdoor areas with sunlight.
• DISTANCE VIEWING:
Pixel pitches play a huge role in the resolution of images. The bigger the pixel pitch, the more
it’s suitable for distance viewing. For this reason, P10 LEDs with their pixel pitch of 10mm are
excellent for distance viewing. Even if you are viewing the display from a far, or from a high
angle, the picture quality will be crystal clear.
• HEAT DISSIPATION:
P10 LED Display models have an excellent system for heat dissipation. Due to this, the heat
does not stay stuck which prevents the display from heating up. Heat can reduce the lifespan of
devices. The cooling system of these LEDs gives them a longer lifespan as compared to models
that heat up quickly.
• HIGH CONTRAST:
P10 LED Display offers a high contrast. The image produced by these LEDs is of higher and
crisp quality. The contrast between different colors in LED gives you a high definition visual
experience. With high contrast, you can easily recognize the details in the image without
straining your eyes.
• MODULAR:
The modular p10 displays have individual panels instead of a single one. These individual panels
emit light which then creates an image on the display. With modular LEDs, you have flexibility
to choose your own shape and size. This also makes it super easy to carry and transport.
• HIGH SMOOTHNESS:
The p10 display models offer you high smoothness. The smooth surface enhances your viewing
experience and makes visuals more appealing.
P10 LED displays are highly versatile. They’re used across many different industries. The first
and one of the most important applications would be digital billboards and advertising video
walls. Since p10 displays are optimal for distance viewing, it is excellent for digital billboards.
Billboards are placed in high and outdoor areas. The brightness and the high pixel pitch p10
makes it perfect for them.
Similarly, it can be used in the transportation industry. P10 LEDs can be used to display the
information of the routine and the schedule on stations. It can also be used in airports in similar
ways. Such as, to display the flight information and timing. One more application of p10 LEDs
could be to give safety instructions on the flight.
P10 LEDs are also wonderful for interactive experience. By using these LEDs, you can create
interactive content to engage the audience. One such example of this would be to use p10s in
gyms to create an interactive workout session. This would illuminate the need for a trainer. It can
also be used in schools in similar ways.
When it comes to choosing outdoor LEDs, P10 LED displays are the best. The problem with
outdoor displays is that they’re placed at higher angles to ensure that everyone is able to view
them. Due to the large distance and the high angle, it’s difficult to view the image displayed on
the screen. This problem is solved with p10 LEDs since they’re perfect for distance viewing and
high angle displays.
Since these LEDs are popular for outdoor use, the models manufactured are usually waterproof.
So even in rain, the visual experience of the audience will never be compromised. P10 LEDs
work really well across all different climates and all different seasons.
Another problem that arises with outdoor LEDs is that they’re placed in bright outdoor areas.
With the brightness of the sun and UV rays, the image displayed on the screen can never be
viewed if it’s not bright enough. P10 LEDs offer great brightness which allows you to see the
image even in the sun. P10 LEDs also offer high dynamic contrast. With brightness and high
contrast combined, you’ll witness crisp and high definition visual experience.
The versatility of p10 displays allows them to work in many different industries. Some of
the things you can expect from p10 LEDs are,
P10 LEDs can display many different languages, numbers and fonts. They can also
display many different font sizes.
With P10 displays, you can store different images by connecting the scanner.
You can add different video signals and display dynamic images.
P10 LEDs can display real time content by input computer signals using a computer
monitor.
They can be used as a network station to display the data from different servers.
With P10 LEDs, you can control the time for which the image appears on the screen.
These LEDs give you full control over content, and play time etc. You can customize it
as per your needs.
These LEDs can also be connected with external devices such as computers and video
games.
3.4 LCD:
The term LCD stands for liquid crystal display. It is one kind of electronic display module used
in an extensive range of applications like various circuits & devices like mobile phones,
calculators, computers, TV sets, etc. These displays are mainly preferred for multi-segment light-
emitting diodes and seven segments. The main benefits of using this module are inexpensive;
simply programmable, animations, and there are no limitations for displaying custom characters,
special and even animations, etc.
Nowadays, we always use the devices which are made up of LCDs such as CD players, DVD
players, digital watches, computers, etc. These are commonly used in the screen industries to
replace the utilization of CRTs. Cathode Ray Tubes use huge power when compared with LCDs,
and CRTs heavier as well as bigger. These devices are thinner as well power consumption is
extremely less. The LCD 16×2 working principle is, it blocks the light rather than dissipate. This
article discusses an overview of LCD 16X2, pin configuration and its working.
Pin1 (Ground/Source Pin): This is a GND pin of display, used to connect the GND
terminal of the microcontroller unit or power source.
Pin2 (VCC/Source Pin): This is the voltage supply pin of the display, used to connect
the supply pin of the power source.
Pin3 (V0/VEE/Control Pin): This pin regulates the difference of the display, used to
connect a changeable POT that can supply 0 to 5V.
Pin4 (Register Select/Control Pin): This pin toggles among command or data register,
used to connect a microcontroller unit pin and obtains either 0 or 1 (0 = data mode, and 1
= command mode).
Pin5 (Read/Write/Control Pin): This pin toggles the display among the read or writes
operation, and it is connected to a microcontroller unit pin to get either 0 or 1 (0 = Write
Operation, and 1 = Read Operation).
Pin 6 (Enable/Control Pin): This pin should be held high to execute Read/Write
process, and it is connected to the microcontroller unit & constantly held high.
Pins 7-14 (Data Pins): These pins are used to send data to the display. These pins are
connected in two-wire modes like 4-wire mode and 8-wire mode. In 4-wire mode, only
four pins are connected to the microcontroller unit like 0 to 3, whereas in 8-wire mode, 8-
pins are connected to microcontroller unit like 0 to 7.
Pin 15 (+ve pin of the LED): This pin is connected to +5V
Pin 16 (-ve pin of the LED): This pin is connected to GND.
A 16×2 LCD has two registers like data register and command register. The RS (register select)
is mainly used to change from one register to another. When the register set is ‘0’, then it is
known as command register. Similarly, when the register set is ‘1’, then it is known as data
register.
1) COMMAND REGISTER:
The main function of the command register is to store the instructions of command which are
given to the display. So that predefined tasks can be performed such as clearing the display,
initializing, set the cursor place, and display control. Here commands processing can occur
within the register.
2) DATA REGISTER:
The main function of the data register is to store the information which is to be exhibited on the
LCD screen. Here, the ASCII value of the character is the information which is to be exhibited
on the screen of LCD. Whenever we send the information to LCD, it transmits to the data
register, and then the process will be starting there. When register set =1, then the data register
will be selected.
For Hex Code-01, the LCD command will be the clear LCD screen.
For Hex Code-02, the LCD command will be returning home.
For Hex Code-04, the LCD command will be decrement cursor.
For Hex Code-06, the LCD command will be Increment cursor.
For Hex Code-05, the LCD command will be Shift display right.
For Hex Code-07, the LCD command will be Shift display left.
For Hex Code-08, the LCD command will be Display off, cursor off.
For Hex Code-0A, the LCD command will be cursor on and display off.
For Hex Code-0C, the LCD command will be cursor off, display on.
For Hex Code-0E, the LCD command will be cursor blinking, Display on.
For Hex Code-0F, the LCD command will be cursor blinking, Display on.
For Hex Code-10, the LCD command will be Shift cursor position to left.
For Hex Code-14, the LCD command will be Shift cursor position to the right.
For Hex Code-18, the LCD command will be Shift the entire display to the left.
For Hex Code-1C, the LCD command will be Shift the entire display to the right.
For Hex Code-80, the LCD command will be Force cursor to the beginning (1st line).
For Hex Code-C0, the LCD command will be Force cursor to the beginning (2nd line).
For Hex Code-38, the LCD command will be 2 lines and 5×7 matrix.
3.5 BUZZERS:
Rated Voltage : 6V DC
A buzzer is a small yet efficient component to add sound features to our project/system. It is
very small and compact 2-pin structure hence can be easily used on breadboard, Perf Board and
even on PCBs which makes this a widely used component in most electronic applications.
There are two types are buzzers that are commonly available. The one shown here is a simple
buzzer which when powered will make a Continuous Beeeeeeppp.... sound, the other type is
called a readymade buzzer which will look bulkier than this and will produce a Beep. Beep.
Beep. Sound due to the internal oscillating circuit present inside it. But, the one shown here is
most widely used because it can be customized with help of other circuits to fit easily in our
application.
This buzzer can be used by simply powering it using a DC power supply ranging from 4V to 9V.
A simple 9V battery can also be used, but it is recommended to use a regulated +5V or +6V DC
supply. The buzzer is normally associated with a switching circuit to turn ON or turn OFF the
buzzer at required time and require interval.
Communication equipments.
Automobile electronics.
ESP8266 was designed by the Chinese company Espressif Systems for uses in Internet of Things
(IoT) systems. ESP8266 is a complete WiFi system on chip that incorporates a 32-bit processor,
some RAM and depending on the vendor between 512KB and 4MB of flash memory. This
allows the chip to either function as a wireless adapter that can extend other systems with Wi-Fi
functionality, or as a standalone unit that can by itself execute simple applications. Depending on
the specific module variant (ESP-1 to ESP-12 at the time of this thesis) between 0 and 7 General
Purpose Input/output (GPIO) pins are available, in addition to RX and TX pins of the UART,
making the module very suitable for IoT applications. The Software Development Kit (SDK)
provided by Espressif contains a lightweight implementation of a TCP/IP control stack (lWIP)
for Wi-Fi communication. The modules houses libraries for optional services such as Dynamic
Host Configuration Protocol (DHCP), Domain Name System (DNS), and JavaScript Object
Notation (JSON) and Secure Socket Layer (SSL) libraries for Application Level programming. It
incorporates 802.11 MAC extensions such as 802.11b/g/n/d/e/h/i/k/r that manage signal
transmission, encapsulation, encryption, collision management and roaming functionality. The
chip generally comes as part of a module, soldered to a Printed Circuit Board (PCB), however it
is possible to purchase only the chip itself in order to create a truly custom module. The module
variants currently available on the market may include an antenna (PCB or ceramic) or a U-FL
connector, a hardware component for serial communication and a myriad of other auxiliary
components such as resistors, capacitors and LEDs.
The module comes in many different variations (ESP-01 to ESP-12), along with non-Espressif
vendors such as Olimex and Node MCU. The main differences between these modules are size
and additional components of the PCB, with some having an inbuilt PCB antenna and up to 7
GPIO pins, while others provide no easy access to GPIO and no antenna, but at a lower cost and
module dimensions. The processor inside the module is a low power, 80MHz, 32bit Tensilica
Xtensa LX. It is classified as a DPU, which is Tensilicas own type of CPU combining the
strengths of a traditional CPU and a DSP to achieve better performance for data-intensive tasks.
Multiple compilation tools exist for this processor with the ESP community even attempting to
design their own version of gcc compiler to achieve more efficient code density and better
performance. The amount of programmable memory varies depending on the module
manufacturer, but generally ESPs come with either 512KB, 1MB, 2MB or 4MB of flash
memory. ESP8266 is interrupt driven, with a relatively simple OS and three levels of task
priority, meaning that only three user tasks that can respond to interrupts can be defined. A
function user_init () configures the module once it’s provided with power, and can be used to
schedule the next task, or define a fully event-driven configuration.
The module used in this thesis is an Olimex MOD-WIFI-ESP8266-DEV with all of the basic
components of ESP8266, a PCB antenna, crystal and an easily accessed UART with support for
SPI and I2C, 2Mbytes of flash, but more importantly for this thesis it has all the available chip
pins mapped out for easier access.
Being a WiFi SoC, this chip requires a fair amount of power to operate its transceiver. It has
incorporated some impressive power management features, including highly integrated
components that allow for greater optimization and increased efficiency. All this makes
ESP8266 one of the least power-hungry chips in the WiFi IC industry! Unfortunately its levels of
demand are still higher than of those based on wireless technologies such as Bluetooth, or
ZigBee. The official ESP8266 datasheet states this regarding current draw:
However this is just the power consumption of the ESP8266EX chip, the entire module,
featuring additional hardware such as LEDs, crystals, capacitors and registers revealed that
actual consumption of the MOD-WiFi-ESP8266-DEV varied greatly from this table. The
approximate idle (while ready to receive packets) current of the module was measured to be
70mA, with somewhat higher when receiving packets in 802.11n mode. Transmission drew
80mA current.
The module was also prone to high current spikes in the range of 300mA at unpredictable points
in time, often causing a full module restart. This problem does seem to have been dealt with in
most recent SDK, however most manufacturers still choose to add additional capacitances
parallel to power supply in order to prevent such instances from occurring. The ESP8266 can
operate in a total of 3 power saving modes all of which sacrifice a portion of functionality to
achieve lower power consumption. These modes are: Light Sleep, Modem Sleep, and Deep
Sleep. The Light and Modem modes are so called WiFi sleep modes. They are designed to be
used when the module is in STA mode, meaning it does not have to actively send beacons to
announce its presence and verify clients statuses. The Light Sleep WiFi mode is to be used when
the module needs to maintain WLAN connection without actively transmitting or receiving data,
allowing the CPU to operate at a lower voltage (or be suspended altogether) and turning off the
WiFi modem between AP status beacons. This would allow the module to save power while still
answer to beacons, effectively maintaining the wireless connection. In this mode a DTIM3 setup
at the AP, with 300ms sleep and 3ms wake cycle can, according to the datasheet, lower power
consumption to 0.9mA [15]. Modem Sleep is used when the CPU needs to be active. In this
mode the WiFi modem is turned off between the AP status beacons, maintaining the connection
at minimal cost while allowing the CPU to perform without interference. A similar DTIM3 setup
as in previous example leaves the current consumption at 15mA [15]. The Deep Sleep turns of
all functionality (CPU and WiFi modem), while maintaining only the RTC clock, allowing the
module to be woken up by a timed interrupt. When waking up, the module performs a complete
reset, meaning all RAM data is erased (although there is limited space in RTC memory block
that does not get erased) and the WiFi connection needs to be re-established. Espressif claims a
300s sleep and 1s wake cycle (claimed as enough to connect to AP) results in average
consumption of less than 1mA [15]. Important to note is that WiFi sleep-modes described above
may not always be true. In test conducted in this thesis they only seemed to lower the power
consumption to 20-50mA in Light Sleep and 40mA in Modem Sleep. Although conventional
Deep Sleep resulted in an average of 10uA, there were instances when the deep-sleep sequence
seemed to execute in an incorrect manner, leaving the power consumption at standby levels
(~80mA). This issue has been known to Espressif that has promised to address it in future
releases of the SDK. It should also be noted that the module is specified for voltages between
1.7V and 3.6V, meaning it can be powered by two AA alkaline batteries placed in series
(achieving 3V). However the ESP will not work with a Lithium Ion (or LiPo) based batteries
without additional power regulating circuits.
ESP8266 has multiple peripherals through which it can interface with other modules in a classic
embedded fashion. In this section only the setup of the communication link will be presented,
since the exact flow of bits to achieve such communication was handled automatically by the
module and is therefore deemed of no immediate interest for this thesis. In this case classical
UART was used to decode output and encoding data to be sent to the sensor. Similarly EM50
data logger has an UART of its own and can do the same thing on its end. Serial asynchronous
communication does not require a common clock, however in order for the data to be processed
correctly and at right intervals a common baud rate (can be viewed as symbols per second) needs
to be set for both devices. The baud-rates supported by ESPs UART component range from 9600
to 921600bps, while the EM50 is configured for 9600bps as default.
SOFTWARE CHAPTER-4DESCRIPTION
The Arduino Integrated Development Environment - or Arduino Software (IDE) - contains a text
editor for writing code, a message area, a text console, a toolbar with buttons for common
functions and a series of menus. It connects to the Arduino and Genuino hardware to upload
programs and communicate with them.
Programs written using Arduino Software (IDE) are called sketches. These sketches are written
in the text editor and are saved with the file extension .ino. The editor has features for
cutting/pasting and for searching/replacing text. The message area gives feedback while saving
and exporting and also displays errors. The console displays text output by the Arduino Software
(IDE), including complete error messages and other information. The bottom right hand corner
of the window displays the configured board and serial port. The toolbar buttons allow you to
verify and upload programs, create, open, and save sketches, and open the serial monitor.
NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the
extension .pde. It is possible to open these files with version 1.0, you will be prompted to
save the sketch with the .ino extension on save.
Verify
Upload
Compiles your code and uploads it to the configured board. See uploading below for
details.
Note: If you are using an external programmer with your board, you can hold down
the "shift" key on your computer when using this icon. The text will change to
"Upload using Programmer"
New
Open
Presents a menu of all the sketches in your sketchbook. Clicking one will open it
within the current window overwriting its content.
Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch late
in the list, use the File / Sketchbook menu instead.
Save
4.3 COMMANDS:
Additional commands are found within the five menus: File, Edit, Sketch, Tools, and Help.
The menus are context sensitive, which means only those items relevant to the work currently
being carried out are available.
FILE:
New
Creates a new instance of the editor, with the bare minimum structure of a sketch already
in place.
Open
Allows to load a sketch file browsing through the computer drives and folders.
Open Recent
Provides a short list of the most recent sketches, ready to be opened.
Sketch book
Shows the current sketches within the sketchbook folder structure; clicking on any name
opens the corresponding sketch in a new editor instance.
Examples
Any example provided by the Arduino Software (IDE) or library shows up in this menu
item. All the examples are structured in a tree that allows easy access by topic or library.
Close
Closes the instance of the Arduino Software from which it is clicked.
Save
Saves the sketch with the current name. If the file hasn't been named before, a name will
be provided in a "Save as...” window.
Save as...
Allows to save the current sketch with a different name.
Page Setup
It shows the Page Setup window for printing.
Print
Sends the current sketch to the printer according to the settings defined in Page Setup.
Preferences
Opens the Preferences window where some settings of the IDE may be customized, as
the language of the IDE interface.
Quit
Closes all IDE windows. The same sketches open when Quit was chosen will be
automatically reopened the next time you start the IDE.
EDIT:
Undo/Redo
Goes back of one or more steps you did while editing; when you go back, you may go
forward with Redo.
Cut
Removes the selected text from the editor and places it into the clipboard.
Copy
Duplicates the selected text in the editor and places it into the clipboard.
Copy for Forum
Copies the code of your sketch to the clipboard in a form suitable for posting to the
forum, complete with syntax coloring.
Copy as HTML
Copies the code of your sketch to the clipboard as HTML, suitable for embedding in
web pages.
Paste
Puts the contents of the clipboard at the cursor position, in the editor.
Select All
Selects and highlights the whole content of the editor.
Comment/Uncomment
Puts or removes the // comment marker at the beginning of each selected line.
Increase/Decrease Indent
Adds or subtracts a space at the beginning of each selected line, moving the text one
space on the right or eliminating a space at the beginning.
Find
Opens the Find and Replace window where you can specify text to search inside the
current sketch according to several options.
Find Next
Highlights the next occurrence - if any - of the string specified as the search item in the
Find window, relative to the cursor position.
Find Previous
Highlights the previous occurrence - if any - of the string specified as the search item in
the Find window relative to the cursor position.
SKETCH:
Verify/Compile
Checks your sketch for errors compiling it; it will report memory usage for code and
variables in the console area.
Upload
Compiles and loads the binary file onto the configured board through the configured
Port.
Upload Using Programmer
This will overwrite the boot loader on the board; you will need to use Tools > Burn Boot
loader to restore it and be able to Upload to USB serial port again. However, it allows
you to use the full capacity of the Flash memory for your sketch. Please note that this
command will NOT burn the fuses. To do so a Tools -> Burn Boot loader command
must be executed.
Export Compiled Binary
Saves a .hex file that may be kept as archive or sent to the board using other tools.
Show Sketch Folder
Opens the current sketch folder.
Include Library
Adds a library to your sketch by inserting #include statements at the start of your code.
For more details, see libraries below. Additionally, from this menu item you can access
the Library Manager and import new libraries from .zip files.
Add File...
Adds a source file to the sketch (it will be copied from its current location). The new file
appears in a new tab in the sketch window. Files can be removed from the sketch using
the tab menu accessible clicking on the small triangle icon below the serial monitor one
on the right side of the toolbar.
TOOLS:
Auto Format
This formats your code nicely: i.e. indents it so that opening and closing curly braces
line up, and that the statements inside curly braces are indented more.
Archive Sketch
Archives a copy of the current sketch in .zip format. The archive is placed in the same
directory as the sketch.
Fix Encoding & Reload
Fixes possible discrepancies between the editor char map encoding and other operating
systems char maps.
Serial Monitor
Opens the serial monitor window and initiates the exchange of data with any connected
board on the currently selected Port. This usually resets the board, if the board supports
Reset over serial port opening.
Board
Select the board that you're using. See below for descriptions of the various boards.
Port
This menu contains all the serial devices (real or virtual) on your machine. It should
automatically refresh every time you open the top-level tools menu.
Programmer
For selecting a hardware programmer when programming a board or chip and not using
the onboard USB-serial connection. Normally you won't need this, but if you're burning
a boot loader to a new microcontroller, you will use this.
Burn Bootloader
The items in this menu allow you to burn a boot loader onto the microcontroller on an
Arduino board. This is not required for normal use of an Arduino or Genuino board but
is useful if you purchase a new AT mega microcontroller (which normally come without
a bootloader). Ensure that you've selected the correct board from the Boards menu
before burning the bootloader on the target board. This command also set the right fuses.
HELP:
Here you find easy access to a number of documents that come with the Arduino Software
(IDE). You have access to Getting Started, Reference, this guide to the IDE and other documents
locally, without an internet connection. The documents are a local copy of the online ones and
may link back to our online website.
FIND IN REFERENCE:
This is the only interactive function of the Help menu: it directly selects the relevant page in the
local copy of the Reference for the function or command under the cursor.
This is the Arduino IDE once it’s been opened. It opens into a blank sketch where you can start
programming immediately. First, we should configure the board and port settings to allow us to
upload code. Connect your Arduino board to the PC via the USB cable.
You have to tell the Arduino IDE what board you are uploading to. Select the Tools pull down
menu and go to Board.This list is populated by default with the currently available Arduino
Boards that are developed by Arduino. If you are using an Uno or an Uno-Compatible Clone (ex.
Funduino, SainSmart, IEIK, etc.), select Arduino Uno. If you are using another board/clone,
select that board.
If you downloaded the Arduino IDE before plugging in your Arduino board, when you plugged
in the board, the USB drivers should have installed automatically. The most recent Arduino IDE
should recognize connected boards and label them with which COM port they are using. Select
the Tools pull down menu and then Port.Here it should list all open COM ports, and if there is a
recognized Arduino Board, it will also give it’s name. Select the Arduino board that you have
connected to the PC. If the setup was successful, in the bottom right of the Arduino IDE, you
should see the board type and COM number of the board you plan to program. Note: the Arduino
Uno occupies the next available COM port; it will not always be COM3.
Uploading Blink One common procedure to test whether the board you are using is properly set
up is to upload the “Blink” sketch. This sketch is included with all Arduino IDE releases and can
be accessed by the Filepull-down menu and going to Examples, 01.Basics, and then select Blink.
Standard Arduino Boards include a surface-mounted LED labeled “L” or “LED” next to the
“RX” and “TX” LEDs that is connected to digital pin 13. This sketch will blink the LED at a
regular interval, and is an easy way to confirm if your board is set up properly and you were
successful in uploading code. Open the “Blink” sketch and press the “Upload” button in the
upper-left corner to upload “Blink” to the board.
4.6 PROTEUS:
Generally we are listening the words PCB’s, PCB layout, PCB designing, etc. But what is PCB?
Why we are using this PCB? We want to know about all these things as an electronic engineer.
PCB means Printed Circuit Board. This is a circuit board with printed copper layout connections.
These PCB’s are two types. One is dotted PCB and another one is layout PCB. The two
examples are shown in below.
What is the main difference between the dotted PCB and layout PCB? In dotted PCB board
only dots are available. According to our requirement we can place or insert the components in
those holes and attach the components with wires and soldering lid. In this dotted PCB we can
make the circuit as out wish but it is very hard to design. There are so many difficulties are there.
Those are connecting the proper pins, avoiding shot connections and etc. Coming to the layout
PCB this is simple to design. First we select the our circuit and by using different PCB designing
software’s, design the layout of the circuit and by itching process preparing the copper layout of
our circuit and solder the components in the correct places. It is simple to design, take less time
to design, no shortages, looking nice and perfect.
Up to now we have discussed about types of PCB’s and difference between the types. Now we
can discuss about PCB designing software. There are so many PCB designing softwares
available. Some are Express PCB, eagle PCB, PCB Elegance, and free PCB, open circuit
design, zenith PCB and Proteus etc. Apart from remaining Proteus is different. Proteus is
design suit and PCB layout designing software. In Proteus we can design any circuit and
simulate the circuit and make PCB layout for that circuit.
Proteus professional is a software combination of ISIS schematic capture program and ARES
PCB layout program. This is a powerful and integrated development environment. Tools in this
suit are very easy to use and these tools are very useful in education and professional PCB
designing. As professional PCB designing software with integrated space based auto router, it
provides features such as fully featured schematic capture, highly configurable design rules,
interactive SPICE circuit simulator, extensive support for power planes, industry standard
CADCAM & ODB++ output and integrated 3D viewer.
Up to know we have discussed about the basics and software description. Now we are entering
into the designing section. Run the ISIS professional program by clicking the icon on the
desktop, then this splash screen will appear.
Next, a work space with interface buttons for designing circuit will appear as shown in figure
below. Note that there is a blue rectangular line in the workspace; make sure that whole circuit is
designed inside the rectangular space.
Next step is selecting the components to our required circuit. Let us take one example is
designing of 38 kHz frequency generator by using 555 timer IC. The circuit diagram is shown in
below image.
In the above circuit the required components are 555 timer IC, 470? and 22K? Resistors, 10K?
Variable resistor, 0.001µf capacitor and one IR LED. So select the components from library. In
menu bar library > pick device/ symbol. Then one window will open that shown in below.
There is another way to select the components. In work space left side there is a tool bar. In that
tool bar click the component mode button or pick from library.
Select the all components from library, that components are added to devices list. Click on the
device and change the angle of the device by using rotate buttons. Then click in the work space
then the selected component is placed in work space. Place all the devices in work space and put
the curser at the component pin end then draw the connections with that pen symbol. Connect all
the components according to circuit then that designed circuit is show in below image.
If any modifications want to do to the component place the mouse point and click on right button
then option window will open. That is shown in below figure.
After completion of designing save with some mane and debug it. This is virtual simulation
means without making circuit we can see the result in virtually through this software and we can
design the PCB layout to our required circuit with this software.
ThingSpeak is IoT platform for user to gather real-time data; for instance, climate information,
location data and other device data. In different channels in ThingSpeak, you can summarize
information and visualize data online in charts and analyze useful information.
ThingSpeak can integrate IoT: bit (micro: bit) and other software/ hardware platforms. Through
IoT: bit, you can upload sensors data to ThingSpeak (e.g. temperature, humidity, light intensity,
noise, motion, raindrop, distance and other device information).
GOAL:
STEP1:
STEP2:
STEP3:
Field 1:
STEP4:
STEP5:
Open your Web browser, go to https://thingspeak.com, and select your channel >”API KEYS”,
copy the API key as follows:
The smartphone is an information nexus in today’s digital age, with access to a nearly infinite
supply of content on the web, coupled with rich sensors and personal data. However, people have
difficulty harnessing the full power of these ubiquitous devices for themselves and their
communities. Most smartphone users consume technology without being able to produce it, even
though local problems can often be solved with mobile devices. How then might they learn to
leverage smartphone capabilities to solve real-world, everyday problems? MIT App Inventor is
designed to democratize this technology and is used as a tool for learning computational thinking
in a variety of educational contexts, teaching people to build apps to solve problems in their
communities. MIT App Inventor is an online development platform that anyone can leverage to
solve real-world problems. It provides a web-based “What you see is what you get”
(WYSIWYG) editor for building mobile phone applications targeting the Android and iOS
operating systems. It uses a block-based programming language built on Google Blockly (Fraser,
2013) and inspired by languages such as Star Logo TNG (Begel & Klopfer, 2007) and Scratch
(Resnick et al., 2009; Maloney, Resnick, Rusk, Silverman, & Eastmond, 2010), empowering
anyone to build a mobile phone app to meet a need. To date, 6.8 million people in over 190
countries have used App Inventor to build over 24 million apps. We offer the interface in more
than a dozen languages. People around the world use App Inventor to provide mobile solutions
to real problems in their families, communities, and the world. The platform has also been
adapted to serve requirements of more specific populations, such as building apps for
emergency/first responders (Jain et al., 2015) and robotics (Papadakis & Orfanakis, 2016). In this
chapter, we describe the goals of MIT App Inventor and how they have influenced our design
and development—from the program’s inception at Google in 2008, through the migration to
MIT, to the present day. We discuss the pedagogical value of MIT App Inventor and its use as a
tool to teach and encourage people of all ages to think and act computationally. We also describe
three applications developed by students in different parts of the world to solve real issues in
their communities. We conclude by discussing the limitations and benefits of tools such as App
Inventor and proposing new directions for research.
The MIT App Inventor user interface includes two main editors: the design editor and the blocks
editor. The design editor, or designer, is a drag and drop interface to lay out the elements of the
application’s user interface (UI). The blocks editor is an environment in which app inventors can
visually lay out the logic of their apps using color-coded blocks that snap together like puzzle
pieces to describe the program. To aid in development and testing, App Inventor provides a
mobile app called the App Inventor Companion (or just “the Companion”) that developers can
use to test and adjust the behavior of their apps in real time. In this way, anyone can quickly
build a mobile app and immediately begin to iterate and test MIT App Inventor:
In the design of MIT App Inventor, introducing mobile app development in educational contexts
was a central goal. Prior to its release, most development environments for mobile applications
were clunky, only accessible with expertise in systems level or embedded programming, or both.
Even with Google’s Android operating system and the Java programming language, designing
the user interface was a complex task. Further, use of the platform required familiarity with Java
syntax and semantics, and the ability to debug Java compilation errors (e.g., misspelled variables
or misplaced semicolons) for success. These challenges presented barriers to entry for
individuals not versed in computer science, App Inventor’s target demographic. We briefly
highlight and discuss design goals for the App Inventor project, specifically, the use of
components to abstract some of the complexity of platform behavior, and the use of blocks to
eliminate complexity of the underlying programming language. These goals can be further
explained as aligning the visual language to the mental models of young developers and enabling
exploration through fast, iterative design.
CHAPTER-5
RESULT ANALYSIS
CHAPTER-6
In conclusion, the time-based automatic college bell automation system with a smart e-notice
board is a highly efficient and user-friendly solution for automating the bell ringing process and
notice board management in educational institutions, offices, factories, hospitals, and other
settings. The system improves efficiency and reduces the workload for administrative staff, while
also providing real-time updates and ensuring that important notices and announcements are seen
by a wider audience.
The future scope of this system includes incorporating more advanced features such as voice
alerts, facial recognition-based attendance systems, and automatic temperature measurement
systems. The system can also be integrated with other smart technologies to create a more
comprehensive solution for various settings. Additionally, the system can be made more
accessible and customizable to meet the specific needs of different organizations. With further
research and development, the system can continue to improve and revolutionize the way bell
ringing and notice board management is handled in various industries.
CHAPTER-7
REFERENCES
B. R. Patil and A. R. Aroskar, "Automatic College Bell System using Arduino," 2016
International Conference on Circuit, Power and Computing Technologies (ICCPCT), Nagercoil,
2016, pp. 1-6. Doi: 10.1109/ICCPCT.2016.7530245.
Mohammed S. Almehmadi, "Smart e-Notice Board using Wi-Fi Module," International Journal
of Advanced Research in Computer Science, vol. 9, no. 5, pp. 349-353, 2018.
Shetty, R., et al. "Automated Bell Ringing System with Smart Notice Board." 2019 2nd
International Conference on Intelligent Computing, Instrumentation and Control Technologies
(ICICICT), Kannur, India, 2019, pp. 1379-1384. Doi: 10.1109/ICICICT46077.2019.8993825.
S. Sivakumar, R. Lavanya, "Automated College Bell System with E-Notice Board," 2018
International Conference on Inventive Research in Computing Applications (ICIRCA),
Coimbatore, 2018, pp. 184-187. Doi: 10.1109/ICIRCA.2018.8896934.
Singh, P., et al. "IoT-Based Automatic College Bell System Using Arduino." 2020 IEEE 9th
Power India International Conference (PIICON), Jaipur, India, 2020, pp. 1-4. Doi:
10.1109/PIICON48008.2020.9255770.
P. V. Reddy and K. V. R. M. Kumar, "Automated College Bell System with E-Notice Board
using Arduino," 2017 International Conference on Inventive Communication and Computational
Technologies (ICICCT), Coimbatore, 2017, pp. 123-127. Doi: 10.1109/ICICCT1.2017.7975102.
R. Gupta, P. Bharti, and S. Jain, "Smart E-Notice Board System with Arduino and Wi-Fi,"
International Journal of Scientific and Engineering Research, vol. 8, no. 12, pp. 2406-2412,
2017.
T. P. Swathi and K. C. Kavitha, "Automated College Bell System with E-Notice Board using
Wi-Fi," International Journal of Science and Research, vol. 6, no. 12, pp. 1921-1924, 2017.