Smart Bed Controlling
Smart Bed Controlling
TRACKER
Abstract:
Automation plays a vital role in our daily life. Hand gesture recognition is the main implementation
in an automation field. This project states that a problem of adjusting the position of the bed with
the help of hand gesture. We need inter mutual application for hand gesture recognition for
implementing this work in a real-time system. For this real-time system, webcams are used to
enable the hand gesture for human-computer interaction. It is proposed to demonstrate a real-time
system to change the position of bed by hand gesture signs using webcams and simple hardware
components. In this society the number of disabled patients is increasing and there is no one to take
care of them. A patient required a caretaker to continuously monitor which is not always possible
due to social or financial circumstances. So, to minimize care takers requirement and increase the
comfort level of the patients here, we have proposed an automatic bed position control system for
disabled patients. The bed positioning is also controlled by different hand gestures. The system also
contains a continuous patient monitoring system that monitors various parameters such as
temperature and pulse rate. If any of these any parameter crosses safe minimal level, this unit sends
an alert signal to the doctor by sending an SMS.
CHAPTER 1:
INTRODUCTION
In recent years, society is facing many sociological and financial challenges, so there is less time
for the elderly and paralyzed person. The number of disabled people in society is growing in which
the patient is unable to take care of themselves. Continuous monitoring of these patients may
require a fulltime caregiver, which is not always possible due to social or financial constraints.
There are only two bed motions (up and down) of the existing electronic bed systems in hospitals.
So, to minimize caretakers' requirements and increase the comfort level of the patients here, we
have proposed a gesture control bed movement in which we have designed the motion of the bed
based on the different hand gestures to the existing electronic bed systems.
A bed system used in various cases such as for disabled persons, paralyzed patients, and accident
and old age people is also developed. The aim of this bed is to minimize the requirement of
caretakers by providing two movements such as up and down movements thereby increasing the
patient comfort level.
The bed is designed in such a way that the position of the bed is automatically controlled as per the
requirement of the patients by using hand gesture recognition. A DC motor along with the help of
the DC motor driver is used to control the bed.
A continuous patient monitoring system that contains the sensor nodes such as heart rate sensor and
temperature sensor, these are capable of sensing the analog biomedical signal is also incorporated.
These signals are then processed by using Arduino board.
There is an alert system that comes into action if any abnormal condition found in patients’ health.
This is performed by sending a stored message to the respective doctors of particular patient using
Nodemcu module. This gives the efficiency and services in medical sector.
In recent years, society is facing many sociological and financial challenges, so there is less time
for the elderly and paralyzed person. The number of disabled people in society is growing in which
the patient is unable to take care of themselves. Continuous monitoring of these patients may
require a fulltime caregiver, which is not always possible due to social or financial constraints.
There are only two bed motions (up and down) of the existing electronic bed systems in hospitals.
So, to minimize caretakers' requirements and increase the comfort level of the patients here, we
have proposed a gesture control bed movement in which we have designed the motion of the bed
based on the different hand gestures to the existing electronic bed systems.
PROBLEM STATEMENT
The lack of an integrated system for automated bed control using hand gestures,
alongside real-time health tracking, presents a critical challenge in modern sleep technology.
Existing bed control mechanisms primarily rely on traditional interfaces, overlooking the
potential of intuitive hand gesture recognition for seamless adjustments. Additionally, health
monitoring during sleep is often disjointed from bed control. The objective is to engineer a Smart
Bed that leverages hand gestures for precise and automated bed customization while
simultaneously integrating a health tracker. This necessitates robust gesture recognition
algorithms, sensor technology, and a cohesive control interface to achieve real-time and accurate
bed adjustments, synergizing with comprehensive health monitoring. The end goal is to deliver
an intelligent and personalized sleep system that optimizes comfort and supports health through
intuitive interactions and data-driven insights.
OBJECTIVES:
To Design a Automatic Bed System which can be controlled by Hand Gestures.
To monitor the patient conditions using HB and Temperature.
In case of Emergency send intimation message to doctor or care taker.
CHAPTER 2:
LITERATURE SURVEY
Active Noise Control Scheme for Smart Beds Based on a Wide and Narrow Band
Hybrid Control Algorithm
The importance of information intelligence in today’s society is growing as a result of advances in
science and technology, and as intelligent technology is now a part of almost every aspect of people’s
lives, demand for data collection technology is rising. The active noise management of smart beds
has proven to be a significant difficulty. Smart beds are a type of intelligent function bed that rely on
intelligent sensor technologies to perform real-time monitoring of human health and sleep. The active
noise control issue for smart beds is addressed in this study, which also suggests an enhanced
broadband-narrowband hybrid control method based on the traditional hybrid control technique. In
response to the experimental findings, acoustic feedback cancellation technology increased the
stability of the control system, lessened algorithmic calculation difficulties, and more effectively
neutralised feedback sound. The maximum steady-state noise reduction in the active noise reduction
process is 17.7 dB for the improved wide and narrow band hybrid control algorithm and 13.9 dB for
the classical wide and narrow band hybrid control algorithm, according to comparisons between time
domain sound pressure and linear total sound pressure level results. After active noise reduction, both
techniques can successfully eradicate the narrowband sweeping noise component and have a
considerable suppressive effect on the broadband noise component. In comparison to the traditional
broadband-narrowband hybrid control method, the revised algorithm has a better effect on noise
reduction and has a useful use for intelligent applications.
Guoqiang Lu
State Key Laboratory of Mechanics and Control of Mechanical Structures, Nanjing University of
Aeronautics and Astronautics, Nanjing, China
School of Electronic and Information Engineering, Sanjiang University, Nanjing, China
Renwen Chen
State Key Laboratory of Mechanics and Control of Mechanical Structures, Nanjing University of
Aeronautics and Astronautics, Nanjing, China
Hao Liu
State Key Laboratory of Mechanics and Control of Mechanical Structures, Nanjing University of
Aeronautics and Astronautics, Nanjing, China
Design and development Intelligent Medical Care Bed Using Voice Recognition
Recently, with the development of technology in the medical and industrial fields, which contributed
to the arrival of this technology to smart homes and life-saving hospitals for people to stay in their
homes in a comfortable place where the normal situation for their lives, independence and freedom,
and maintaining their security and health,. Message Sheet offers a specially designed medical care
bed for patients in homes, nursing homes, hospitals or other people who need some special treatment
and any form of health care by voice command. To control the smart bed system with the use of
sensors capable of transmitting voice-activated signals, Numerous settings and capabilities are
accessible via voice commands, including changeable height for the full bed, head and foot, and
customizable temperature. Medical beds for patients and the elderly are now available. If the patient
has a disorder that makes it impossible for them to live independently at home, this device allows
them to be self-sufficient and does not require the assistance of others as in the past. It's all part of
keeping up with research and development by incorporating smart technology into hospital beds to
improve comfortability and limit the frequency of preventable diseases like pressure ulcers, which
can occur when people stay in bed for lengthy periods of time. It is a network of electronic,
mechanical, and digital components that are all working together.
Published in: 2022 IEEE 2nd International Maghreb Meeting of the Conference on Sciences and
Techniques of Automatic Control and Computer Engineering (MI-STA)
Date of Conference: 23-25 May 2022
Date Added to IEEE Xplore: 27 July 2022
ISBN Information:
INSPEC Accession Number: 21905920
DOI: 10.1109/MI-STA54861.2022.9837521
Publisher: IEEE
Conference Location: Sabratha, Libya
Authors
Moeid M Elsokah
Communication Engineering Department, College of Electronic Technology, Tripoli, Libya
Amer R. Zerek
Faculty of Engineering/ EE Department, Zawia University, Zawia, Libya
Smart Beds and Bedding Surfaces for Personalized Patient Care: A Review
Continuous patient monitoring during hospitalization is necessary to identify patterns of indicative
risks or pathogens, whose early diagnosis and treatment is likely to lead to a reduction in morbidity
and mortality and, consequently, a reduction in both the duration and cost of hospitalization. On the
other hand, a patient falling from bed can cause serious damage to his health state, while the effect of
pressure ulcers can be avoided by timely and accurate mapping of pressure points that inhibit tissue
perfusion resulting in death. Recent technological advances and scientific achievements have
introduced new and improved medical devices using highly-developed embedded control functions
and interactivity. Current hospital beds include new forms of functionality, while still serving the
same purpose. All of them are designed to fulfil a predefined purpose, whether that is to monitor the
patient's vital signs continuously, in a non-obtrusive manner, or prevent a patient from falling off
their bed or prevent the development of pressure ulcers. Over the last decades, this hospital bed
evolution has brought a big change in both their standards and the overall patient care. In this work,
we conduct a review of existing smart bed systems for patient monitoring, fall and pressure ulcer
prevention from the state-of-the-art, focusing on evaluating smart bed systems that include any kind
of smart features, like sensors and sensor mats, or exploiting Machine Learning (ML) algorithms and
Wireless technology.
Published in: 2021 6th South-East Europe Design Automation, Computer Engineering, Computer
Networks and Social Media Conference (SEEDA-CECNSM)
Date of Conference: 24-26 September 2021
Date Added to IEEE Xplore: 18 October 2021
ISBN Information:
INSPEC Accession Number: 21387956
DOI: 10.1109/SEEDA-CECNSM53056.2021.9566276
Publisher: IEEE
Conference Location: Preveza, Greece
Funding Agency:
Authors
Evaggelos Karvounis
Center for Research and Technology Hellas, Information Technologies Institute, Thessaloniki,
Greece
Sofia Polymeni
Center for Research and Technology Hellas, Information Technologies Institute, Thessaloniki,
Greece
Markos Tsipouras
Department of Electrical and Computer Engineering, University of Western Macedonia, Kozani,
Greece
Kyriakos Koritsoglou
Center for Research and Technology Hellas, Information Technologies Institute, Thessaloniki,
Greece
Dimitrios Tzovaras
Department of Electrical and Computer Engineering, University of Western Macedonia, Kozani,
Greece
Next Generation of Medical Care Bed with Internet of Things Solutions
Many industries depend on the technological development of the world. Technological developments
in smart homes and life-saving hospitals allow people to stay indoors in a comfortable, secure and
independent way where they want to be. This paper presents a Medical Care Bed with Internet of
Things Solutions a bed designed specifically for patients in hospitals or other people who need some
forms of health care that can be used with button, voice commands and phone applications. for
control the Smart Bed System using sensors, to voice-controlled application, we are continuously
trying to find a better way to control electrical and electronic devices to ease our daily life. Common
features include adjustable height for the entire bed, head and feet, adjustable, adjustable,
temperature, pressure, voice command and application to run both family using sensors and
monitoring patient's body temperature, Measuring the proportion of oxygen in the blood and heart
beat using arduino board. This family features are special features for both the ease and comfort of
the patient and the comfort of health care workers.
Published in: 2019 19th International Conference on Sciences and Techniques of Automatic Control
and Computer Engineering (STA)
Date of Conference: 24-26 March 2019
Date Added to IEEE Xplore: 20 May 2019
ISBN Information:
ISSN Information:
INSPEC Accession Number: 18691029
DOI: 10.1109/STA.2019.8717204
Publisher: IEEE
Conference Location: Sousse, Tunisia
Authors
Moeid M. Elsokah
Communication Engineering Department, College of Electronic Technology, Tripoli, Libya
Amer R. Zerek
Faculty of Engineering EE Department, Zawia University, Zawia, Libya
IoT based Smart Care Bed with Recommender System for Elderly People
In today’s world, the problem of taking care of elderly people in their old age is just important and
tedious as of taking care of a child, but the time and requirements are not available for everyone. The
proposed project is developed in such a way that all the required monitoring is done automatically
and the data reports and required suggestions are sent to the caretakers. The aim of the proposed IoT
based smart bed system is to assist caretakers in helping elderly people who feel difficulty in taking
care of themselves. Different sensors are used to measure the heart rate, temperature, blood pressure,
and wetness. Raspberry Pi is used to interface with all the sensors. Raspberry Pi collects all the
sensor data. These sensor data are given to the recommender system. Based on these sensors' data,
the recommender system produces the output. For example, if the heart rate is high and blood
pressure is low, the system tells that body needs oxygen, and this output is sent to the server, and an
alert is sent to the caretakers to take further actions. The total setup of the hardware is so compact
that it provides the elderly people as if a normal bed and also additional monitors can be set up for
enabling an easy view of the sensor readings. The prototype of the bed is developed and the readings
are viewed using a web server.
Published in: 2022 Third International Conference on Intelligent Computing Instrumentation and
Control Technologies (ICICICT)
Date of Conference: 11-12 August 2022
Date Added to IEEE Xplore: 18 October 2022
ISBN Information:
INSPEC Accession Number: 22189924
DOI: 10.1109/ICICICT54557.2022.9917792
Publisher: IEEE
Conference Location: Kannur, India
Authors
J Dani Reagan Vivek
Electronics and Communication Engineering, Mepco Schlenk Engineering College, Sivakasi, India
V Chandirasekar
Electronics and Communication Engineering, Mepco Schlenk Engineering College, Sivakasi, India
J Mopheth Jebaraj
Electronics and Communication Engineering, Mepco Schlenk Engineering College, Sivakasi, India
Developing a Smart IoT Solution to Monitor on-Bed Movement Patterns
IoT devices and systems become a part of modern living. They are mostly used to monitor daily
activities, especially related to personal health and fitness. In fact, it is getting more crucial during
the COVID-19 pandemic. In this study, a smart monitoring and alarming IoT system called “NEF”
was modified to recognize on-bed movement patterns including prone position applying different
machine learning techniques. On-bed movement patterns were collected from 7 subjects.
Considering only prone and supine positions, the models obtained from multilayer perceptron was
the best. However, random forest yielded the highest overall correctly classified percentage. Further
investigation is likely to include beddings such as pillows and blankets.
Published in: 2022 IEEE 12th Annual Computing and Communication Workshop and Conference
(CCWC)
Date of Conference: 26-29 January 2022
Date Added to IEEE Xplore: 04 March 2022
ISBN Information:
INSPEC Accession Number: 21743392
DOI: 10.1109/CCWC54503.2022.9720825
Publisher: IEEE
Conference Location: Las Vegas, NV, USA
Authors
Md Julhas Hossain
Department of Electrical and Computer Engineering, North South University, Dhaka, Bangladesh
Md. Amdadul Bari
Department of Electrical and Computer Engineering, North South University, Dhaka, Bangladesh
Mohammad Monirujjaman Khan
Department of Electrical and Computer Engineering, North South University, Dhaka, Bangladesh
Novel Model for Hospitalization Tracking based on Smart Contracts and IoT
In recent years, fraud and abuse of false health care hospitalizations have become a serious problem,
requiring monitoring of hospital bed occupancy. Control will increase the social, health and
economic efficiency of health care costs, which in turn will improve the quality of health services.
This paper proposes a new model, based on a blockchain. In this model data from sensors located in
hospital beds and a fitness tracker for each patient are chronologically recorded. At the same time
there are both monitoring the location of the tracker and monitoring the patient's vital signs. The
smart contract sends timely signals to stakeholders when the parameters of the sensors exceed the set
norms. An experimental implementation of the model on Hyperledger Fabric is presented, which
proves the applicability of the model.
Marco Laurino
National Research Council, Institute of Clinical Physiology, Pisa, Italy
Lucia Arcarisi
Department of Information Engineering, University of Pisa, Pisa, Italy
Nicola Carbonaro
Department of Information Engineering, University of Pisa, Pisa, Italy
Angelo Gemignani
National Research Council, Institute of Clinical Physiology, Pisa, Italy
CHAPTER 3:
METHODOLOGY
Block Diagram:
The plans and techniques used in the design and development of the Hand gesture recognition for
change the position of automatic adjustable beds in hospitals are described in this section. In order to
perform hand gesture recognition to control bed position, many tools, libraries and languages are
used like Open Source Computer Vision Library. Open CV established in Python Language. Python
3.7.4 version is an open source environment for compile the source code. It has many inbuilt function
for recognizing hand gesture. The main component used here is the Arduino Uno. It is used to get the
information from the Patient, based on the command it can take the necessary action and then change
the bed movement. The system consists of biomedical sensors such as temperature sensor and pulse
rate sensor. Pulse rate sensor is used for measuring the functioning of heart by blood flow through
finger while temperature sensor is used to measure the body temperature through external skin. The
sensor readings are then given to microcontroller which process the data. These medical parameter
that been measured using sensors will be carefully monitored and if any abnormalities are found,
SMS will be sent to the doctor using Nodemcu module. Here the measured physiological parameters
such as pulse rate and temperature are also displayed using an LCD.
1. Hardware Setup: Assemble the physical components including Arduino, LCD, heartbeat sensor,
temperature sensor, DC motor, emergency switch, and Nodemcu. Connect the components according
to the specifications provided by the manufacturers.
2. Arduino Programming: Write code for Arduino to initialize and read data from sensors (heartbeat
and temperature). Implement logic for controlling the DC motor based on user input or sensor data.
Code emergency switch functionality to disable motorized functions in case of an emergency.
3. LCD Display Integration: Write code to display relevant information on the LCD screen. Display
real-time data such as heartbeat, temperature, and bed position. Ensure the LCD interface is user-
friendly and informative.
4. Nodemcu Setup for Message Intimation: Integrate Nodemcu into the system for wireless
communication. Program Nodemcu to send messages or alerts in case of abnormal conditions.
Configure Nodemcu to connect to a Wi-Fi network for internet access.
5. Machine Learning Integration (Gesture Recognition): Choose and set up a machine learning
library, such as Mediapipe, for gesture recognition. Collect a dataset for training the machine
learning model. This dataset should include examples of different hand gestures for bed control.
Train the machine learning model using the collected dataset. Integrate the trained model into the
Python code for gesture recognition.
6. Python Programming for Gesture-Based Bed Control: Write Python code to interface with the
Arduino and interpret sensor data. Implement logic for translating recognized hand gestures into
specific commands for bed control. Ensure seamless communication between the Python script and
Arduino for effective control.
CHAPTER 4:
Functional Requirements:
Bed Position Control: Users should be able to adjust the bed position using the DC motor. Different
bed positions, such as sitting up or lying flat, should be programmable.
Vital Signs Monitoring: The system must continuously monitor the user's heartbeat using the
heartbeat sensor. Display real-time heartbeat data on the LCD screen.
Temperature Regulation: Utilize the temperature sensor to monitor the ambient temperature
around the bed. Allow users to set preferred bed temperature. Automatically adjust bed temperature
based on user settings.
Emergency Switch: Implement an emergency switch that can be activated to immediately stop all
motorized functions in case of an emergency. Display an emergency message on the LCD screen
when the emergency switch is activated.
Gesture-Based Control: Implement a machine learning algorithm using the Mediapipe library in
Python to recognize hand gestures. Allow users to control the bed through predefined hand gestures.
User Interface (UI): Provide a user-friendly interface on the LCD display for displaying vital signs,
temperature, and system status. Include buttons or touch controls for manual bed adjustments.
System Initialization and Calibration: Allow the system to initialize and calibrate sensors during
startup for accurate readings. Implement a user-friendly setup process for configuring initial
preferences.
Safety Features: Incorporate safety checks to prevent motorized functions when the bed is
occupied. Implement temperature limits to prevent uncomfortable or unsafe bed temperatures.
Non-Functional Requirements:
Performance: The system should respond to user inputs promptly, with minimal delay. Maintain
accurate sensor readings within specified tolerances.
Reliability: Ensure that the system operates reliably over extended periods without failures.
Implement error-checking mechanisms to handle sensor inaccuracies or communication issues.
Scalability: Design the system to be scalable, allowing for future additions or upgrades of sensors or
features.
Usability: The user interface should be intuitive, allowing users to easily understand and control the
system. Provide clear instructions for setup and troubleshooting.
Maintainability: Structure the code in a modular and well-documented manner to facilitate future
maintenance and updates. Provide a mechanism for easy software updates.
Hardware Requirements:
Arduino Uno
LCD Display
Heartbeat Sensor
Temperature Sensor
Nodemcu
DC motor
H-Bridge
Power Supply
Software Requirements:
Arduino IDE
Embedded C
Python
Open CV
Hardware Requirements:
Arduino Uno:
Microcontroller ATmega328P
OperatingVoltage 5v
Input voltage 7-12v
Input voltage limit 6-20v
Digital I/O Pins 6
Analogue input Pins 6
DC current perI/O pins 20 Ma
DC current for 3.3v Pin 50 Ma
Flash Memory Of which o.5KB is used
SRAM 2 KB
EEPROM 1KB
Clock Speed 16MHz
Length 68.6mm
Width 53.4nm
Weight 25g
Arduino programming:
The Arduino /GenuinoUno can be programmed with the (Arduino Software (IDE)).Select
"Arduino/GenuinoUno from the Tools>Board menu (according to the microcontroller on your
board). The ATmega328 on the Arduino/GenuinoUno comes preprogrammed with a boot loader
that allows us 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). We can also bypass
the boot loader and program the microcontroller through the ICSP (In-Circuit Serial Programming)
header using Arduino ISP or similar. 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 reusing the8U2.
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.[1]
Warnings:
The Arduino/GenuinoUno has a resettable poly fuse that protects your computer's USB ports
from shorts and over current. Although most computers provide their own internal protection, the
fuse provides an extra layer of protection. If more than500 mA is applied to the USB port, the
fuse will automatically break the connection until the short or overload is removed.[1]
The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver
chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2) programmed as a
USB-to-serial converter.[1]
Power:
The Arduino/GenuinoUno board 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 from 6 to 20 volts. If supplied with less than7V,
however, the 5V pin may supply less than five volts and the board may become unstable. If using
more than 12V, the voltage regulator may over heat and damage the board. The recommended
range is 7 to 12volts.
The power pins are as follows:
VIN. The input voltage to the Arduino/ Genuino board when it's using an external
power source (as opposed to 5 volts from the USB connection or other regulated
power source). One can supply voltage through this pin, or, if supplying voltage
via the power jack, access it through this pin.
5V.This pin outputs a regulated 5Vfrom the regulator on the board. The board can
be supplied with power either from the DC power jack (7 - 12V), the USB connector
(5V), or the VIN pin of the board (7-12V). Supplying voltage via the 5V or 3.3V
pins bypasses the regulator, and can damage your board. We don't advise it.
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current
draw is 50 mA.
GND. Ground pins.
IOREF. This pin on the Arduino/Genuinoboard provides the voltage reference with
which the microcontroller operates. A properly configured shield can read the
IOREF pin voltage and select the appropriate power source or enable voltage
translators on the outputs to work with the 5V or 3.3V.[1]
Memory:
The ATmega328 has 32 KB (with 0.5 KB occupied by the boot loader). It also has2 KB of
SRAM and 1 KB of EEPROM (which can be read and written with the EEPROM library).[1]
Input &Output:
Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode(),
digital write (), and digital read () functions. They operate at 5 volts. Each pin can provide or
receive 20 mA as recommended operating condition and has an internal pull- up resistor
(disconnected by default) of 20-50k ohm.A maximum of 40mAis the value that must not be
exceeded on any I/O pin to avoid permanent damage to the microcontroller.
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.
External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on
a low value, a rising or falling edge, or a change in value. See the attach interrupt ()
function for details.
PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analog write ()
function.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI
communication using the SPI library.
LED: 13. There is a built-in LED driven by digital pin 13. When the pin is HIGH
value, the LED is on, when the pin is LOW, it's off.
TWI: A4 or SDA pin and A5 or SCL pin. Support TWI communication using the
Wire library.
The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of
resolution (i.e. 1024 different values). By default they measure from ground to5 volts,
though is it possible to change the upper end of their range using the AREF pin and the
analog reference ()function.
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 usedto add a
reset button to shields which block the one on the board.[1]
Automatic (Software)Reset:
Rather than requiring a physical press of the reset button before an upload, the Arduino/GenuinoUno
board 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 the ATmega8U2/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 (IDE) uses this capability to allow
you to upload code by simply pressing the upload button in the interface toolbar. 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 board 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.[1]
Relay
A relay is an electrically operated switch. Current flowing through the coil of the relay creates a
magnetic field which attracts a lever and changes the switch contacts. The coil current can be on or
off so relays have two switch positions and they are double throw (changeover) switches. The
relay’s switch connections are usually labeled COM(POLE), NC and NO. In order to trigger the
laser we use driver relay.
Many relays use an electromagnet to mechanically operate a switch, but other operating principles
are also used, such as solid-state relays. Relays are used where it is necessary to control a circuit by
a separate low-power signal, or where several circuits must be controlled by one signal. The first
relays were used in long distance telegraph circuits as amplifiers: they repeated the signal coming in
from one circuit and re-transmitted it on another circuit. Relays were used extensively in telephone
exchanges and early computers to perform logical operations.
TEMPERATURE SENSOR:
The LM35 series are precision integrated-circuit temperature sensors, whose output voltage is linearly
proportional to the Celsius (Centigrade) temperature. The LM35 does not require any external
calibration or trimming to provide typical accuracies.
GENERAL DESCRIPTION
The LM35 series are precision integrated-circuit temperature sensors, whose output voltage is linearly
proportional to the Celsius (Centigrade) temperature. The LM35 thus has an advantage over linear
temperature sensors calibrated in° Kelvin, as the user is not required to subtract a large constant
voltage from its output to obtain convenient Centigrade scaling. The LM35 does not require any
external calibration or trimming to provide typical accuracies of ±1⁄4°Cat room temperature and
±3⁄4°C over a full −55 to +150°Ctemperature range. Low cost is assured by trimming and calibration
at the wafer level.
The LM35’s low output impedance, linear output, and precise inherent calibration make interfacing to
readout or control circuitry especially easy. It can be used with single power supplies, or with plus and
minus supplies. As it draws only 60 μA from its supply, it has very low self-heating, less than 0.1°C in
still air. The LM35 is rated to operate over a −55° to +150°C temperature range, while the LM35C is
rated for a −40° to +110°C range (−10° with improved accuracy). The LM35 series is available
packaged in hermetic TO-46 transistor packages, while theLM35C, LM35CA, and LM35D are also
available in the plastic TO-92 transistor package. The LM35D is also available in an 8-lead surface
mount small outline package and aplastic TO-220 package.
FEATURES
Temperature Sensor
CIRCUIT DIAGRAM
APPLICATIONS
The LM35 can be applied easily in the same way as other integrated-circuit temperature sensors. It
can be glued or cemented to a surface and its temperature will be within about 0.01§C of the surface
temperature. This presumes that the ambient air temperature is almost the same as the surface
temperature; if the air temperature were much higher or lower than the surface temperature, the actual
temperature of the LM35 die would be at an inter- mediate temperature between the surface
temperature and the air temperature. This is especially true for the TO-92 plastic package, where the
copper leads are the principal thermal path to carry heat into the device, so its temperature might be
closer to the air temperature than to the surface temperature. To minimize this problem, be sure that
the wiring to the LM35, as it leaves the device, is held at the same temperature as the surface of
interest. The easiest way to do this is to cover up these wires with a bead of epoxy which will insure
that the leads and wires are all at the same temperature as the surface, and that the LM35 die’s
temperature will not be affected by the air temperature.
The TO-46 metal package can also be soldered to a metal surface or pipe without damage. Of course,
in that case the Vb terminal of the circuit will be grounded to that metal. Alternatively, the LM35 can
be mounted inside a sealed-end metal tube, and can then be dipped into a bath or screwed into a
threaded hole in a tank. As with any IC, the LM35 and accompanying wiring and circuits must be kept
insulated and dry, to avoid leakage and corrosion. This is especially true if the circuit may operate at
cold temperatures where condensation can occur. Printed-circuit coatings and vanishes such as
Humiseal and epoxy paints or dips are often used to insure that moisture cannot corrode the LM35 or
its connections. These devices are sometimes soldered to a small light- weight heat fin, to decrease the
thermal time constant and speed up the response in slowly-moving air. On the other hand, a small
thermal mass may be added to the sensor, to give the steadiest reading despite small deviations in the
air temperature.
The working of the Pulse/Heart beat sensor is very simple. The sensor has two sides, on one side the
LED is placed along with an ambient light sensor and on the other side we have some circuitry. This
circuitry is responsible for the amplification and noise cancellation work. The LED on the front side
of the sensor is placed over a vein in our human body. This can either be your Finger tip or you ear
tips, but it should be placed directly on top of a vein.
Now the LED emits light which will fall on the vein directly. The veins will have blood flow inside
them only when the heart is pumping, so if we monitor the flow of blood we can monitor the heart
beats as well. If the flow of blood is detected then the ambient light sensor will pick up more light
since they will be reflect ted by the blood, this minor change in received light is analysed over time to
determine our heart beats.
Using the pulse sensor is straight forward, but positioning it in the right way matters. Since all the
electronics on the sensor are directly exposed it is also recommended to cover the sensor with hot
glue, vinyl tape or other non conductive materials. Also it is not recommended to handle these sensors
with wet hands. The flat side of the sensor should be placed on top of the vein and a slight presser
should be applied on top of it, normally clips or Velcro tapes are used to attain this pressure.
To use the sensor simply power it using the Vcc and ground pins, the sensor can operate both at +5V
or 3.3V system. Once powered connect the Signal pin to the ADC pin of the microcontroller to
monitor the change in output voltage. If you are using a development board like Arduino then you can
use the readily available code which will make things a lot easier. Refer the datasheet at the bottom of
the page for more information on how to interface the sensor with Arduino and how to mount it. The
schematics of the sensor, code and processing sketch can be obtained from the Sprakfun product page.
Applications
Sleep Tracking
Anxiety monitoring
Remote patient monitoring/alarm system
Health bands
Advanced gaming consoles
Features
DC Motor
DC motors convert electrical into mechanical energy and they consist of permanent magnets
and loops of wire inside, When current is applied, the wire loops generate a magnetic field, which
reacts against the outside field of the static magnets. The interaction of the fields produces the
movement of the shaft/armature. Thus, electromagnetic energy becomes motion.
Fig. DC Motor
Here we use two DC motors for the movement of rover. A DC motor is any of a class of rotary
electrical machines that converts direct current electrical energy into mechanical
energy.Themostcommontypesrelyontheforcesproducedbymagneticfields.Nearlyall
typesofDCmotorshavesomeinternalmechanism,eitherelectromechanicalorelectronic, to periodically
change the direction of current flow in part of the motor. DC motors were the first form of motor
widely used, as they could be powered from existing direct-current lighting power distribution
systems. A DC motor's speed can be controlled over a wide range, using either a variable supply
voltage or by changing the strength of current in its field windings. Small DC motors are used in
tools, toys, andappliances.
H-Bridge:L293D:
L293D Pin Configuration
1 Enable 1,2 This pin enables the input pin Input 1(2) and Input 2(7)
8 Vcc2 (Vs) Connected to Voltage pin for running motors (4.5V to 36V)
9 Enable 3,4 This pin enables the input pin Input 3(10) and Input 4(15)
10 Input 3 Directly controls the Output 3 pin. Controlled by digital
circuits
Features
NodeMcu:
Power Micro-USB, Micro-USB: NodeMCU can be powered through the USB port
3.3V, GND, Vin
3.3V: Regulated 3.3V can be supplied to this pin to power the board
Control EN, RST The pin and the button resets the microcontroller
Pins
GPIO Pins GPIO1 to NodeMCU has 16 general purpose input-output pins on its board
GPIO16
SPI Pins SD1, CMD, NodeMCU has four pins available for SPI communication.
SD0, CLK
UART Pins TXD0, RXD0, NodeMCU has two UART interfaces, UART0 (RXD0 & TXD0) and
TXD2, RXD2 UART1 (RXD1 & TXD1). UART1 is used to upload the
firmware/program.
I2C Pins NodeMCU has I2C functionality support but due to the internal
functionality of these pins, you have to find which pin is I2C.
Pinout Configuration
Buzzer:
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 customised 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.
Applications of Buzzer
A transformer is a device that transfers electrical energy from one circuit to another through
inductively coupled conductors without changing its frequency. A varying current in the first or
primary winding creates a varying magnetic flux in the transformer's core, and thus a varying
magnetic field through the secondary winding. This varying magnetic field induces a varying
electromotive force (EMF) or "voltage" in the secondary winding. This effect is called mutual
induction. If a load is connected to the secondary, an electric current will flow in the secondary
winding and electrical energy will be transferred from the primary circuit through the transformer to
the load. This field is made up from lines of force and has the same shape as a bar magnet. If the
current is increased, the lines of force move outwards from the coil. If the current is reduced, the lines
of force move inwards. If another coil is placed adjacent to the first coil then, as the field moves out or
in, the moving lines of force will "cut" the turns of the second coil. As it does this, a voltage is
induced in the second coil. With the 50 Hz AC mains supply, this will happen 50 times a second. This
is called MUTUAL INDUCTION and forms the basis of the transformer.
Rectifier:
A rectifier is an electrical device that converts alternating current (AC) to direct current (DC),
a process known as rectification. Rectifiers have many uses including as components of power
supplies and as detectors of radio signals. Rectifiers may be made of solid-state diodes, vacuum tube
diodes, mercury arc valves, and other components. A device that it can perform the opposite function
(converting DC to AC) is known as an inverter. When only one diode is used to rectify AC (by
blocking the negative or positive portion of the waveform), the difference between the term diode and
the term rectifier is merely one of usage, i.e., the term rectifier describes a diode that is being used to
convert AC to DC. Almost all rectifiers comprise a number of diodes in a specific arrangement for
more efficiently converting AC to DC than is possible with only one diode. Before the development of
silicon semiconductor rectifiers, vacuum tube diodes and copper (I) oxide or selenium rectifier stacks
were used.
Filter:
The process of converting a pulsating direct current to a pure direct current using filters is
called as filtration. Electronic filters are electronic circuits, which perform signal-processing
functions, specifically to remove unwanted frequency components from the signal, to enhance wanted
ones.
Regulator:
A voltage regulator (also called a ‗regulator‘) with only three terminals appears to be a simple
device, but it is in fact a very complex integrated circuit. It converts a varying input voltage into a
constant ‗regulated ‘output voltage. Voltage Regulators are available in a variety of outputs like 5V,
6V, 9V, 12V and 15V. The LM78XX series of voltage regulators are designed for positive input. For
applications requiring negative input, the LM79XX series is used. Using a pair of ‗voltage-divider‘
resistors can increase the output voltage of a regulator circuit. It is not possible to obtain a voltage
lower than the stated rating. You cannot use a 12V regulator to make a 5V power supply. Voltage
regulators are very robust. These can withstand over-current draw due to short circuits and also over-
heating. In both cases, the regulator will cut off before any damage occurs. The only way to destroy a
regulator is to apply reverse voltage to its input. Reverse polarity destroys the regulator almost
instantly. Fig: 3u shows voltage regulator.
LCD display
LCD is used in wide range application including computer monitors, televisions, instrument
panels, aircraft cockpit displays, and indoor and outdoor signage. Small LCD screens are
common in portable consumer devices such as digital cameras, watches, calculators,
and mobile telephones, including smartphones. LCD screens are also used on consumer
electronics products such as DVD players, video game devices and clocks. LCD screens have
replaced heavy, bulky cathode ray tube (CRT) displays in nearly all applications. LCD
screens are available in a wider range of screen sizes than CRT and plasma displays, with
LCD screens available in sizes ranging from tiny digital watches to huge, big-
screen television sets.
Since LCD screens do not use phosphors, they do not suffer image burn-in when a static
image is displayed on a screen for a long time (e.g., the table frame for an aircraft schedule
on an indoor sign). LCDs are, however, susceptible to image persistence.
The 16x2 LCD has a total of 16 pins. As shown in the table below, eight of the pins are data
lines (pins 7-14), two are for power and ground (pins 1 and 16), three are used to control the
operation of LCD (pins 4-6), and one is used to adjust the LCD screen brightness (pin 3). The
remaining two pins (15 and 16) power the backlight.The details of the LCD terminals are as
follows:
Terminal 1 GND
Terminal 2 +5V
Terminal 3 Mid terminal of potentiometer (for brightness control)
Terminal 4 Register Select (RS)
Terminal 5 Read/Write (RW)
Terminal 6 Enable (EN)
Terminal 7 DB0
Terminal 8 DB1
Terminal 9 DB2
Terminal 10 DB3
Terminal 11 DB4
Terminal 12 DB5
Terminal 13 DB6
Terminal 14 DB7
Terminal 15 +4.2-5V
Terminal 16 GND
The name and functions of each pin of the 16×2 LCD module is given below.
Pin1 (Vss): Ground pin of the LCD module.
Pin2 (Vcc): Power to LCD module (+5V supply is given to this pin)
Pin3 (VEE): Contrast adjustment pin. This is done by connecting the ends of a 10K
potentimeter to +5V and ground and then connecting the slider pin to the VEE pin. The
voltage at the VEE pin defines the contrast. The normal setting is between 0.4 and 0.9V.
Pin4(RS): Register select pin. Logic HIGH at RS pin selects data register and logic LOW at
RS pin selects command register. If we make the RS pin HIGH and feed an input to the data lines
(DB0 to DB7), this input will be treated as data to display on LCD screen. If we make the RS pin
LOW and feed an input to the data lines, then this will be treated as a command ( a command to
be written to LCD controller – like positioning cursor or clear screen or scroll).
Pin5 (R/W): Read/Write modes. This pin is used for selecting between read and write
modes. Logic HIGH at this pin activates read mode and logic LOW at this pin activates write
mode.
Pin6 (E): This pin is meant for enabling the LCD module. A HIGH to LOW signal at this
pin will enable the module.
Pin7 (DB0) to Pin14(DB7): These are data pins. The commands and data are fed to the LCD
module though these pins.
Pin15 (LED+): Anode of the back light LED. When operated on 5V, a 560 ohm resistor
should be connected in series to this pin. In Arduino based projects the back light LED can be
powered from the 3.3V source on the Arduino board.
RS pin of the LCD module is connected to digital pin 12 of the Arduino. R/W pin of the
LCD is grounded. Enable pin of the LCD module is connected to digital pin 11 of the Arduino.
This method is very simple, requires less connections and we can almost utilize the full potential
of the LCD module. Digital lines DB4, DB5, DB6 and DB7 are interfaced to digital pins 5, 4, 3
and 2 of the Arduino. The 10K potentiometer is used for adjusting the contrast of the display. The
Arduino can be powered through the external power jack provided on the board. +5V required in
some other parts of the circuit can be tapped from the 5V source on the Arduino board. The
Arduino can be also powered from the PC through the USB port.
Software Requirements:
Arduino IDE
A program for Arduino may be written in any programming language for a compiler
that produces binary machine code for the target processor. Atmel provides a
development environment for their microcontrollers, AVR Studio and the newer Atmel
Studio.
The Arduino project provides the Arduino integrated development environment (IDE),
which is a cross-platform application written in the programming language Java. It
originated from the IDE for the languages Processing and Wiring. It includes a code
editor with features such as text cutting and pasting, searching and replacing text,
automatic indenting, brace matching, and syntax highlighting, and provides simple one-
click mechanisms to compile and upload programs to an Arduino board. It also contains
a message area, a text console, a toolbar with buttons for common functions and a
hierarchy of operation menus.
A program written with the IDE for Arduino is called a sketch. Sketches are saved on
the development computer as text files with the file extension .ino. Arduino Software
(IDE) pre-1.0 saved sketches with the extension .pde.
The Arduino IDE supports the languages C and C++ using special rules of code
structuring. The Arduino IDE supplies a software library from the Wiring project, which
provides many common input and output procedures. User-written code only requires
two basic functions, for starting the sketch and the main program loop, that are compiled
and linked with a program stub main() into an executable cyclic executive program with
the GNU toolchain, also included with the IDE distribution.
A minimal Arduino C/C++ sketch, as seen by the Arduino IDE programmer, consist of
only two functions:
setup(): This function is called once when a sketch starts after power-up or reset. It is used
to initialize variables, input and output pin modes, and other libraries needed in the
sketch.
loop(): After setup() has been called, function loop() is executed repeatedly in the main
program. It controls the board until the board is powered off or is reset.
Embedded C:
When designing software for a smaller embedded system with the 8051, it is very
common place to develop the entire product using assembly code. With many projects,
this is a feasible approach since the amount of code that must be generated is typically
less than 8 kilobytes and is relatively simple in nature. If a hardware engineer is tasked
with designing both the hardware and the software, he or she will frequently be tempted
to write the software in assembly language.
The trouble with projects done with assembly code can is that they can be difficult to read
and maintain, especially if they are not well commented. Additionally, the amount of
code reusable from a typical assembly language project is usually very low. Use of a
higher-level language like C can directly address these issues. A program written in C is
easier to read than an assembly program.
Since a C program possesses greater structure, it is easier to understand and maintain.
Because of its modularity, a C program can better lend itself to reuse of code from project
to project. The division of code into functions will force better structure of the software
and lead to functions that can be taken from one project and used in another, thus
reducing overall development time. A high order language such as C allows a developer
to write code, which resembles a human’s thought process more closely than does the
equivalent assembly code. [25]The developer can focus more time on designing the
algorithms of the system rather than having to concentrate on their individual
implementation. This will greatly reduce development time and lower debugging time
since the code is more understandable.
By using a language like C, the programmer does not have to be intimately familiar with
the architecture of the processor. This means that someone new to a given processor can
get a project up and running quicker, since the internals and organization of the target
processor do not have to be learned. Additionally, code developed in C will be more
portable to other systems than code developed in assembly. Many target processors have
C compilers available, which support ANSI C.
All of this is not to say that assembly language does not have its place. In fact, many
embedded systems (particularly real time systems) have a combination of C and assembly
code. For time critical operations, assembly code is frequently the only way to go. One of
the great things about the C language is that it allows you to perform low-level
manipulations of the hardware if need be, yet provides you the functionality and
abstraction of a higher order language.
PYTHON
Python Features
Easy-to-learn: Python has few keywords, simple structure, and a clearly defined syntax.
This allows the student to pick up the language quickly.
Easy-to-read: Python code is more clearly defined and visible to the eyes.
Easy-to-maintain: Python's source code is fairly easy-to-maintain.
A broad standard library: Python's bulk of the library is very portable and cross-
platform compatible on UNIX, Windows, and Macintosh.
Interactive Mode: Python has support for an interactive mode which allows interactive
testing and debugging of snippets of code.
Portable: Python can run on a wide variety of hardware platforms and has the same
interface on all platforms.
Extendable: You can add low-level modules to the Python interpreter. These modules
enable programmers to add to or customize their tools to be more efficient.
Databases: Python provides interfaces to all major commercial databases.
GUI Programming: Python supports GUI applications that can be created and ported to
many system calls, libraries, and windows systems, such as Windows MFC, Macintosh,
and the X Window system of Unix.
Scalable: Python provides a better structure and support for large programs than shell
scripting.
Pandas
Numpy
Sklearn
Seaborn
Matplotlib
Importing Datasets
OpenCV
Image processing is the process of manipulating pixel data in order to make it suitable for
computer vision applications or to make it suitable to present it to humans. For example,
changing brightness or contrast is an image processing task which make the image visually
pleasing for humans or suitable for further processing for a certain computer vision application.
PYTHON
It is an object-oriented programming language. The processing happens during the runtime,
and this is performed by the interpreter. Python's simple to learn and easy to use is an
advantage and thus makes it developer friendly. It is easier to read and understand as the
syntax is conventional. The code can be executed line by line using the interpreter. Python
can support multiple platforms like Linux, UNIX, windows, Macintosh, and so on. The
paradigms of Object-oriented programming are supported by python. The functions such as
polymorphism, operator overloading and multiple inheritance is supported python.
Open CV
OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at
real-time computer vision. Originally developed by Intel, it was later supported by Willow
Garage then Itseez (which was later acquired by Intel). The library is crossplatform and free for
use under the open-source BSD license. OpenCV supports deep learning frameworks
TensorFlow, Torch/PyTorch and Cafe.
It has C++, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and
Mac OS. OpenCV leans mostly towards real-time vision applications and takes advantage of
MMX and SSE instructions when available. A full-featured CUDA and OpenCL interfaces are
being actively developed right now. There are over 500 algorithms and about 10 times as many
functions that compose or support those algorithms. OpenCV is written natively in C++ and has
a templated interface that works seamlessly with STL containers.
In 1999, the OpenCV project was initially an Intel Research initiative to advance CPUintensive
applications, part of a series of projects including real-time ray tracing and 3D display walls. The
main contributors to the project included a number of optimization experts in Intel Russia, as
well as Intel‘s Performance Library Team. In the early days of OpenCV, the goals of the project
were described as:
Advance vision research by providing not only open but also optimized code for basic
vision infrastructure. No more reinventing the wheel.
Disseminate vision knowledge by providing a common infrastructure that developers
could build on, so that code would be more readily readable and transferable.
Advance vision-based commercial applications by making portable, performance
optimized code available for free – with a license that did not require code to be open or
free itself.
Structure of Open CV
Once OpenCV is installed, the OPENCV_BUILD\install directory will be populated with three
types of files:
General description
OS/hardware/window-manager independent.
Image and video I/O (file and camera based input, image/video file output).
Matrix and vector manipulation and linear algebra routines (products, solvers,, SVD).
Basic image processing (filtering, edge detection, corner detection, sampling and
interpolation, color conversion, morphological operations, histograms, image pyramids).
Structural analysis (connected components, contour processing, distance transform,
various moments, template matching, Hough transform, polygonal approximation, line
fitting, ellipse fitting, Delaunay triangulation).
Camera calibration (finding and tracking calibration patterns, calibration, fundamental
matrix estimation, homography estimation, stereo correspondence).
Motion analysis (optical flow, motion segmentation, tracking).
[2] Hui-Shyong Yeo & Byung-Gook Lee & Hyotaek Lim. “Hand tracking and gesture
recognition system for human-computer interaction using low-cost hardware” Springer
Science+Business Media New York 2013.
[3] Diego A. Socolinsky, Andrea Selinger, and Joshua D. Neuheisel. “Face recognition with
visible and thermal infrared imagery”. Computer Vision and Image Understanding 91 (24 march
2003) 72–114.
[4] Elli Angelopoulou, Rana Molana, and Kostas Daniilidis. “Multispectral Skin Color
Modeling”. Computer Information Science Department, University of Pennsylvania
Philadelphia, PA.
[5] Mokhtar M.Hasan, Pramod K. Mishra. “HSV Brightness Factor Matching for Gesture
Recognition System”. International Journal of Image Processing (IJIP), Volume (4): Issue
(5) .Department of Computer Science Faculty of Science BHU-Varanasi
Uttar Pradesh-221005, India.
[6] Gaglio. S, G.L. Re, and M. Morana. “Human activity recognition process using 3-D posture
data”. IEEE Transactions on Human-Machine Systems. vol. 45, no.5, pp. 586-597, 2015.
[7] L. Jin, Y. Zhou, Z. Cheng, et al. “Magic ring: A finger-worn device for multiple appliances
control using static finger gestures”. Sensors. vol. 12, no. 5, pp. 5775C5790, 2012.
[8] Zarit, Benjamin D., Boaz J. Super, and Francis KH Quek, “Comparison of five-color models
in skin pixel classification”. Recognition, Analysis, and Tracking of Faces and Gestures in Real-
Time Systems Proceedings. International Workshop, IEEE, 1999, pp. 58-63.
[9] Do, Martin, Tamim Asfour, and Rüdiger Dillmann, “Particle filter-based fingertip tracking
with circular hough transform features”. Threshold. 2, 2011, pp.2
[10] Ali Hamza, Rahul Anand, Pragati Shivhare, Anjali Gaurav “Hand Gesture Recognition
Applications”, International Journal of Interdisciplinary Research (IJIR) Vol-3, Issue-4, 2017
ISSN: 2454-1362