Glucoma

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 40

CHAPTER 1

INTRODUCTION

1.1 INTRODUCTION

Our project propose a non-invasive method to detect glaucoma eye disease at the earlier stage from
aqueous humor (AH) fluid's bio magnetic signal in anterior chamber of eye. The AH fluid has bio
magnetic emission because of magnetic material, such as sodium, potassium, chloride, bicarbonate,
and protein. At present, the diagnosis of glaucoma was done at the later stage because of
undetectable micro variation in the fundus image cup to disc size ratio measurement and because of
similar symptoms in glaucoma eye and vision problem. In the proposed method, glaucoma can be
detected through the acquisition of AH fluid bio magnetic signal from eye through giant magneto
resistance magnetometers (GMRs) sensor. The bio magnetic signal of AH fluid's dynamic and static
variation in eye is analysed with the rational dilation wavelet transform (RADWT) algorithm. The
variations of AH fluid is obtained through beta-blocker eye drops. From experiment, The AH fluid's
bio magnetic signal shows variations for the rate of dissipation of fluid in eye, such as normal and
glaucoma eye, with and without eye drops. The AH bio magnetic signal correlates glaucoma disease
with signal variance and RADWT sub band energy for 50 glaucoma and 10 normal eye. The
proposed method detect glaucoma eye in the early stage with 90% accuracy. The experimental result
is validated with glaucoma measuring tonometer instrument. The earlier detection of glaucoma eye
is measured through regression modelling.

1.2 OVERVIEW

Glaucoma is the term applied to a group of eye diseases that gradually result in loss of vision by
permanently damaging the optic nerve, the nerve that transmits visual images to the brain. Here the
detection of glaucoma is done by GMR. The screening of patients for the development of glaucoma
potentially reduces the risk of blindness in these patients by 50%. Here in our project the part of AI is
creating a Deep learning neural network and it is trained to recognize the parameters of GMR values
from hardware for the detection of different stages of the disease. The neural network model has been
developed . Here the program is developed using Matlab. The raw GMR data are analysed in Matlab.
Matlab provide variety of options for AI that enable us to extract the required features and information
from the GMR data sets. The software can be used to detect the early stages of glaucoma.

1.3 EXISTING METHOD

Glaucoma is a chronic disease often called “silent thief of sight” as it has no symptoms and if not detected at an
early stage it may cause permanent blindness. Glaucoma progression precedes some structural changes in the
retina which aid ophthalmologists to detect glaucoma at an early stage and stop its progression. Fundoscopy is
among one of the biomedical imaging techniques to analyze the internal structure of retina. Our proposed
technique provides a novel algorithm to detect glaucoma from digital fundus image using a hybrid feature set.
This paper proposes a novel combination of structural (cup to disc ratio) and non-structural (texture and
intensity) features to improve the accuracy of automated diagnosis of glaucoma.

1.3.1 DRAWBACKS OF EXISTING SYSTEM

• The glaucoma level prediction is made through controller which is not much accurate.

1.4 SCOPE OF THE WORK

• The level of glaucoma is measured non-invasively by using GMR sensor and pulse sensor which
actively measures the AH fluid in eye and sends the data to cloud and the matlab system fetches the
GMR and pulse data from cloud and preform deep learning algorithm to evaluate the glaucoma level

CHAPTER 2
LITERATURE SURVEY

2.1 INTRODUCTION
The glaucoma eye after beta blocker drops initiate the static AH fluid in eye for the dynamic state. The dynamic
state of AH fluid acquired in human eye and phantom with GMR sensor validate for efficiency of the signal
acquisition from initial stage to the maximum stage of AH fluid dynamics. Hence the several Surveys taken to
verify
2.2 LITERATURE SURVEY
[1] S. I. Niwas et al., “Cross-examination for Angle-Closure Glaucoma Feature Detection,” IEEE J. Biomed.
Heal. Informatics, vol. 20, no. 1, pp. 343–354, 2014.
Glaucoma is a second leading cause of the disease in the world. The World Health
Organization has estimated that by 2020, about 80 million people would suffer from glaucoma.
As the disease progresses, it leads to structural changes in the Optic Nerve Head (ONH).

Optic Nerve Head is the region which consists of Optic Cup and Optic Disc. The region of
interest is extracted from the fundus image by using Hough Transformation. It is an automated
way of segmentation used to obtain the accurate results and it replaces the manual
segmentation. The k-mean clustering also used for segmentation which is another approach.
From the segmented ONH, the different features like Gray Level Cooccurrence Matrix (GLCM)
and Markov Random Field (MRF) are extracted.
[2] S. Maheshwari, R. B. Pachori, and U. R. Acharya, “Automated Diagnosis of Glaucoma Using Empirical
Wavelet Transform and Correntropy Features Extracted from Fundus Images,” IEEE J. Biomed. Heal.
Informatics, vol. 21, no. 3, pp. 803–813, 2017.
Glaucoma is an ocular disorder caused due to increased fluid pressure in the optic nerve. It damages
the optic nerve subsequently causes loss of vision. The available scanning methods are Heidelberg
Retinal Tomography (HRT), Scanning Laser Polarimetry (SLP) and Optical Coherence Tomography
(OCT). These methods are expensive and require experienced clinicians to use them. So, there is a
need to diagnose glaucoma accurately with low cost.
Hence, in this paper, we have presented a new methodology for an automated diagnosis of glaucoma
using digital fundus images based on Empirical Wavelet Transform (EWT). The EWT is used to
decompose the image and correntropy features are obtained from decomposed EWT components.
These extracted features are ranked based on t value feature selection algorithm. Then, these features
are used for the classification of normal and glaucoma images using Least Squares Support Vector
Machine (LS-SVM) classifier. The LSSVM is employed for classification with Radial Basis Function
(RBF), Morlet wavelet and Mexican-hat wavelet kernels. The classification accuracy of proposed method
is 98.33% and 96.67% using three-fold and ten-fold cross validation respectively.

[3] S. Dua, U. Rajendra Acharya, P. Chowriappa, and S. Vinitha Sree, “Wavelet-based energy features for
glaucomatous image classification,” IEEE Trans. Inf. Technol. Biomed., vol. 16, no. 1, pp. 80–87, 2012.
Texture features within images are actively pursued for accurate and efficient glaucoma
classification. Energy distribution over wavelet subbands is applied to find these important
texture features. In this paper, we investigate the discriminatory potential of wavelet features
obtained from the daubechies (db3), symlets (sym3), and biorthogonal (bio3.3, bio3.5, and
bio3.7) wavelet filters.
We propose a novel technique to extract energy signatures obtained using 2-D discrete wavelet
transform, and subject these signatures to different feature ranking and feature selection
strategies. We have gauged the effectiveness of the resultant ranked and selected subsets of
features using a support vector machine, sequential minimal optimization, random forest, and
naïve Bayes classification strategies. We observed an accuracy of around 93% using tenfold
cross validations to demonstrate the effectiveness of these methods.

[4] G. Chitnis, T. Maleki, B. Samuels, L. B. Cantor, and B. Ziaie, “A minimally invasive implantable wireless
pressure sensor for continuous IOP monitoring,” IEEE Trans. Biomed. Eng., vol. 60, no. 1, pp. 250–256,
2013.
This paper presents a minimally invasive implantable pressure sensing transponder for
continuous wireless monitoring of intraocular pressure (IOP). The transponder is designed to
make the implantation surgery simple while still measuring the true IOP through direct hydraulic
contact with the intraocular space. Furthermore, when IOP monitoring is complete, the design
allows physicians to easily retrieve the transponder.

The device consists of three main components: 1) a hypodermic needle (30 gauge) that
penetrates the sclera through pars plana and establishes direct access to the vitreous space of
the eye; 2) a micromachined capacitive pressure sensor connected to the needle back-end;
and 3) a flexible polyimide coil connected to the capacitor forming a parallel LC circuit whose
resonant frequency is a function of IOP. Most parts of the sensor sit externally on the sclera
and only the needle penetrates inside the vitreous space. In vitro tests show a sensitivity of 15
kHz/mmHg with approximately 1-mmHg resolution. One month in vivo implants in rabbits
confirm biocompatibility and functionality of the device.

[5] P. J. Chen, S. Saati, R. Varma, M. S. Humayun, and Y. C. Tai, “Wireless intraocular pressure sensing
using microfabricated minimally invasive flexible-coiled LC sensor implant,” J. Microelectromechanical
Syst., vol. 19, no. 4, pp. 721–734, 2010.
This paper presents an implant-based wireless pressure sensing paradigm for long-range
continuous intraocular pressure (IOP) monitoring of glaucoma patients. An implantable
parylene-based pressure sensor has been developed, featuring an electrical LC-tank resonant
circuit for passive wireless sensing without power consumption on the implanted site. The
sensor is microfabricated with the use of parylene C (poly-chloro-p-xylylene) to create a flexible
coil substrate that can be folded for smaller physical form factor so as to achieve minimally
invasive implantation, while stretched back without damage for enhanced inductive sensor-
reader coil coupling so as to achieve strong sensing signal. A data-processed external readout
method has also been developed to support pressure measurements.

By incorporating the LC sensor and the readout method, wireless pressure sensing with 1-
mmHg resolution in longer than 2-cm distance is successfully demonstrated. Other than
extensive on-bench characterization, device testing through six-month chronic in vivo and acute
ex vivo animal studies has verified the feasibility and efficacy of the sensor implant in the
surgical aspect, including robust fixation and long-term biocompatibility in the intraocular
environment. With meeting specifications of practical wireless pressure sensing and further
reader development, this sensing methodology is promising for continuous, convenient, direct,
and faithful IOP monitoring.

CHAPTER 3
BLOCK DIAGRAM

3.1 INTRODUCTION

The Ah fluid level is detected by GMR sensor using magnetic signal and the heart beat also fetched by
controller to check the blood pressure level and both the sensor data is sent to cloud by ESP8266 and fetched
by matlab and Deep Learning(SVM algorithm) is performed to predict the result.

Arduino:
Arduino is an open-source hardware and software company, project and user community that designs and
manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its products
are licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL),
[1]
 permitting the manufacture of Arduino boards and software distribution by anyone. Arduino boards are
available commercially in preassembled form or as do-it-yourself (DIY) kits.
Arduino board designs use a variety of microprocessors and controllers. The boards are equipped with sets of
digital and analog input/output (I/O) pins that may be interfaced to various expansion boards
or breadboards (shields) and other circuits. The boards feature serial communications interfaces,
including Universal Serial Bus (USB) on some models, which are also used for loading programs from personal
computers. The microcontrollers can be programmed using C and C++ programming languages. In addition to
using traditional compiler toolchains, the Arduino project provides an integrated development
environment (IDE) based on the Processing language project.
Pulse Sensor :
Pulse Sensor is a well-designed plug-and-play heart-rate sensor for Arduino. It can be used by students,
artists, athletes, makers, and game & mobile developers who want to easily incorporate live heart rate data
into their projects. The sensor clips onto a fingertip or earlobe and plugs right into Arduino. It also includes
an open-source monitoring app that graphs your pulse in real time.

GMR Sensor:
The effect is observed as a significant change in the electrical resistance depending on whether
the magnetization of adjacent ferromagnetic layers are in a parallel or an antiparallel alignment. The overall
resistance is relatively low for parallel alignment and relatively high for antiparallel alignment. The magnetization
direction can be controlled, for example, by applying an external magnetic field. The effect is based on the
dependence of electron scattering on the spin orientation.

The main application of GMR is magnetic field sensors, which are used to read data in hard disk
drives, biosensors, microelectromechanical systems (MEMS) and other devices.[1] GMR multilayer structures are
also used in magnetoresistive random-access memory (MRAM) as cells that store one bit of information.
ESP8266:
The ESP8266 is a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller. The ESP8266 WiFi Module is
a self contained SOC with integrated TCP/IP protocol stack that can give any microcontroller access to your WiFi
network. The ESP8266 is capable of either hosting an application or offloading all Wi-Fi networking functions from
another application.
CHAPTER 4
HARDWARE DESCRIPTION

ATMEGA328 Microcontroller Description

The Atmel AVR® core combines a rich instruction set with 32 general purpose working registers.
All the 32 registers are directly connected to the Arithmetic Logic Unit (ALU), allowing two independent
registers to be accessed in a single instruction executed in one clock cycle. The resulting architecture is
more code efficient while achieving throughputs up to ten times faster than conventional CISC
microcontrollers. The ATmega328/P provides the following features: 32Kbytes of In-System
Programmable Flash with Read-While-Write capabilities, 1Kbytes EEPROM, 2Kbytes SRAM, 23 general
purpose I/O lines, 32 general purpose working registers, Real Time Counter (RTC), three flexible
Timer/Counters with compare modes and PWM, 1 serial programmable USARTs , 1 byte-oriented 2-wire
Serial Interface (I2C), a 6- channel 10- bit ADC (8 channels in TQFP and QFN/MLF packages) , a
programmable Watchdog Timer with internal Oscillator, an SPI serial port, and six software selectable
power saving modes.

This allows very fast start-up combined with low power consumption. In Extended Standby mode,
both the main oscillator and the asynchronous timer continue to run. Atmel offers the QTouch® library for
embedding capacitive touch buttons, sliders and wheels functionality into AVR microcontrollers. The
patented charge-transfer signal acquisition offers robust sensing and includes fully debounced reporting of
touch keys and includes Adjacent Key Suppression® (AKS™) technology for unambiguous detection of
key events. The easy-to-use QTouch Suite toolchain allows you to explore, develop and debug your own
touch applications. The device is manufactured using Atmel’s high density non-volatile memory
technology. The On-chip ISP Flash allows the program memory to be reprogrammed In-System through an
SPI serial interface, by a conventional nonvolatile memory programmer, or by an On-chip Boot program
running on the AVR core.
The ATmega328/P is supported with a full suite of program and system development tools
including: C Compilers, Macro Assemblers, Program Debugger/Simulators, In-Circuit Emulators, and
Evaluation kits.

FEATURES OF ATMEG

 28-pin AVR Microcontroller

 Flash Program Memory: 32 kbytes

 EEPROM Data Memory: 1 kbytes

 SRAM Data Memory: 2 kbytes

 I/O Pins: 23

 Timers: Two 8-bit / One 16-bit

 A/D Converter: 10-bit Six Channel

 PWM: Six Channels

 RTC: Yes with Separate Oscillator

 MSSP: SPI and I²C Master and Slave Support

 USART: Yes

 External Oscillator: up to 20MHz

ADVANTAGES/ IMPROVEMENTS IN ATMEG328

1.Still runs on 5 V, so legacy 5 V stuff interfaces cleaner

2.Even though it's 5 V capable, newer parts can run to 1.8 V. This wide range is very rare.

3.Nice instruction set, very good instruction throughput compared to other processors (HCS08,
PIC12/16/18).
4.High quality GCC port (no proprietary crappy compilers!)

5."PA" variants have good sleep mode capabilities, in micro-amperes.

6.Well rounded peripheral set

7.QTouch capability

Pin diagram of ATMEGA328

Pin Descriptions table

VCC

Digital supply voltage.

GND

Ground.

Port B (PB[7:0]) XTAL1/XTAL2/TOSC1/TOSC2

Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port B
output buffers have symmetrical drive characteristics with both high sink and source capability. As inputs,
Port B pins that are externally pulled low will source current if the pull-up resistors are activated. The Port
B pins are tri-stated when a reset condition becomes active, even if the clock is not running.

Depending on the clock selection fuse settings, PB6 can be used as input to the inverting Oscillator
amplifier and input to the internal clock operating circuit.

Depending on the clock selection fuse settings, PB7 can be used as output from the inverting Oscillator
amplifier.

If the Internal Calibrated RC Oscillator is used as chip clock source, PB[7:6] is used as TOSC[2:1]
input for the Asynchronous Timer/Counter2 if the AS2 bit in ASSR is set.

Port C (PC[5:0])

Port C is a 7-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The
PC[5:0] output buffers have symmetrical drive characteristics with both high sink and source capability. As
inputs, Port C pins that are externally pulled low will source current if the pull-up resistors are activated.
The Port C pins are tri-stated when a reset condition becomes active, even if the clock is not running.

PC6/RESET

If the RSTDISBL Fuse is programmed, PC6 is used as an I/O pin. Note that the electrical characteristics
of PC6 differ from those of the other pins of Port C.

If the RSTDISBL Fuse is unprogrammed, PC6 is used as a Reset input. A low level on this pin for
longer than the minimum pulse length will generate a Reset, even if the clock is not running. Shorter pulses
are not guaranteed to generate a Reset.

The various special features of Port C are elaborated in the Alternate Functions of Port C

section.

Port D (PD[7:0])

Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port
D output buffers have symmetrical drive characteristics with both high sink and source capability. As
inputs Port D pins that are externally pulled low will source current if the pull-up resistors are activated.
The Port D pins are tri-stated when a reset condition becomes active, even if the clock is not running.

AVCC

AVCC is the supply voltage pin for the A/D Converter, PC[3:0], and PE[3:2]. It should be externally
connected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC
through a low-pass filter. Note that PC[6:4] use digital supply voltage, VCC.
Arduino Uno Borad Description

we will learn about the different components on the Arduino board. We will study the Arduino
UNO board because it is the most popular board in the Arduino board family. In addition, it is the best
board to get started with electronics and coding. Some boards look a bit different from the one given
below, but most Arduinos have majority of these components in common.
Arduino board can be powered by using the USB cable from wer computer. All
we need to do is connect the USB cable to the USB connection (1).

Power (Barrel Jack)

Arduino boards can be powered directly from the AC mains


power supply by connecting it to the Barrel Jack .

Voltage Regulator

The function of the voltage regulator is to control the voltage


given to the Arduino board and stabilize the DC voltages used by the
processor and other elements.

Crystal Oscillator

The crystal oscillator helps Arduino in dealing with time


issues. How does Arduino calculate time? The answer is, by using the
crystal oscillator. The number printed on top of the Arduino crystal is
16.000H9H. It tells us that the frequency is 16,000,000 Hertz or 16
MHz.

Arduino Reset

We can reset wer Arduino board, i.e., start wer program from
the beginning. We can reset the UNO board in two ways. First, by
using the reset button (17) on the board. Second, we can connect an
external reset button to the Arduino pin labelled RESET (5).

Pins (3.3, 5, GND, Vin)

15
 3.3V (6) − Supply 3.3 output volt

 5V (7) − Supply 5 output volt

 Most of the components used with Arduino board works fine


with 3.3 volt and 5 volt.

 GND (8)(Ground) − There are several GND pins on the


Arduino, any of which can be used to ground wer circuit.

 Vin (9) − This pin also can be used to power the Arduino
board from an external power source, like AC mains power
supply.

Analog pins

o The Arduino UNO board has five analog input pins A0 through
A5. These pins can read the signal from an analog sensor like
the humidity sensor or temperature sensor and convert it into a
digital value that can be read by the microprocessor.

Interfacing Pulse Sensor with arduino:


Description

Pulse Sensor Amped is a plug-and-play heart-


rate sensor for Arduino and Arduino
compatibles. It can be used by students, artists,
athletes, makers, and game & mobile developers
who want to easily incorporate live heart-rate
16
data into their projects. Pulse Sensor adds
amplification and noise cancellation circuitry to
the hardware. It's noticeably faster and easier to
get reliable pulse readings. Pulse Sensor Amped
works with either a 3V or 5V Arduino.

Specification

 Diameter = 0.625" (~16mm)


 Overall thickness = 0.125" (~3mm)

 Working Voltage = 3V to 5V

 Working Current = ~4mA at 5V

Pin Out – Pulse Sensor


The pulse sensor has three pins which are as described below:

 GND: Ground Pin
 VCC: 5V or 3V Pin
 A0: Analog Pin

There is also a LED in the center of this sensor module which helps in
detecting the heartbeat. Below the LED, there is a noise elimination circuitry
which is supposed to keep away the noise from affecting the readings.

17
Working – Pulse Sensor
When a heartbeat occurs blood is pumped through the human body and
gets squeezed into the capillary tissues. The volume of these capillary
tissues increases as a result of the heartbeat. But in between the
heartbeats (the time  between two consecutive heartbeats,) this volume
inside capillary tissues decreases. This change in volume between the
heartbeats affects the amount of light that will transmit through these
tissues. This change is very small but we can measure it with the help of
Arduino.

The pulse sensor module has a light which helps in measuring the pulse
rate. When we place the finger on the pulse sensor, the light reflected will
change based on the volume of blood inside the capillary blood vessels.
During a heartbeat, the volume inside the capillary blood vessels will be
high. This affects the reflection of light and the light reflected at the time of a
heartbeat will be less compared to that of the time during which there is no
heartbeat (during the period of time when there is no heartbeat or the time
period in between heartbeats, the volume inside the capillary vessels will be
lesser. This will lead higher reflection of light). This variation in light
transmission and reflection can be obtained as a pulse from the ouptput of
pulse sensor. This pulse can be then coditioned to measure heartbeat and
then programmed accordingly to read as heartbeat count.

Connect the pulse sensor with Arduino as follows

 GND pin of pulses sensor to GND of Arduino


 VCC of pulse sensor to 5V of Arduino
 A0 of pulse sensor to A0 of Arduino

18
GMR Interfacing with arduino:
 Arduino Uno board is used to build a device that is able to tell
you when a magnet is close to a given position(see the schematic
above The  2SS52M can be operated with a wide variety of input
voltages(from 3.8 V up to 30 V Connecting its leftmost pin to the
Arduino ground(black wire and its rightmost pin to the Arduino 5V
pin(red wire is enough to make it working Then we can use the
Arduino 3.3V pin as an external power supply connecting this pin
to the central pin of the sensor through a resistor chain will make
some current flowing from Arduino to the device when a magnetic
field is sensed It is important to limit such a current that must not
exceed the maximum current that the Arduino board can provide
through its pins 200 mA We must then connect
the  2SS52M central pin to the 3.3V Arduino pin by means of a
resistor of at least
R = V/I = 3.3/0.2=16.5 Ω

Of course, since we do not need a large current flowing, using much higher
values is recommended: this way the current flowing through the resistor
will be much less, reducing power consumption and heating. For example,
using a 2 kΩ resistor will cause a current of I = V/R = 3.3/2000=1.65 mA
from Arduino to the sensor. On the other hand, the voltage drop across the
resistor will still be 3.3V, independently of the current.

In the schema shown above we illustrate a possible alternative: the resistor


through which the current flows from the Arduino to the sink is made by the
series of two resistors. We then measure the voltage drop across one of
them (we then expect that we are going to read 3.3/2=1.65 V). There is no
special reason to do that, but to show how a voltage divider works!

The tricky part comes when trying to measure the voltage drop across the
resistor. Voltages can be measured using the Arduino analog pins A0-A5.
They measure a voltage up to 5 V with respect to the Arduino ground.

19
INTERFACING ESP8266 WITH ARDUINO

Introduction
ESP8266 wifi module is low cost standalone wireless transceiver that can be used
for end-point IoT developments.

ESP8266 wifi module enables internet connectivity to embedded applications. It


uses TCP/UDP communication protocol to connect with server/client.

20
ESP8266 Wi-Fi Module

To communicate with the ESP8266 wifi module, microcontroller needs to use set
of AT commands. Microcontroller communicates with ESP8266-01 wifi module
using UART having specified Baud rate (Default 115200).

To know more about ESP8266 wifi Module and its firmware refer ESP8266 WiFi
Module

Now let’s interface ESP8266 wifi Module with Arduino UNO.

Interfacing diagram

21
TCP Client using ESP8266 WiFi Module 

Let’s program Arduino UNO to configure ESP8266 wifi module as TCP Client and
Receive/Send data from/to Server using WIFI.

Here, we are using Thingspeak server for TCP Client demo purpose.

Thingspeak is an open IOT platform where anyone can visualize and analyze live
data from their sensor devices. Also, we can perform data analysis on data posted
by remote devices with Matlab code in Thingspeak. To learn more about
Thingspeak refer link https://thingspeak.com/pages/learn_more

Just sign up and create channel. We have below channel and write key available on
Thingspeak for data send and receive.

 channel ID is = yyyyyyy

 Write Key is = xxxxxxxxxxxxxxx

Note:  Do not forget to tick Make Public field in channel setting option on your


thingspeak channel. It makes channel available to use as public. This allows any
user to access channel data without any username & password.

For TCP RECEIVE method use below AT command steps shown in screenshot of


RealTerm Serial Terminal.

Below screenshot consists of AT commands (Green) and Responses (Yellow).

22
 

For TCP SEND method use below AT command steps shown in screenshot of


RealTerm Serial Terminal.

23
 

ESP8266 Response

At the client end, we need to check ESP8266 responses. We can check it on the
serial terminal of PC/Laptop. Connect ESP8266 module transmit pin (TX) to the
receive pin (RX) of Arduino UNO and to receive pin (RX) of USB to serial
converter as shown in below figure. connect USB to serial converter to PC/Laptop.
Open the serial terminal on PC/Laptop to see the ESP8266 responses for the AT
command sent from Arduino UNO.

Now for TCP SEND commands (sent from Arduino UNO module), we can see the
below response from ESP8266 on the serial terminal for the thingspeak server.

24
In response with TCP SEND we get the data entry no. as shown in above figure i.e.
1131, 1132, and so on.

For TCP RECEIVE commands (sent from Arduino UNO Module), we can see the
below response from ESP8266 on the serial terminal for the thingspeak server.

25
In response with TCP RECEIVE we get the last entry data for field 1 on
thingspeak as shown in above figure.

Note: here we are retrieving the last entry data on field1 of thingspeak server hence
we get the last updated data of field1 from server as shown in above figure
i.e. “field1”:”11”. In program, we used "GET /channels/119922/feeds/last.txt" to
receive last updated data only.

 Updates at thingspeak server on TCP SEND

For TCP SEND we can see the output at server end. Here we are using thingspeak
server and sending incremented count to the field 1 on server. We get incremented
count at field1 of thingspeak server as shown in figure below.

CREATING CHANNEL IN THING SPEAK

Create a Channel
1. Sign In to ThingSpeak™ using your MathWorks  Account, or create a
®

new MathWorks account.
2. Click Channels > MyChannels.
26
3. On the Channels page, click New Channel.
4. Check the boxes next to Fields 1–3. Enter these channel setting values:
o Name: Dew Point Measurement
o Field 1: PRESSURE
o Field 2: ANGLE X
o Field 3: ANGLE Y
o Field 4:ANGLE Z

5. Click Save Channel at the bottom of the settings.


You now see these tabs:
o Private View: This tab displays information about your channel that
only you can see.
o Public View: If you choose to make your channel publicly
available, use this tab to display selected fields and channel visualizations.
o Channel Settings: This tab shows all the channel options you set at
creation. You can edit, clear, or delete the channel from this tab.
o Sharing: This tab shows channel sharing options. You can set a
channel as private, shared with everyone (public), or shared with specific users.
o API Keys: This tab displays your channel API keys. Use the keys to
read from and write to your channel.
o Data Import/Export: This tab enables you to import and export
channel data.

CHAPTER 5
27
SOFTWARE DESCRIPTION
MATLAB
MATLAB (matrix laboratory) is a multi-paradigm numerical
computing environment and proprietary programming language developed
by MathWorks. MATLAB allows matrix manipulations, plotting of functions and
data, implementation of algorithms, creation of user interfaces, and interfacing with
programs written in other languages.

Although MATLAB is intended primarily for numerical computing, an optional


toolbox uses the MuPAD symbolic engine allowing access to symbolic
computing abilities. An additional package, Simulink, adds graphical multi-domain
simulation and model-based design for dynamic and embedded systems.

As of 2018, MATLAB has more than 3 million users worldwide.[16] MATLAB


users come from various backgrounds of engineering, science, and economics.

Interfacing with other languages

MATLAB can call functions and subroutines written in the programming


languages C or Fortran.[35] A wrapper function is created allowing MATLAB data
types to be passed and returned. MEX files (MATLAB executables) are the
dynamically loadable object files created by compiling such functions.[36][37] Since
2014 increasing two-way interfacing with Python was being added.[38][39]

Libraries written in Perl, Java, ActiveX or .NET can be directly called from


MATLAB,[40][41] and many MATLAB libraries (for example XML or SQL support)
are implemented as wrappers around Java or ActiveX libraries. Calling MATLAB
from Java is more complicated, but can be done with a MATLAB toolbox[42] which
is sold separately by Math Works, or using an undocumented mechanism called
JMI (Java-to-MATLAB Interface),[43][44] (which should not be confused with the
unrelated Java Metadata Interface that is also called JMI). Official MATLAB API
for Java was added in 2016.[45]

28
As alternatives to the MuPAD based Symbolic Math Toolbox available from Math
Works, MATLAB can be connected to Maple or Mathematica.[46][47]

Libraries also exist to import and export MathML

Arduino Development Environment


The Arduino development environment 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
hardware to upload programs and communicate with them.

Writing Sketches

Software written using Arduino are called sketches. These sketches are


written in the text editor. Sketches are saved with the file extension
.ino. It 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
environment including complete error messages and other information.
The bottom righthand corner of the window displays the current board
and serial port. The toolbar buttons allow you to verify and upload
programs, create, open, and save sketches, and open the serial monitor.

29
NB: Versions of the 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.

The Arduino environment uses the concept of a sketchbook: a standard


place to store your programs (or sketches). The sketches in your
sketchbook can be opened from the File Sketchbook menu or from
the Open button on the toolbar. The first time you run the Arduino
software, it will automatically create a directory for your sketchbook.
You can view or change the location of the sketchbook location from
with the Preferences dialog.
'''Beginning with version 1.0, files are saved with a .ino file extension.
Previous versions use the .pde extension. You may still open .pde
named files in version 1.0 and later, the software will automatically
rename the extension to .ino.

Tabs, Multiple Files, and Compilation

Allows you to manage sketches with more than one file (each of which
appears in its own tab). These can be normal Arduino code files (no
extension), C files (.c extension), C++ files (.cpp), or header files (.h).

Uploading

Before uploading your sketch, you need to select the correct items from
the Tools Board and Tools Serial Portmenus. The boards are described
below. On the Mac, the serial port is probably something
like /dev/tty.usbmodem241(for an Uno or Mega2560 or Leonardo)

30
or /dev/tty.usbserial-1B1 (for a Duemilanove or earlier USB board),
or/dev/tty.USA19QW1b1P1.1 (for a serial board connected with a
Keyspan USB-to-Serial adapter). On Windows, it's
probably COM1 or COM2 (for a serial board)
or COM4, COM5, COM7, or higher (for a USB board) - to find out,
you look for USB serial device in the ports section of the Windows
Device Manager. On Linux, it should be /dev/ttyUSB0,/dev/ttyUSB1 or
similar.
Once you've selected the correct serial port and board, press the upload
button in the toolbar or select the Upload item from the File menu.
Current Arduino boards will reset automatically and begin the upload.
With older boards (pre-Diecimila) that lack auto-reset, you'll need to
press the reset button on the board just before starting the upload. On
most boards, you'll see the RX and TX LEDs blink as the sketch is
uploaded. The Arduino environment will display a message when the
upload is complete, or show an error.
When you upload a sketch, you're using the Arduino bootloader, a
small program that has been loaded on to the microcontroller on your
board. It allows you to upload code without using any additional
hardware. The bootloader is active for a few seconds when the board
resets; then it starts whichever sketch was most recently uploaded to
the microcontroller. The bootloader will blink the on-board (pin 13)
LED when it starts (i.e. when the board resets).

Libraries

31
Libraries provide extra functionality for use in sketches, e.g. working
with hardware or manipulating data. To use a library in a sketch, select
it from the Sketch Import Library menu. This will insert one or
more  statements at the top of the sketch and compile the library with
your sketch. Because libraries are uploaded to the board with your
sketch, they increase the amount of space it takes up. If a sketch no
longer needs a library, simply delete it from the top of your code.
There is a list of libraries in the reference. Some libraries are included
with the Arduino software. Others can be downloaded from a variety of
sources. Starting with version 1.0.5 of the IDE, you do can import a
library from a zip file and use it in an open sketch. See
these instructions for installing a third-party library.

PROGRAMMING
The Arduino Uno can be programmed with the Arduino software
(download). Select "Arduino Uno from the Tools Board menu
(according to the microcontroller on your board). For details, see
the reference and tutorials.

32
The ATmega328 on the Arduino Uno comes preburned with
a bootloader 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 bootloader 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
bootloader, 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.
 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 bootloader). See this user-contributed tutorial for more
information.

Automatic (Software) Reset

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

33
reset line of the ATmega328 via a 100 nanofarad 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 bootloader 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 bootloader 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;
see this forum thread for details.

34
CHAPTER 6
RESULTS

35
CHAPTER 7
CONCLUSION
The glaucoma disease arise because of increased AH fluid production or
schlemms’s canal blockage in eye. The open and closed angle glaucoma
detection at early stage is difficult because of similar symptoms of vision
problem and glaucoma eye. The earlier detection of glaucoma eye via AH
fluid bio magnetic signal property analyze with RADWT algorithm for AH
fluid static, dynamic property for closure angle and open angle respectively
in phantom and human eye. The AH fluid in phantom analyse for
biomagnetic signal variance analogous to location iris and lens in human
eye is done.

36
REFERENCE

1. Y. C. Tham, X. Li, T. Y. Wong, H. A. Quigley, T. Aung, and C. Y. Cheng, “Global


prevalence of glaucoma and projections of glaucoma burden through 2040: A
systematic review and meta-analysis,” J. Ophthalmology, vol. 121, no. 11, pp.
2081–2090, 2014.

2. American Optometric Association, “Glaucoma” https://www.aoa.org/patients-and-


public/eye-and-vision-problems/glos sary-of-eye-and-vision-conditions/glaucoma,
Access Date: 1 May 2019

37
3. Downs, J. C., Roberts, M. D., & BURGOYNE, C. F. (2008). “Mechanical Environment of
the Optic Nerve Head in Glaucoma”. Optometry and Vision Science, 85(6), E425–
E435.

4. Jonas JB, Budde WM, “Diagnosis and Pathogenesis of Glaucomatous Optic


Neuropathy: Morphological Aspects”, Prog Retin Eye Res, 2000;19:1–40

5. American Academy of Opthalmology, “Clinical Evaluation of the Optic Nerve Head”,


https://www.aao.org/bcscsnippetdetail.aspx?id=ee28fa7a-e1f7-4495-9 9a4-
7828a800fcd2, Access Date: 3 May 2019

6. Naida Jakirlic ,”Optic Nerve Evaluation in Glaucoma‘, California Optometric


Association”, 2016

7. Downs, J. C., Roberts, M. D., & BURGOYNE, C. F. (2008). “Mechanical Environment of


the Optic Nerve Head in Glaucoma”. Optometry and Vision Science, 85(6), E425–
E435.

8. Susanna Jr R, Medeiros FA, “Ophthalmoscopic aspects of the optic nerve in glaucoma:


Normal optic disc”, Rio de Jenerio: Cultura Médica, 2006, 1–12.

9. Hoffmann EM, Zangwill LM, Crowston JG, Weinreb RN. “Optic disk size and
glaucoma”. Surv Ophthalmol.2007;52(1):32–
49.doi:10.1016/j.survophthal.2006.10.00 2.

10. Peter E. Libre, MD, Norwalk, Conn. “Revisiting the Importance of Disc Size, Review of
Ophthalmology”, 2004.

11. Spaeth GL, Lopes JF, Junk AK, et al., “Systems for staging the amount of optic nerve
damage in glaucoma: A critical review and new material”, Surv Ophthalmol, 2006;
51:293–315.

12. Fingeret M, Medeiros FA, Susanna Jr R, Weinreb RN, “Five rules to evaluate the optic
disc and retinal nerve fiber layer for glaucoma”, Optometry, 2005;76:661–8.

13. Linda Yi-Chieh Poon, David Solá-Del Valle, Angela V. Turalba, Iryna A. Falkenstein,
Michael Horsley, Julie H. Kim, Brian J. Song, Hana L. Takusagawa, Kaidi Wang,
Teresa C. Chen, “The ISNT Rule: How Often Does It Apply to Disc Photos and

38
Retinal Nerve Fiber Layer Measurements in the Normal Population”, Am J
Ophthalmol, 2018.

14. W. Ruengkitpinyo ; W. Kongprawechnon ; T. Kondo ; P. Bunnun ; H. Kaneko ,


“Glaucoma screening using rim width based on ISNT rule”, IEEE 2015 6th
International Conference of Information and Communication Technology for
Embedded Systems (IC-ICTES).

15. Andrew J. Tatham; Robert N. Weinreb; Linda M. Zangwill; Jeffrey M. Liebmann;


Christopher A. Girkin; Felipe A. Medeiros,”The Relationship Between Cup-to-Disc
Ratio and Estimated Number of Retinal Ganglion Cells”, Investigative
ophthalmology and visual science, 2013.

39
40

You might also like