A Project Report On Smart Bell With Electronic Timetable Display
A Project Report On Smart Bell With Electronic Timetable Display
A Project Report On Smart Bell With Electronic Timetable 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
2019-2023
VIKAS COLLEGE OF ENGINEERING AND TECHNOLOGY
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
Mr. B.V. REDDY M.Tech (Ph.D.), Mr. B.V. REDDY M.Tech (Ph.D.),
Associate Professor & HOD Associate Professor & HOD
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 dissertat ion ent it led “ SMART BELL WITH
ELECTRONIC TIME TABLE DISPLAY” submitt ed for the Bachelor o f
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
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.
An embedded system is a system which is going to do a predefined specified task is the embedded
system and is even defined as combination of both software and hardware. A general purpose
definition of embedded systems is that they are devices used to control, monitor or assist the
operation of equipment, machinery or plant. “Embedded” reflects the fact that they are an integral
part of the system. All embedded systems are including computers or microprocessors. Some of
these computers are however very simple systems as compared with a personal computer. The
very simplest embedded systems are capable of performing only a single function or set of function
to meet a single predetermined purpose. In more complex systems an application program that
enables the embedded system to be used for a particular purpose in a specific application.
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
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 sensors.
It must compute acceleration or de-accelerations repeatedly within a limited time; a delayed
computation can result in failure to control of the car.
ADVANTAGES:
1) Easily customizable.
DISADVANTAGES:
Embedded systems are used in different applications like automobiles, telecommunications, 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 & market.
The IOT has a multitude of expansion over various 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.
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 programming-The Arduino program language is available as open
source, available for development by experienced engineers. The lingo can be reached out through
C++ libraries, and people expecting to understand the specific purposes of different interests can
make the leap from Arduino to the AVR C programming language on which it is based. Basically,
you can incorporate AVR-C code clearly into your Arduino programs if you have to.
•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
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
receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-
50 kOhms. In addition, some pins have specialized functions:
• 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.
Available in 8-Pin Plastic DIP or SO.
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.
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
Operating Voltage : 4-8V DC
Rated current : <30mA
Sound Type : Continuous Beep
Resonant Frequency : ~2300 Hz
Small and neat sealed package.
Breadboard and Perf board friendly.
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.
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
Serial Monitor
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.
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:
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.