SlideShare a Scribd company logo
1 of 45
ABSTRACT
Visually impaired people face difficulties in interacting and gaining full advantage of computers.
Recently, and with the fast evolution in technology, researchers proposed to give the blinds the
ability to take advantage of these advancements. Accordingly, designers and engineers started
working on projects that relate input and output devices to the computers in order for the blind
individual to have full control of the hi-tech machines. However, investments in these kinds of
hardware presented complexity in the design, in addition to the high cost imposed by the devices
used. The project’s objective is to design and develop a Braille System Output Device for the
visually impaired individuals that enable them to access and read texts from a computer. The
device acquires English texts and dis- plays them using controlled servo motor.. The control of
servo motor is done via Programmable Interface Controller (PIC) microcontroller. The
interaction between the devices is done through the GSM. C is the language used to write the
program responsible for controlling this interaction. The continuous development of such devices
is essential for the visually impaired to keep up with the technological advancements. The main
advantages of this system are its low cost, the added multi-lingual, and the audio features. In
addition, many features can be added so as to satisfy the users’ needs, such as adding new
languages.
INTRODUCTION
This project aims to develop a low cost gesture controlled device for the blind. The need
for devices for aiding the physically challenged has been on demand. A text to Braille converter
is intended to aid the blind to interact with computers at workplaces and homes. Though several
such devices are available, the cost is a limiting factor. Blind people face a great difficulty in
receiving computer education due to the lack of low cost technological support. Facilities for the
sightless have been organized in different places for providing reading facilities to the blind.
These centers maintain archives of reading materials (literature, science, etc.) in the form of
Braille coded texts. However, such centers suffer from a number of practical difficulties such as
severely constrained economic resource. This project makes use of embedded based on PIC
16F877A micro controller which is the main part of the system. We make use of Flex sensors
.For each finger flex sensors are connected. Flex sensor plays a very important role in this
design. Flex sensors are analog resistors. They work as analog voltage dividers. Carbon resistive
elements within a thin flexible substrate are present inside the flex sensor. When the substrate is
bent, sensor produces a relative output proportional to the bent radius. Flex sensors are sensors
that changes resistance depending on the amount of bend on the sensor. They convert the change
in bent to electrical resistance. The more the bend, more the resistance value. They are often used
in gloves to sense finger movement. There are transmitter as well as receiver section. In the
transmitter side flex sensor output signal is fed to low pass filter and is undergone signal
processing. Next, signal is fed to ADC for A2D conversion. Corresponding value will be fed to
the controller. From controller section this corresponding value is fed to the receiver side with
the help of GSM module; this much is carry out with first circuit board. And when GSM modem
receives a character the value received is fed to the input of Servo motors by microcontroller.
And thus as per the output of ADC values of flux sensor; the connected six servo motor show its
variations as the output of this project.
BLOCK
DIAGRAM
16X2
LINE LCD DISPLAY
P
I
C
1
6
F
8
7
7
A
IMPEDENCE
BUFFER
FLEX SENSOR2
FLEX SENSOR1
SERVO MOTROR
GSM MODEM
INTERFACE
GSM MODEM
POWER SUPPLY
BLOCK DIAGRAM DESCRIPTION
B
Block diagram consists of seven blocks 1) Microcontroller
2) Flex Sensor
3) Impedance Buffer
4) Servo Motor
5) 16x2 Line Display
6) GSM Modem interface
7) GSM Modem
8) Power Supply
1) Microcontroller
Microcontroller as its CPU. The PIC 16F877A is a low-power, high-performance CMOS 8-bit
microcomputer with 8K words of Flash Programmable and Erasable Read Only Memory
(PEROM). The device is manufactured using Microchip’s high density nonvolatile memory
technology and is compatible with its RISC instruction. The on-chip Flash allows the program
memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer.
By combining a versatile 8-bit CPU with Flash on a monolithic chip, the PIC 16F877A is a
powerful microcomputer which provides a highly flexible and cost effective solution for many
embedded control applications.
PIN DIAGRAM OF PIC16F877A
MICROCONTROLLER CORE FEATURES
• High performance RISC CPU
• Only 35 single word instructions to learn
• All single cycle instructions except for program branches which are two cycle
• Operating speed: DC - 20 MHz clock input DC - 200 ns instruction cycle
• Up to 8K x 14 words of FLASH Program Memory, Up to 368 x 8 bytes of Data Memory
(RAM) Up to 256 x 8 bytes of EEPROM Data Memory
• Pin out compatible to the PIC16C73B/74B/76/77
• Interrupt capability (up to 14 sources)
• Eight level deep hardware stack
• Direct, indirect and relative addressing modes
• Power-on Reset (POR)
• Power-up Timer (PWRT) and Oscillator Start-up Timer (OST)
• Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation
• Programmable code protection
• Power saving SLEEP mode
• Selectable oscillator options
• Low power, high speed CMOS FLASH/EEPROM technology
• Fully static design
• In-Circuit Serial Programming (ICSP) via two pins
• Single 5V In-Circuit Serial Programming capability
• In-Circuit Debugging via two pins
• Processor read/write access to program memory
• Wide operating voltage range: 2.0V to 5.5V
• High Sink/Source Current: 25 mA
• Commercial, Industrial and Extended temperature ranges
• Low-power consumption:
- < 0.6 mA typical @ 3V, 4 MHz
- 20 μA typical @ 3V, 32 kHz
- < 1 μA typical standby current
PERIPHERAL FEATURES:
• Timer0: 8-bit timer/counter with 8-bit prescaler
• Timer1: 16-bit timer/counter with prescaler, can be incremented during SLEEP via
external crystal/clock
• Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler
• Two Capture, Compare, PWM modules
• Capture is 16-bit, max resolution is 12.5 ns
• Compare is 16-bit, max resolution is 200 ns
• PWM max resolution is 10-bit
• 10-bit multi-channel Analog-to-Digital converter
• Synchronous Serial Port (SSP) with SPI (Master mode) and I2C (Master/Slave)
• Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit
address detection
• Parallel Slave Port (PSP) 8-bits wide, with external RD, WR and CS controls (40/44-pin
only)
• Brown-out detection circuitry for Brown-out Reset (BOR)
2) Flex Sensor
Flex sensor is simply a resistor which its resistance depending on bend radius.
Features: - Angle Displacement Measurement
- Bends and Flexes physically with motion device
- Possible Uses
- Robotics
- Gaming (Virtual Motion)
- Medical Devices
- Computer Peripherals
- Musical Instruments
- Physical Therapy
- Simple Construction
3) Impedance Buffer
The impedance buffer is a single sided operational amplifier, used with these Sensors
because the low bias current of the op-amp reduces error due to source impedance of the flex
sensor as Voltage divider. Suggested op amps are the LM358 or LM324.
4) Servo Motor
Servo Motor uses error sensing negative feedback to control the precise angular
position. Servos are used for precise positioning in robotic arms, legs, RC Aero
planes, Helicopters etc. Please read the article Servo Motor for more information about its
working and construction. Hobby Servo Motors have three wires, two of them (RED and
BLACK) are used to given power and the third one is used to give control signals. Servo can be
easily being controlled using microcontrollers using Pulse Width Modulated (PWM) signals on
the control wire. Here we are using a servo whose angular rotation is limited to 0 – 180°. We can
control the exact angular position by using a pulse, whose width varying from 1 millisecond to 2
millisecond on the control wire.
4) 16x2 line Lcd Display
LCD display unit helps user to manage and monitor operation very easily. It is a 20X4 lines
alpha numeric display unit displays all events which lead this as menu driven operation. More
details about it are given below.
FEATURES
• Easy interface with a 4/8-bit MPU.
• Built-in dot matrix LCD controller with font 5x7 or 5x10 dots.
• Display data RAM for 80 characters(80x8 bits).
• Character generator ROM which provide 160 characters.
• Both DD ram and CG ram can be read from MPU.
• Internal automatic reset circuit at power on.
• Built-in oscillator circuit.
• Wide range of instruction functions: clear display, cursor home, display on/off, sources
shift, etc.
When connecting the LCD module to a parallel I/O device, the burden of ensuring
proper operation falls on the software. Incorrect combination of data bus direction and R/W pin
logic can irreversibly damage the module. At the interface of LCD module, there are three power
supply terminals- Vdd, GND, Vo. The LCD is driven by the voltage which is determined by Vdd-
Vo. Since the optimum voltage for LCD shifts according to temperature changes, voltage at Vo
terminal needs to be adjusted.
The data bus lines DB7-DB0 has the capacity of driving one TTL of capacitance
130pF. The data bus terminals have tri-state construction. When the enable signal is at the low
level, these data bus terminals will remain in a high impedance state. The data bus terminals has
pull-up MOS: so, when the data bus is open, it produces a high output voltage. When the busy
flag is at a high level, it indicates that the controller is in the internal operation mode and the next
instruction will not be accepted. The next instruction must be written after the busy flag goes
low.
ADDRESS COUNTER (AC)
The address counter generates address for DD RAM, CG RAM and for the cursor
display. When an instruction code for DD RAM or CG RAM address is written to the controller
after deciding whether it is DD RAM or CG RAM, the address information is transferred to the
AC. After writing into or reading from DD RAM or CG RAM, AC is automatically incremented
or decremented. The data of the AC is output to the DB0-DB6, when RS is 0 and R/W is 1.
CHARACTER GENERATOR MEMORY
The CG ROM generates 5x7 dot or 5x10 dot character patterns from the 8-bit character
codes. It can generate 160 types of 5x7 dot character patterns. When the 8-bit character code of a
CG ROM is written to the DD RAM, the character pattern of the CG ROM corresponding to the
code is displayed on the LCD display position corresponding to the DD RAM.
The CG RAM is the RAM with which the user can generate character patterns by
programs. The CG RAM has the capacity to store 8 kinds of 5x7 dots.
DISPLAY DATA RAM
The DD RAM stores the display data represented by 8-bit character codes. Its capacity
is 80 characters. Depending on the 8-bit character code that is written to the DD RAM LCD will
select the character pattern either from the CG ROM or CG RAM.
The cursor is under the control of the microcontroller program. The display of the
cursor on the LCD is made at a position corresponding to the DD RAM address given to the AC.
The timing generation circuit is used to generate timing signals to operate on the internal
operations upon reception of the microcontroller instructions and also for such internal circuits as
the CG RAM, DD RAM and CG ROM.
It is so designed that the external operation by the accessing MP3 will not interfere
with the internal operation of the LCD display. Therefore, when writing data to the DD RAM, for
example, there will be no undesirable influence, such as flickering on the display area. In
addition, this circuit also generates the transfer signal to the externally connected driver chips
display character expansion.
INSTRUCTION CODE
The instruction code is a command set through which the LCD module is controlled by
the MPU. Prior to the internal execution of the instruction code, control information is
temporarily stored in the internal registers of the module, to allow interface of various types of
MPU, which operate at different speeds. The LCD module begins its operation upon the
reception of instruction codes from the MPU.
Different instruction codes and various abbreviations are as below:
S=1 : Accompanies display shift when data is written, for normal operation set to 0.
I/D=1/0: Increment/decrement
DL=1/0: 8-bits/4-bits
S/C=1/0: Display shift/cursor move
N=1/0: 2 line/1 line
R/L=1/0: Shift to the right/ shift to the left
F=1/0: 5x10 dots/ 5x7 dots
BF=1/0: Internally operating/ can accept instruction.
*: Don’t care
B=1/0: Blinking on/ off
C=1/0: Cursor on/off
D=1/0: Display on/off
CG RAM: Character generator RAM
DD RAM: Display data RAM
CG0-CG5: CG RAM address
DD0-DD6: DD RAM address corresponds to cursor address
BA0-BA6: address counter used for both DD RAM and CG RAM address
5) GSM Modem Interface
MAX232
To allow compatibility among communication equipment made by various manufactures, an
interfacing standard called RS232 was set by the Electronics Industries Association (EIA) in
1960. Since the RS232 standard is not suitable with today’s microprocessors and
microcontrollers, we need a line driver (voltage converter) to convert the RS232 levels to TTL
voltage levels that will be acceptable to 8051’s TXD and RXD pins. One of such converter is
MAX232 from Maxim Corp. On advantage of MAX232 chip is that it uses a +5V power source
which is same as the source voltage for 8051. MAX232 converts TTL logic levels to RS232
logic levels and vice versa. In RS232, a 1 is represented by -3V to +25V, while a 0 bit is +3V to
+25V, making -3 to +3 undefined. For this reason, to connect any Rs232 to a microcontroller
system we must use voltage converters such as MAX232.
PIN DIAGRAM OF MAX 232
General Description
The MAX220–MAX249 family of line drivers/receivers is intended for all EIA/TIA-232E and
V.28/V.24 communications interfaces, particularly applications where ±12V is not available.
These parts are especially useful in battery-powered systems, since their low-power shutdown
mode reduces power dissipation to less than 5µW. The MAX225,
MAX233, MAX235, and MAX245/MAX246/MAX247 use no external components and are
recommended for applications where printed circuit board space is critical.
Applications
Portable Computers
Low-Power Modems
Interface Translation
Battery-Powered RS-232 Systems
Multidrop RS-232 Networks
Features
Superior to Bipolar
• Operate from Single +5V Power Supply (+5V and +12V—MAX231/MAX239)
•Low-Power Receive Mode in Shutdown (MAX223/MAX242)
• Meet All EIA/TIA-232E and V.28 Specifications
•Multiple Drivers and Receivers
•3-State Driver and Receiver Outputs
• Open-Line Detection (MAX243)
6) GSM MODEM
GSM (Global System for Mobile Communications, originally Group Special Mobile), is a
standard set developed by the European Telecommunications Standards Institute (ETSI) to
describe protocols for second generation (2G) digital cellular networks used by phones. it is the
most popular standard for mobile phones in the world. It is a wireless MODEM – just like dial-
up MODEM, which works with GSM wireless network. But there is a difference between dial-up
MODEM and wireless MODEM. Dial-up MODEM send and receives data through a fixed
telephone line while wireless MODEM send and receive data through radio waves.
Microcontrollers use AT commands to control modems. RS232 serial interface is used for
interfacing the GSM modem with a microcontroller. This interface is used to setup the GSM
modem.
One of the key features of GSM is the Subscriber Identity Module (SIM), commonly known as a
SIM card. The SIM is a detachable smart card containing the user's subscription information and
phone book. This allows the user to retain his or her information after switching handsets.
Alternatively, the user can also change operators while retaining the handset simply by changing
the SIM. Some operators will block this by allowing the phone to use only a single SIM, or only
a SIM issued by them; this practice is known as SIM locking, and is illegal in some countries.
FEATURES
•Quad Band GSM/GPRS 850/900/1800/1900 MHz
• GPRS multi-slot class 10/8
• GPRS Mobile station class B
• Compliant to GSM Phase 2/2+ Class 4 (2W@850/900Mhz) Class 1(1W@1800/1900Mhz)
• Control via AT commands (GSM 07.07, 07.05 and enhanced AT commands)
• Operation Temperature (-20 deg to +55 deg c)
Specification for SMS
• Point-to-point MO and MT
• SMS cell broadcast
• Text and PDU mode
Getting started
• Insert SIM card: Press the yellow pin to remove the tray from the SIM cardholder. After
properly fixing the SIM card in the tray, insert the tray in the slot provided.
• Connect Antenna: Screw the RF antenna on the RF cable output provided.
• If voice call is needed, connect the mic and speaker to stereo sockets.
• Connect RS232 Cable: (Cable provided for RS232 communication) Default baud rate is 9600
with 8-N-1, no hardware handshaking. Cable provided has pins 7 and 8 shorted that will set to no
hardware handshaking. In you need hardware handshaking the pins 7-8 can be taken for
signaling.
• Pin 2 is RS232 level TX out
• Pin 3 is RS232 level RX in
• Pin 5 is Ground
• Pin 7 RTS in (shorted to pin 8 in cable for no hardware handshaking)
• Pin 8 CTS out (shorted to pin 7 in cable for no hardware handshaking)
• Connect the power Supply (9-12V) to the power jack. Polarity should be Center +ve and
Outer –ve DC jack.
• Network Led indicating various status of GSM module eg. Power on, network registration &
GPRS connectivity.
• After the Modem registers the network, led will blink in step of 3 seconds. At this stage you can
start using Modem for your application.
• AT commands set section is covered in following document
7) Power Supply
The power supply is the most indispensable part of any project. IC regulators are versatile and
relatively inexpensive and are available with features such as current/voltage boosting, internal
short circuit current limiting, thermal shutdown and floating operation for high voltage
applications. The regulated circuit is used to maintain constant output level. The integrated
circuit regulator, sometimes called the three terminal regulators contains the circuitry for
reference source error amplitude control device and overload protection all in a single IC chip.
The regulator IC here used isL7805. It provides regulated 5V to the controller. Its maximum
input voltage is 35V and minimum voltage is 8V. Output is constant 5V.
The L7800 series of three-terminal positive regulators is available in TO-220, TO-220FP,
TO-3 and D2PAK packages and several fixed output voltages, making it useful in a wide range
of applications. These regulators can provide local on-card regulation, eliminating the
distribution problems associated with single point regulation. Each type employs internal current
limiting, thermal shut-down and safe area protection, making it essentially indestructible. If
adequate heat sinking is provided, they can deliver over 1A output current. Although designed
primarily as fixed voltage regulators, these devices can be used with external components to
obtain adjustable voltages and currents.
Features
Different packages of 7805
•output current up to 1.5 A
• output voltages of 5; 5.2; 6; 8; 8.5; 9; 12; 15; 18; 24V
• Thermal overload protection
•Short circuit protection
• Output transition SOA protection
• Maximum input voltage =35V (for Vo=5 to 18V),
=40V (for Vo=20 to 24V)
CIRCUIT DIAGRAM
D 1
5 V 1
J S 1
FLEXSENSOR
1
21
2
+ 5 V
S 2
M 2 lim it
+ 5 V
J S 3
S E R V O M O T O R 1
1
2
3
VCC
TXI/P
GND
G S M IN T E R F A C E
C IR C U IT
C 2
2 2 u F / 2 5 V
J S 4
S E R V O M O T O R 2
1
2
3
VCC
TXI/P
GND
0
L C D 1
L C D 1 6 x 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1 5
1 6
V s s
V c c
V e e
RS
G N D
E
D0
D1
D2
D3
D4
D5
D6
D7
L A M P
G N D
R 1
1 0 0
0 0
0
G N D
I C 1
M A X 2 3 2
1 3
8
1 1
1 0
1
3
4
5
2
6
1 2
9
1 4
7
1 6
1 5
R 1 I N
R 2 I N
T 1 I N
T 2 I N
C +
C 1 -
C 2 +
C 2 -
V +
V -
R 1 O U T
R 2 O U T
T 1 O U T
T 2 O U T
V C C
G N D
0
0
+
-
B U Z 1
B U Z Z E R
+ 5 V
C 2
2 2 P
I C 2 A
L M 3 5 8
3
2
84
1
+
-
V+V-
O U T
R X D
T X D
G N D
P O R T 1
5
3
2
+ 1 2 V
V R 1
1 0 K
+ 5 V
C 3
0 . 1 u F
0
0
R 3
4 7 0 K
Y 1
2 0 M H z
0
V C C
I C 1
P I C 1 6 F 8 7 7 A
1
11
12
1 3
1 4
2 3
2 4
2 5
2 6
31
32
2
3
4
5
6
7
2 2
8
1 5
1 6
1 7
1 8
9
1 0
3 3
3 4
3 5
3 6
3 7
3 8
3 9
4 0
1 9
2 0
2 1
2 7
2 8
2 9
3 0
M C L R / V P P
VDD
VSS
O S C 1 / C L K I N
O S C 2 / C L K O U T
R C 4 / S D I / S D A
R C 5 / S D O
R C 6 / T X / C K
R C 7 / R X / D T
VSS
VDD
R A 0 / A N 0
R A 1 / A N 1
R A 2 / A N 2 / V r e f - / C V r e f
R A 3 / A N 3 / V r e f +
R A 4 / T O C K I / C 1 o u t
R A 5 / A N 4 / S S / C 2 o u t
R D 3 / P S P 3
R E 0 / R D / A N 5
R C 0 / T 1 O S O / T 1 C K I
R C 1 / T 1 O S I / C C P 2
R C 2 / C C P 1
R C 3 / S C K / S C L
R E 1 / W R / A N 6
R E 2 / C S / A N 7
R B 0 / I N T
R B 1
R B 2
R B 3 / P G M
R B 4
R B 5
R B 6 / P G C
R B 7 / P G D
R D 0 / P S P 0
R D 1 / P S P 1
R D 2 / P S P 2
R D 4 / P S P 4
R D 5 / P S P 5
R D 6 / P S P 6
R D 7 / P S P 7
0
C 5
2 2 u F / 2 5 V
J S 1
FLEXSENSOR
1
21
2
0
R 3
4 7 0 K
C 1
2 2 P
C 6
2 2 u F / 2 5 V
R 2
2 2 0 E 0 . 5 W
0
S 1 M 1 lim it
C 4
0 . 1 u F
0
I C 2 A
L M 3 5 8
3
2
84
1
+
-
V+V-
O U T
0
+ 5 V
0
+ 5 V
C 1
2 2 u F / 2 5 V
D 4
0
C 9
4 7 0 u F
0
I C 3
L M 7 8 0 5 C
I N O U T
GND
0
D 1 D 1 N 4 0 0 7
0
P O W E R S U P P L Y
C 1 3
1 0 0 0 u F
D 2 D 1 N 4 0 0 7
0
Z D 1
5 V 1C 1 0
0 . 1 u F
GND
0
+ 1 2 V
0
T 1
M A I N P O W E R
1
2
3
C 1 2
0 . 1 u F
V C C
L E D 6
P O W E R
0 0
R 8
1 K
0
C 1 1
0 . 1 u F
+ 5 V
D 3
1 N 4 0 0 7
0
+ 5 V
CIRCUIT DIAGRAM DESCRIPTION
In our circuit, PIC16F877A Microcontroller constitutes the heart of the system, which control all
other blocks. It is achieved through its inbuilt port pins. There are 5 ports named as A, B, C, D
and E having 33 pins. Port A-6pins, port B-8 pins, port C-8 pins, port D-8 pins and port E-3 pins.
All these port pins are bidirectional and bit addressable. By utilizing its port’s feature, any device
can control by any port, thus hardware design become very simple.
Pin 13 and 14 of controller are connected to a crystal, which generates system clock.
Oscillator circuit is on-chip and it requires crystal and decoupling capacitors only. It is the
essential external circuit for the controller. It is a simple crystal and decoupling capacitor which
act as system clock generator. It’s like heart beats in a human body. Its maximum frequency is up
to 20MHz and can use any frequency below the value. The 22pf disc capacitors connected across
crystal pins and GND are for canceling harmonic noises. These value of capacitors are taken
according to the direction given in datasheet
Reset pin is the first pin (MCLR) of this controller, and is used to restart the system
without power off. It’s is an active low pin and kept high using a resistor, across the pin and
VCC. Pin 11, 32 and 12, 31 are power pins and connected to +5V and Ground respectively.
The initialization of different ports and pins of the microcontroller chip in our circuit is described
below.
PORT B is connected to LCD display as its data bus. PORT D pins PD.7 and PD.6 are connected
to LCD’s control inputs. Microcontroller sends display data and control signals through port
pins. LCD requires ASCII data for displaying symbols. It will generated by Microcontroller
program. Figure below shows the LCD display circuit.
LCD has 16 pins which are classified as
power, data bus, contrast control and back
light. Power pins are connected to +5V and
1 6 X 2
L C D 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
V s s
V c c
V e e
RS
R / W
LE
D0
D1
D2
D3
D4
D5
D6
D7
LAMP
GND
0
GND
G N D
V R 1
1 0 K
R 1
1 0 0
+ 1 2 V
0
V C C
GND. Data bus is connected to port 1 of controller. Back light pins are biased from 12V using a
series resistor 220E 1/2W. LCD receives ASCII data and display alphabets, numbers, symbols,
etc. PORT 1 is connected to LCD display as its data bus. PORT 3 pins P3.2 and P3.3 are
connected to LCD’s control inputs. Microcontroller sends display data and control signals
through port pins. LCD requires ASCII data for displaying symbols. It will generated by
Microcontroller program.
LCD serves as a useful interface for the user. The LCD here used has 16 character x 2 line
display facility. It has 16 pins. Pin 1 and 2 are GND and VCC respectively. Pin 3 is VEE which is
used for controlling LCD contrast. Contrast line is connected to voltage divider using preset.
Contrast can vary by this preset.
There are two important registers inside the LCD, command register and data/display register.
The RS pin is used for their selection. If RS=0, the instruction command code register selected,
allowing the user to send commands such as clear display, cursor at home, etc. If RS=1, the data
register is selected, allowing the user to send data to be displayed on the LCD.
The fifth pin R/W input allows the user to write information to the LCD or read information
from it. R/W=1 when reading and, R/W=0 when writing. In our system only writing is
performed and this pin is connected to GND. When data is supplied to data pins a high to low
pulse must be applied to this pin in order for the LCD to latch interfacing the data present at the
data pins. This pulse must be a minimum of 450ns. The eight bit data pins, D0 to D7, are used to
send information to the LCD or read contents of the LCDs internal registers. To display letters
and numbers we send ASCII codes for the letters A-Z, a-z, numbers 0-9 to these pins while
making RS=1. The pins 15 and 16 are used as supply pins of backlight. A +12V is connected to
pin 15 via a 100/220E 1/2W resistor and pin 16 is grounded.
The data bus lines DB7-DB0 has the capacity of driving one TTL of capacitance 130pF. The
data bus terminals have tri-state construction. When the enable signal is at the low level, these
data bus terminals will remain in a high impedance state. The data bus terminals has pull-up
MOS: so, when the data bus is open, it produces a high output voltage. When the busy flag is at a
high level, it indicates that the controller is in the internal operation mode and the next
instruction will not be accepted. The next instruction must be written after the busy flag goes
low.
FLEX SENSOR INTERFACCE
MAX232
MAX232 is used to convert TTL logic levels to RS232 logic levels and vice versa. To allow
compatibility among communication equipment made by various manufactures, an interfacing
standard called RS232 was set by the Electronics Industries Association (EIA) in 1960. Since the
RS232 standard is not suitable with today’s microprocessors and microcontrollers, we need a line
driver (voltage converter) to convert the RS232 levels to TTL voltage levels that will be
acceptable to 8051’s TXD and RXD pins. One of such converter is MAX232 from Maxim Corp.
On advantage of MAX232 chip is that it uses a +5V power source which is same as the source
voltage for 8051. In RS232, a 1 is represented by -3V to +25V, while a 0 bit is +3V to +25V,
making -3 to +3 undefined. For this reason, to connect any Rs232 to a microcontroller system
we must use voltage converters such as MAX232.
GSM
INTERFACE CIRCUIT
The Max232 has two sets of line drivers for transferring and receiving data. The line driver used
for TXD are called T1 and T2, and that for RXD are called R1 and R2.In many applications only
one of them is used. For example, T1 and R1 are used together for TXD and RXD of the
microcontroller, and the second set is left unused. In MAX232 the T1 line driver has a
designation of T1 IN and T1 OUT on pin numbers 11&14, respectively. The T1 IN pin is the
TTL side and is connected to TXD of the microcontroller while T1 OUT is the RS232 side and is
connected to the RXD pin of the RS232 DB connector. The R1 line driver has the designation of
R1 IN and R1 out on pin numbers13 and 12 respectively. The R1 IN pin is the RS232 side and is
connected to the TXD pin of the RS232 DB connector, and R1 out pin is the TTL side that is
connected to RXD pin of the microcontroller.
MAX232 requires four capacitors ranging from 1 to22uF.The most widely used value for
these capacitors is 22uF.
POWER SUPPLY
The power supply for the various part of the circuit is drawn from the circuit as shown in
the fig.
C 6
2 2 u F / 2 5 V
0
C 4
0 . 1 u F
0
D 1
5 V 1
C 1
2 2 u F / 2 5 V
0
V C C
0
C 2
2 2 u F / 2 5 V
R X D
T X D
G N D
P O R T 1
5
3
2
0
C 3
0 . 1 u F
C O N 1
T O M A I N
2
1
3
4
R X D
T X D
G N D
+ 5 V
G N D
I C 1
M A X 2 3 2
1 3
8
1 1
1 0
1
3
4
5
2
6
1 2
9
1 4
7
1 6
1 5
R 1 I N
R 2 I N
T 1 I N
T 2 I N
C +
C 1 -
C 2 +
C 2 -
V +
V -
R 1 O U T
R 2 O U T
T 1 O U T
T 2 O U T
V C C
G N D
C 5
2 2 u F / 2 5 V
0
Almost all electronic equipments include a circuit that converts AC voltages of main supply in to
DC voltage. In general, at the input of the power supply, there is a power transformer. A diode
circuit called Rectifier follows it. The output of the rectifier goes to a smoothing filter, and then
to a voltage regulator circuit. The ac voltage, typically 220V rms, is connected to a step down
transformer, which steps that ac voltage down. The transformer here used is 12/012V 2A.so its
secondary voltage is 12V AC. A diode rectifier (D1 &D2) then provides a full-wave rectified
voltage that is initially filtered by a simple capacitor filter 1000uF to produce a dc voltage (12V
DC). This resulting dc voltage usually has some ripples or ac voltage variation. A regulator
circuit removes the ripples and also remains the same dc value even if the input dc voltage
varies, or the load connected to the output dc voltage changes. This voltage regulation is usually
obtained using one of the popular voltage regulator IC units. Here we use LM7805.Capacitors
C5, C6, &C7 and diodes D3 &D4 is used for canceling the power supply noises. A 5.1V zener
diode connected at the output of the regulator IC is for circuit protection. In normal case it does
not conducts and it conducts only in the case of regulator IC failure.
SOFTWEARE SECTION
FLOW CHART - MAIN ROUTINE
I C 6
L M 7 8 0 5 C
I N O U T
GND
C 6
1 u F
L E D 2
P O W E R
P O W E R S U P P L Y
+ 5 V
C 1 0
0 . 1 u F
0
Q 2
B C 5 5 8
0
R 7
1 0 KD 6
Z D 1
5 V 1
0
C 5
1 0 u F
D 2
C 8
0 . 3 3 u F
D 4 C 7
1 0 0 0 u F / 1 6 V
0
R 4 1 K
0
R 6
4 7 K
V C C
R E S E T
0
V C C
R 5
1 0 K
C 9
0 . 1 u F
D 5
00
G N D
0
C O N 6
A C - 1 2 - 0 - 1 2 V
1
2
3
+ 1 2 V
0 000
START
CONFIGURE PORTS
CONFIGURE ADC
CONFIGURE
INTERRUPT
PROGRAM
#include <pic.h>
#include <stdio.h>
CONFIGURE SERIAL
PORT
ENABLE GLOBAL &
PERIPHERALDISPLAY WELCOME
SCREEN
RESET MOTOR
READ FLEX SENSORS
COMPARE PATTERN
YES
IF CHARACTER
FOUND?
MARK SMS
STATUS=PENDING
B A
NO
A
IF RCIF==1
B
READ RCREG
IF INFORM
MESSAGE==
RECEIVED
READ CHARACTER
RESET MOTOR
ROTATE MOTOR
STOP
/*-------------------------------------------------*/
#define BUZZER RD0
#define SERVO1 RC0
#define SERVO2 RC1
#define M1_SWITCH RC2
#define M2_SWITCH RC3
#define ENABLE 0
#define DISABLE 1
#define DETECTED 1
#define ON 1
#define OFF 0
#define START 1
#define STOP 2
#define WAITING 3
#define PROGRESSING 4
#define NO 1
#define YES 2
#define REQUESTED 'r'
#define NORMAL 'n'
#define ALERT 'a'
#define _ENTER 0x0d
#define _CTRL_Z 0x1a
#define ERROR 0
#define FOUND 1
#define OK 'O'
#define PASS 'p'
#define FAIL 'f'
/*-------------------------------------------------*/
extern void delay(unsigned long int);
extern void delay_IRQ(unsigned long int);
extern void preparelcd(void);
extern void lcdprintf(const char*);
extern void lcdprintd(unsigned char, unsigned char);
extern void blink_curser(unsigned char);
extern void hide_curser(void);
/*-------------------------------------------------*/
unsigned char const RESET_COMMAND[]="ATH";
unsigned char const ECHO_OFF_COMMAND[]="ATE0";
unsigned char const SMS_DEL_COMMAND1[]="AT+CMGDA=";
unsigned char const SMS_DEL_COMMAND2[]="DELALL";
unsigned char const SMS_READ_COMMAND[]="AT+CMGR=1";
unsigned char const SMS_FORMAT[]="AT+CMGF=1";
unsigned char const SMS_SEND_COMMAND[]="AT+CMGS=";
unsigned char const DIALUP_NO[]="9961724095";
/*-------------------------------------------------*/
unsigned int SENSOR_X,SENSOR_Y;
bank1 char DisplayTurn=1,FrameChange=NO,Count=0,ReplyStatus=NORMAL;
bank1 char ModemData[10];
/*-------------------------------------------------*/
void servo1Rotate180(void) //180 Degree
{
unsigned char i;
for(i=0;i<50;i++)
{
SERVO1 = 1;
Delay_us(2000);
SERVO1 = 0;
Delay_us(3000);
}
}
/*-------------------------------------------------*/
void servo2Rotate180(void) //180 Degree
{
unsigned char i;
for(i=0;i<50;i++)
{
SERVO2 = 1;
Delay_us(2000);
SERVO2 = 0;
Delay_us(3000);
}
}
/*-------------------------------------------------*/
void RestMotor(void)
{
while(M1_SWITCH!=PRESSED)
{
servo1Rotate180();
}
while(M2_SWITCH!=PRESSED)
{
servo2Rotate180();
}
}
/*-------------------------------------------------*/
unsigned int ReadADC(char chanel)
{
unsigned int value;
if(chanel==0){ CHS2=0; CHS1=0; CHS0=0; }
else if(chanel==1){ CHS2=0; CHS1=0; CHS0=1; }
else if(chanel==2){ CHS2=0; CHS1=1; CHS0=0; }
else if(chanel==4){ CHS2=1; CHS1=0; CHS0=0; }
for(value=0;value<100;value++)continue;
ADGO = 1;
while(ADGO==1 )continue;
value = ADRESH;
value = value<<8;
value = value|ADRESL;
return(value);
}
/*-------------------------------------------------*/
void ResetCOM(void)
{
char temp;
RCIF = 0;
CREN = 0; CREN = 1;
temp = RCREG; temp = RCREG;
}
/*-------------------------------------------------*/
void ResetCOM_IRQ(void)
{
char temp;
RCIF = 0;
CREN = 0; CREN = 1;
temp = RCREG; temp = RCREG;
}
/*-------------------------------------------------*/
void Beep(void)
{
BUZZER = ON; delay(50); BUZZER = OFF;
}
/*-------------------------------------------------*/
void Beep_IRQ(void)
{
BUZZER = ON; delay_IRQ(25); BUZZER = OFF; delay_IRQ(50);
}
/*-------------------------------------------------*/
void Beep_Long(void)
{
BUZZER = ON; delay_IRQ(100); BUZZER = OFF; delay_IRQ(100);
}
/*-------------------------------------------------*/
void SendToModem(unsigned char value)
{
TXREG = value;
while(TRMT==0)continue;
}
/*-------------------------------------------------*/
void SendToMODEM_IRQ(char value)
{
TXREG = value;
while(TRMT==0)continue;
}
/*-------------------------------------------------------------*/
unsigned char ReadModem(void)
{
unsigned int count=0;
CREN = 0; CREN = 1;
while(RCIF==0&&count<50000)count++;
if(RCIF==1) return(RCREG);
else return(ERROR);
}
/*-------------------------------------------------*/
unsigned char ReadModem_IRQ(void)
{
unsigned int count=0;
CREN = 0; CREN = 1;
while(RCIF==0&&count<50000)count++;
if(RCIF==1) return(RCREG);
else return(ERROR);
}
/*-------------------------------------------------*/
void DisconnectModem(void)
{
char n;
for(n=0;n<3;n++)
{
SendToModem(RESET_COMMAND[n]);
delay(500);
}
delay(500);
SendToModem(_ENTER);
delay(1000);
}
/*-------------------------------------------------*/
void SendSMS(void)
{
char add,n,value;
char const command[]="AT+CMGS=";
lcdprintf("MESSAGING.......n");
lcdprintf("nPH: ");
for(n=0;command[n];n++)
{
SendToModem(command[n]);
delay(100);
}
SendToModem('"');
delay(500);
for(n=0,add=0xc3;n<10;n++,add++)
{
value = DIALUP_NO[n];
SendToModem(value);
lcdprintd(value,add);
delay(100);
}
SendToModem('"');
delay(1000);
SendToModem(_ENTER);
delay(2000);
SendToModem(Character[n]);
delay(1000);
SendToModem(_CTRL_Z);
delay(1000);
}
/*-------------------------------------------------------------*/
/*-------------------------------------------------------------*/
/*-------------------------------------------------------------*/
/*-------------------------------------------------------------*/
/*-------------------------------------------------------------*/
char SearchSMS_IND(void)
{
char n;
for(n=0;n<25;n++)
{
if(ModemData[n]=='+'&&ModemData[n+1]=='C'&&ModemData[n+2]=='M'&&Modem
Data[n+3]=='T'&&ModemData[n+4]=='I')
{
return(FOUND);
}
}
return(ERROR);
}
/*-------------------------------------------------------------*/
char CheckCommand_SendParameters(void)
{
char const command[]="WRITE";
char n;
for(n=0;n<4;n++)
{
if(ModemData[n]!=command[n])return(FAIL);
}
return(PASS);
}
/*-------------------------------------------------------------*/
void servoRotate180() //180 Degree
{
unsigned int i;
for(i=0;i<50;i++)
{
PORTB.F0 = 1;
Delay_us(2200);
PORTB.F0 = 0;
Delay_us(17800);
}
}
/*-------------------------------------------------------------*/
void interrupt MODEM_TIMER_IRQ(void)
{
char sdata,data_count,n;
if(RCIF==1)
{
sdata = RCREG;
ModemData[0] = sdata;
sdata = 1;
ResetCOM_IRQ();
for(data_count=1;data_count<25&&sdata!=ERROR;data_count++)
{
sdata = ReadModem_IRQ();
if(sdata!=ERROR&&data_count<25)
{
ModemData[data_count] = sdata;
}
else if(sdata==ERROR) break;
}
sdata = SearchSMS_IND();
if(sdata==FOUND)
{
Beep_IRQ();
for(n=0;n<9;n++)
{
SendToMODEM_IRQ(SMS_READ_COMMAND[n]);
delay_IRQ(50);
}
delay_IRQ(1000);
SendToMODEM_IRQ(_ENTER);
sdata = 0;
ResetCOM_IRQ();
for(data_count=0;data_count<150&&sdata!='$';data_count++)
{
sdata = ReadModem_IRQ();
}
//$SEND#
if(sdata=='$')
{
for(data_count=0;data_count<10&&sdata!='#';data_count++)
{
sdata = ReadModem_IRQ();
ModemData[data_count] = sdata;
}
Beep_IRQ();Beep_IRQ();
if(sdata=='#')
{
Beep_IRQ();Beep_IRQ();Beep_IRQ();
sdata = CheckCommand_SendParameters();
if(sdata==PASS)
{
if(ModemData[4] == 'A')
{
RestMotor();
servo1Rotate180();
}
if(ModemData[4] == 'B')
{
RestMotor();
servo1Rotate180();
servo2Rotate180();
}
}
}
}
delay_IRQ(1000);
delay_IRQ(1000);
delay_IRQ(1000);
delay_IRQ(1000);
for(n=0;n<9;n++)
{
SendToMODEM_IRQ(SMS_DEL_COMMAND1[n]);
delay_IRQ(50);
}
SendToMODEM_IRQ('"');
for(n=0;n<7;n++)
{
SendToMODEM_IRQ(SMS_DEL_COMMAND2[n]);
delay_IRQ(50);
}
SendToMODEM_IRQ('"');
delay_IRQ(1000);
SendToMODEM_IRQ(_ENTER);
}
CREN = 0; CREN = 1;
sdata = RCREG; sdata = RCREG;
}
}
/*-------------------------------------------------------------*/
/*-------------------------------------------------------------*/
void main(void)
{
char temp;
ADCON0 = 0xc1;
ADCON1 = 0xC2; //AN0-AN4 analog and all other digital.
TRISA = 0x3f; //X,Y,.
TRISB = 0x00; //LCD databus.
TRISC = 0xc0; //COM, RUTE_GSM, BUZZER.
TRISD = 0x00; //LCD_E&RS,ROUTE_GPS,RELAY_BREAK.
PORTB = 0x00;
PORTC = 0xe0;
PORTD = 0xf0;
PORTE = 0x03;
TXSTA = 0x20; //Transmit status and control register with normal speed.
RCSTA = 0x90; //Receive status and control register.
SPBRG = 17;//Baut rate register. Fosc/(64(SPBRG+1)) 9600baud @11.0592MHz.
preparelcd();
lcdprintf("INITIALISING....n");
lcdprintf("n Please wait ");
Beep();
RestMotor();
for(temp=0;temp<9;temp++)
{
SendToModem(SMS_FORMAT[temp]);
}
SendToModem(_ENTER);
delay(1000);
for(temp=0;temp<4;temp++)
{
SendToModem(ECHO_OFF_COMMAND[temp]);
}
SendToModem(_ENTER);
delay(1000);delay(1000);
for(temp=0;temp<9;temp++)
{
SendToModem(SMS_DEL_COMMAND1[temp]);
delay(100);
}
SendToModem('"');
for(temp=0;temp<7;temp++)
{
SendToModem(SMS_DEL_COMMAND2[temp]);
delay(100);
}
SendToModem('"');
delay(1000);
SendToModem(_ENTER);
delay(25);
lcdprintf("GESTURE CTRLEDn");
lcdprintf("nTEXT TO BRAILLE");
Beep();
delay(2000);
lcdprintf("Reading.........n");
lcdprintf("n----------------");
Beep();
delay(2000);
RCIF = 0;
CREN = 0; CREN = 1;
temp = RCREG; temp = RCREG;
INTCON = 0xc0; //Global and peripheral interrupt enabled.
PIE1 = 0x20; //Serial RXD interrupt enabled.
while(1)
{
Flex1 = ReadADC(0);
Flex2 = ReadADC(1);
if(Flex1>380&&Flex2<280&&SMSStatus=!Marked)
{
Character[0]='C';
SMSStatus=Marked;
}
else if(Flex1<280||Flex1>380&&Flex2<280&&SMSStatus=!Marked)
{
Character[0]='L';
SMSStatus=Marked;
}
else if(Flex1<280||Flex2>380&&SMSStatus==Marked)
{
SendSMS();
}
}
}
/*-------------------------------------------------*/
HARDWARE SECTION
THE PCB DESIGN
Design of printed circuit board (PCB) can be considered as the last step in electronic
circuit design as well as the first step in production. It plays important role in the performance
and reliability of electronic circuits, the productivity of the PCB’s its assembling, and its service
ability depends on design. All these factors get reflected in a piece of electronic equipment. It is
clear that task of PCB design is not very simple or always straight forward. The schematic is
follower by layout generation. Layout design is the stage where engineering capacity combined
with creativity is the governing inputs.
ELECTRONIC DESIGN AUTOMATION TOOLS
Most product testing is being done is done with the help of computer programs. The term
Electronic Design Automation (EDA) is being used to describe the use of these tools. With the
help of advanced powerful computing systems and interactive software tools and development of
electronic circuits has undergone automation. Thus the software and hardware tools, which
enables this automation includes PCB designing, IC design, circuit simulation etc. These tools
help us in such a way that we can draw the circuit; test the functioning of the circuit in response
to test inputs in simulation software.
After successfully simulation we can get the PCB art work done by replacing
the routing software. The design automation tool used here is ORCAD.
PCB DESIGN PROCEDURES
The PCB designing procedure consists of following steps:
Drawing the circuit schematic
Drawing of circuit is done through ORCAD CAPTURE. It includes many libraries with
thousands of component symbols. We can select the required symbol from the library and place it
in the schematic page. After placing the component symbols, we can complete the
interconnection using wire or bus control.
The next step is to assign part reference. Each component has to be assigned footprint or
PCB pattern name. The footprint gives the actual size physical representation of components on
the PCB artwork. The component symbol and foot symbol should correspond in all respects.
Design Rule Check and net list creation
After the circuit schematic is completed with all required information such as part
reference and footprints, the design rule check can be used for checking errors in the design. It
will check for duplicate symbols, overlapped lines and dangling lines.
After the schematic design file passes the DRC check, it is processed by a program called an
electric rule checker (ERC) that checks for writing errors. The final operation to be done before
starting PCB artwork is the net list creation.
A net list creation of the components and interconnection along with other information such
as foot prints, track width etc. A net list software or tool can take the circuit schematic as input
and generate net list. The net list can be used as an information source for the remaining stages.
Creating the PCB artwork
In automatic design, the net list obtained from the previous stage is used for getting the
required foot print and interconnections. The software used for the PCB artwork design in the
ORCAD LAYOUT.
PCB fabrication
You need to generate a positive (copper black) UV translucent art work film. You will never get a
good board without good art work, so it is important to get the best possible quality at this stage.
The most important thing is to get a clear sharp image with a very solid opaque black. Art work
is done using ORCAD software. It is absolutely essential that your PCB software prints holes in
the middle of pads, which will act as centre marks when drilling. It is virtually impossible to
accurately hand-drill boards without these holes. If you are looking to buy PCB software at any
cost level and want to do hand-prototyping of boards before production, check that this facility is
available when defining pad and line shapes, the minimum size recommended (through-linking
holes) for reliable result is 50 mil, assuming 0.8mm drill size; 1 mil=(1/1000)th
of an inch. You
can go smaller drill sizes, but through linking will be harder. 65mil round or square pads for
normal components.
ICs, with 0.8 mm hole, will allow a 12.5mil, down to 10mil if you really need to. Center-to-
centre spacing of 12.5 mil tracks should be 25 mil-slightly less may be possible if your printer
can manage it. Take care to preserve the correct diagonal track-track spacing on mitered corners;
grid is 25 mil and track width 12.5mil. The art work must be printed such that the printed side is
in contact with PCB surface when exposing, to avoid blurred edges. In practice, this means that
if you design the board as seen from the component side, the bottom (solder side) layer should be
printed the ‘correct’ way round, and top side of the double-sided board must be printed mirrored.
Etching
Ferric chloride etchant is a messy stuff, but easily available and cheaper than most alternatives. It
attacks any metal including stainless steel. So when setting up a PCB etching area, use a plastic
or ceramic sink, with plastic fitting and screws wherever possible, and seal any metal screws
with silicon. Copper water pipes may be splashed or dripped-on, so sleeve or cover them in
plastic; heat-shrink sleeve is great if you are installing new pipes. Fume extraction is not
normally required, although a cover over the tank or tray when not in use is a good idea. You
should always use the hex hydrate type of ferric chloride, which should be dissolved in warm
water until saturation. Adding a teaspoon of table salt helps to make the etchant clearer for easier
inspection. Avoid anhydrous ferric chloride. It creates a lot of heat when dissolved. So always
add the powder very slowly to water; do not add water to the powder, and use gloves and safety
glasses. The solution made from anhydrous ferric chloride doesn’t etch at all, so you need to add
a small amount of hydrochloric acid and leave it for a day or two. Always take extreme care to
avoid splashing when dissolving either type of ferric chloride, acid tends to clump together and
you often get big chunks coming out of the container and splashing into the solution. It can
damage eyes and permanently stain clothing. If you are making PCBs in a professional
environment where time is money you should get a heated bubble-etch tank. With fresh hot ferric
chloride, the PCB will etch in well under 5 minutes. Fast etching produces better edge-quality
and consistent line widths. If you aren’t using a bubble tank, you need to agitate frequently to
ensure even etching. Warm the etchant by putting the etching tray inside a larger tray filled with
boiling water.
Drilling
If you have fiber glass (FR4) board, you must use tungsten carbide drill bits. Fiberglass eats
normal high-speed steel (HSS) bits very rapidly, although HSS drills are alright for older larger
sizes (> 2mm). Carbide drill bits are available as straight-shank or thick-shank. In straight shank,
the hole bit is the diameter of the hole, and in thick shank, a standard size (typically about 3.5
mm) shank tapers down to the hole size.
The straight-shank drills are usually preferred because they break less easily and are usually
cheaper. The longer thin section provides more flexibility. Small drills for PCB use usually come
with either a set of collets of various sizes or a three-jaw chuck. Sometimes the 3-jaw chuck is an
optional extra and is worth getting for the time it saves on changing collets. For accuracy,
however, 3-jaw chucks are not brilliant, and small drill sizes below 1 mm quickly formed
grooves in the jaws, preventing good grip. Below 1 mm, you should use collets, and buy a few
extra of the smallest ones; keeping one collect per drill size as using a larger drill in a collet will
open it out and it no longer grips smaller drills well. You need a good strong light on the board
when drilling, to ensure accuracy. A dichroic halogen lamp, under run at 9V to reduce brightness,
can be mounted on a microphone gooseneck for easy positioning. It can be useful to raise the
working surface above 15 cm above the normal desk height for more comfortable viewing. Dust
extraction is nice, but not essential and occasional blow does the trick! A foot-pedal control to
switch the drill ‘off’ and ‘on’ is very convenient, especially when frequently changing bits. Avoid
hole sizes less than 0.8 mm unless you really need them. When making two identical boards, drill
them both together to save time. To do this, carefully drill a 0.8 mm whole in the pad near each
corner of each of the two boards, getting the center as accurately as possible. For larger boards,
drill a hole near the centre of each side as well. Lay the boards on the top of each other and insert
a 0.8 mm track pin in two opposite corners, using the pins as pegs to line the PCBs up. Squeeze
or hammer the pins into boards, and then into the remaining holes. The two PCBs are now
‘nailed’ together accurately and can be drilled together.
Soldering
Soldering is the joining together of two metals to give physical bonding and good electrical
conductivity. It is used primarily in electrical and electronic circuitry. Solder is a combination of
metals, which are solid at normal room temperatures and become liquid between 180 and 200
degree Celsius. Solder bonds well to various metals, and extremely well to copper. Soldering is a
necessary skill you need to learn to successfully build electronics circuits. To solder you need a
soldering iron. A modern basic electrical soldering iron consists of a heating element, a soldering
bit (often called a tip), a handle and a power cord.
The heating element can be either a resistance wire wound around a ceramic tube, or a thick film
resistance element printed on to a ceramic base. The element is then insulated and placed into a
metal tube for strength and protection. This is then thermally insulated from the handle. The
heating element of soldering iron usually reaches temperatures of around 370 to 400 degree
Celsius (higher than need to melt the solder). The strength or power of a soldering iron is usually
expressed in watts. Irons generally used in electronics are typically in the range of 12 to 25 watts.
Higher powered iron will not run hotter. Most irons are available in a variety of voltages; 12V,
24V, 115V and 230V are most popular.
Today most laboratories and repair shops use soldering irons, which operate at 24V. You should
always use this low voltage where possible, as it is much safer. For advanced soldering work,
you will need a soldering iron with temperature control. In this type of soldering irons, the
temperature may be usually set between 200 and 450 degree Celsius.
Many temperature control soldering iron designed for electronics have a power rating of around
40 to 50 watt. They will heat fast and give enough power for operation, but are mechanically
small.
You will occasionally see gas-powered soldering irons which use butane rather than the main
electrical supply to operate. They have a catalytic element which once warmed up, continues to
glow hot when gas passes over them. Gas powered soldering irons are designed for occasional
‘on the spot’ used for quick repairs, rather than for main stream construction or for assembly
work.
Currently, the best commonly available, workable, and safe solder alloy is 63/37. That is, 63%
lead, 37% tin. It is also known as eutectic solder. Its most desirable characteristic is that it solids
(‘pasty’) state, and its liquid state occur at the same temperature -361 degree Fahrenheit. The
combination of 63% lead and 37% tin melts at the lowest possible temperature. Nowadays there
is tendency to move to use lead free solders, but it will take years until they catch on normal
soldering work. Lead free solders are nowadays available, but they are generally more expensive
or harder to work on than traditional solders that they have lead in them.
The metals involved are not the only things to consider in a solder. Flux is vital to a good solder
joint. Flux is an aggressive chemical that removes oxide and impurities from the parts to be
soldered. The chemical reactions at the point(s) of connection must take place for the metal to
fuse. RMA type flux (Rosin Mildly Active) is the least corrosive of the readily available
materials, and provides an adequate oxide. In electronics, a 60/40 fixed core solder is used. This
consists of 60% lead and 40% tin, with flux cores added to the length of solder.
There are certain safety measures which you should keep in mind when soldering. The tin
material used in soldering contains dangerous substances like lead (40-60% of typical soldering
tins are lead and lead is poisonous). Also the various fumes from the soldering flux can be
dangerous. While it is true that lead does not vaporize at the temperature at which soldering is
typically done.
When soldering, keep the room well ventilated and use a small fan or fume trap. A proper fume
trap of a fan will keep the most pollution away from your face. Professional electronic
workshops use expensive fume extraction systems to protect their workers. Those fume
extraction devices have a special filter which filters out the dangerous fumes. If you can connect
a duct to the output from the trap to the outside, that would be great.
Always wash hands prior to smoking, eating, drinking or going to the bathroom. When you
handle soldering tin, your hands will pick up lead, which needs to be washed out from it before it
gets to your body. Do not eat, drink or smoke while working with soldering iron. Do not place
cups, glasses or a plate of food near your working area.
Wash also the table sometimes. As you solder, at times there will be a bit of spitting or
sputtering. If you look you will see tiny balls of solder that shoot out and can be found on your
soldering table.
PCB LAYOUTS
MAIN PCB –
COMPONENT
SIDE LAYOUT
MAIN PCB – JUMPER
LAYOUT
MAIN PCB – COMPONENT
LAYOUT
MAIN PCB – PCB LAYOUT
RS232 INTERFACE
PCB
RS232 INTERFACE
SOLDER SIDE LAYOUT COMPIONENT LAYOUT
CONCLUSION
The Blind and the visually impaired individuals in Lebanon make up an important part of
the Lebanese community. In addition, the market has shown minor concern towards such
individuals. Due to this fact, and in order to help the blind and the visually impaired individuals
read and communicate. This device satisfies the needs of the visually impaired individuals since
it enables the translation of English and text into their Braille representations. We had developed
a low cost gesture controlled device for the blind. This can be a useful for aiding the physically
challenged has been on demand. A text to Braille converter is intended to aid the blind to interact
with computers at workplaces and homes. Though several such devices are available, the cost is
a limiting factor. Blind people face a great difficulty in receiving computer education due to the
lack of low cost technological support. Facilities for the sightless have been organized in
different places for providing reading facilities to the blind. These centers maintain archives of
reading materials (literature, science, etc.) in the form of Braille coded texts. However, such
centers suffer from a number of practical difficulties such as severely constrained economic
resource. We had used PIC 16F877A micro controller which is the main part of the system. We
make use of Flex sensors .For each finger flex sensors are connected.
FUTURE SCOPE
This device can be further modified to improve the vocabulary by
using more no of flex sensors and by making servomotor arrangement
capable of producing all the Braille characters. By using digital signal
processor we can also provide speech to Braille and vice versa.
REFERENCE
Design with PIC Microcontrollers
Author : J.B. Peatmann
Publisher : Prentice-Hall, 1998
An Introduction to PIC Microcontrollers
Author : R.A. Penfold
Publisher : Bernard Babani Publishing, 1997
www.microchip.com
www.National.com
www.Freescalesemi.com
www.fairchildsemi.com

More Related Content

What's hot

Chp4 introduction to the pic microcontroller copy
Chp4 introduction to the pic microcontroller   copyChp4 introduction to the pic microcontroller   copy
Chp4 introduction to the pic microcontroller copymkazree
 
Applications of microcontroller
Applications of microcontrollerApplications of microcontroller
Applications of microcontrollerbabak danyal
 
Embedded Systems & Robotics
Embedded Systems  & RoboticsEmbedded Systems  & Robotics
Embedded Systems & Roboticsspoorani
 
8051 microcontroller and embedded system
8051 microcontroller and embedded system8051 microcontroller and embedded system
8051 microcontroller and embedded systemsb108ec
 
Unit 1 embedded systems and applications
Unit 1 embedded systems and applicationsUnit 1 embedded systems and applications
Unit 1 embedded systems and applicationsDr.YNM
 
PIC 16F877 micro controller by Gaurav raikar
PIC 16F877 micro controller by Gaurav raikarPIC 16F877 micro controller by Gaurav raikar
PIC 16F877 micro controller by Gaurav raikarGauravRaikar3
 
Embedded systems and robotics by scmandota
Embedded systems and robotics by scmandotaEmbedded systems and robotics by scmandota
Embedded systems and robotics by scmandotascmandota
 
project report on embedded system
project report on embedded systemproject report on embedded system
project report on embedded systemram avtar
 
Microcontroller from basic_to_advanced
Microcontroller from basic_to_advancedMicrocontroller from basic_to_advanced
Microcontroller from basic_to_advancedImran Sheikh
 
Solution manual the 8051 microcontroller based embedded systems
Solution manual the 8051 microcontroller based embedded systemsSolution manual the 8051 microcontroller based embedded systems
Solution manual the 8051 microcontroller based embedded systemsmanishpatel_79
 
Motorola 68hc11
Motorola 68hc11Motorola 68hc11
Motorola 68hc11gajani121
 
Presentation for EEE engineers on Microcontroller by Dilip Kumar Roy
Presentation for EEE engineers on Microcontroller by Dilip Kumar RoyPresentation for EEE engineers on Microcontroller by Dilip Kumar Roy
Presentation for EEE engineers on Microcontroller by Dilip Kumar RoyDilip Kumar Ckt
 

What's hot (18)

8051 microcontrollers
8051 microcontrollers8051 microcontrollers
8051 microcontrollers
 
Chp4 introduction to the pic microcontroller copy
Chp4 introduction to the pic microcontroller   copyChp4 introduction to the pic microcontroller   copy
Chp4 introduction to the pic microcontroller copy
 
Applications of microcontroller
Applications of microcontrollerApplications of microcontroller
Applications of microcontroller
 
Embedded Systems & Robotics
Embedded Systems  & RoboticsEmbedded Systems  & Robotics
Embedded Systems & Robotics
 
8051 microcontroller and embedded system
8051 microcontroller and embedded system8051 microcontroller and embedded system
8051 microcontroller and embedded system
 
PIC_ARM_AVR
PIC_ARM_AVRPIC_ARM_AVR
PIC_ARM_AVR
 
Unit 1 embedded systems and applications
Unit 1 embedded systems and applicationsUnit 1 embedded systems and applications
Unit 1 embedded systems and applications
 
8 bit microcontroller
8 bit microcontroller8 bit microcontroller
8 bit microcontroller
 
PIC 16F877 micro controller by Gaurav raikar
PIC 16F877 micro controller by Gaurav raikarPIC 16F877 micro controller by Gaurav raikar
PIC 16F877 micro controller by Gaurav raikar
 
Embedded systems and robotics by scmandota
Embedded systems and robotics by scmandotaEmbedded systems and robotics by scmandota
Embedded systems and robotics by scmandota
 
project report on embedded system
project report on embedded systemproject report on embedded system
project report on embedded system
 
Microcontroller from basic_to_advanced
Microcontroller from basic_to_advancedMicrocontroller from basic_to_advanced
Microcontroller from basic_to_advanced
 
2 unit-es-printed
2 unit-es-printed2 unit-es-printed
2 unit-es-printed
 
Solution manual the 8051 microcontroller based embedded systems
Solution manual the 8051 microcontroller based embedded systemsSolution manual the 8051 microcontroller based embedded systems
Solution manual the 8051 microcontroller based embedded systems
 
Presentation
PresentationPresentation
Presentation
 
Motorola 68hc11
Motorola 68hc11Motorola 68hc11
Motorola 68hc11
 
PIC Microcontrollers
PIC MicrocontrollersPIC Microcontrollers
PIC Microcontrollers
 
Presentation for EEE engineers on Microcontroller by Dilip Kumar Roy
Presentation for EEE engineers on Microcontroller by Dilip Kumar RoyPresentation for EEE engineers on Microcontroller by Dilip Kumar Roy
Presentation for EEE engineers on Microcontroller by Dilip Kumar Roy
 

Viewers also liked

Robotics Final Project Report
Robotics Final Project ReportRobotics Final Project Report
Robotics Final Project ReportAndrew Kocur
 
El moviment obrer
El moviment obrerEl moviment obrer
El moviment obrerelicres
 
Presentación san valentin
Presentación san valentinPresentación san valentin
Presentación san valentinCarmen Moreno
 
Revolució americana
Revolució americanaRevolució americana
Revolució americanaelicres
 
Licenciatura_Lusofona_2009
Licenciatura_Lusofona_2009Licenciatura_Lusofona_2009
Licenciatura_Lusofona_2009Cristina Costa
 
Sport, data and story telling at Online Tuesday
Sport, data and story telling at Online Tuesday Sport, data and story telling at Online Tuesday
Sport, data and story telling at Online Tuesday Gijsbregt Brouwer
 
Týrsday - Digital Sports Day 2016
Týrsday - Digital Sports Day 2016Týrsday - Digital Sports Day 2016
Týrsday - Digital Sports Day 2016Gijsbregt Brouwer
 
Marketing Management - Watch Company
Marketing Management - Watch CompanyMarketing Management - Watch Company
Marketing Management - Watch CompanyAKSHAY KHATRI
 
Conception d'un objet électronique : boitier pour QCM
Conception d'un objet électronique : boitier pour QCMConception d'un objet électronique : boitier pour QCM
Conception d'un objet électronique : boitier pour QCMPeronnin Eric
 
Relais bluetooth - Balance connectée
Relais bluetooth - Balance connectéeRelais bluetooth - Balance connectée
Relais bluetooth - Balance connectéePeronnin Eric
 
Codage de l'information
Codage de l'informationCodage de l'information
Codage de l'informationPeronnin Eric
 
Aula 18 - ADM RH - Avaliação de Desempenho
Aula 18 - ADM RH - Avaliação de DesempenhoAula 18 - ADM RH - Avaliação de Desempenho
Aula 18 - ADM RH - Avaliação de DesempenhoAngelo Peres
 

Viewers also liked (16)

Webcast - Waarom professionals van baan wisselen en hoe je toptalent kan beho...
Webcast - Waarom professionals van baan wisselen en hoe je toptalent kan beho...Webcast - Waarom professionals van baan wisselen en hoe je toptalent kan beho...
Webcast - Waarom professionals van baan wisselen en hoe je toptalent kan beho...
 
Robotics Final Project Report
Robotics Final Project ReportRobotics Final Project Report
Robotics Final Project Report
 
El moviment obrer
El moviment obrerEl moviment obrer
El moviment obrer
 
Presentación san valentin
Presentación san valentinPresentación san valentin
Presentación san valentin
 
Revolució americana
Revolució americanaRevolució americana
Revolució americana
 
Licenciatura_Lusofona_2009
Licenciatura_Lusofona_2009Licenciatura_Lusofona_2009
Licenciatura_Lusofona_2009
 
Sport, data and story telling at Online Tuesday
Sport, data and story telling at Online Tuesday Sport, data and story telling at Online Tuesday
Sport, data and story telling at Online Tuesday
 
Týrsday - Digital Sports Day 2016
Týrsday - Digital Sports Day 2016Týrsday - Digital Sports Day 2016
Týrsday - Digital Sports Day 2016
 
Dipôles
DipôlesDipôles
Dipôles
 
Marketing Management - Watch Company
Marketing Management - Watch CompanyMarketing Management - Watch Company
Marketing Management - Watch Company
 
Conception d'un objet électronique : boitier pour QCM
Conception d'un objet électronique : boitier pour QCMConception d'un objet électronique : boitier pour QCM
Conception d'un objet électronique : boitier pour QCM
 
Relais bluetooth - Balance connectée
Relais bluetooth - Balance connectéeRelais bluetooth - Balance connectée
Relais bluetooth - Balance connectée
 
Codage de l'information
Codage de l'informationCodage de l'information
Codage de l'information
 
Langage vhdl
Langage vhdlLangage vhdl
Langage vhdl
 
Aula 18 - ADM RH - Avaliação de Desempenho
Aula 18 - ADM RH - Avaliação de DesempenhoAula 18 - ADM RH - Avaliação de Desempenho
Aula 18 - ADM RH - Avaliação de Desempenho
 
La situacio de la dona
La situacio de la donaLa situacio de la dona
La situacio de la dona
 

Similar to REPORT texto braillefinal

Wireless energy meter monitoring with automated tariff calculation
Wireless energy meter monitoring with automated tariff calculationWireless energy meter monitoring with automated tariff calculation
Wireless energy meter monitoring with automated tariff calculationUdayalakshmi JK
 
Overview of Microcontroller and ATMega32 microcontroller
Overview of Microcontroller and ATMega32 microcontrollerOverview of Microcontroller and ATMega32 microcontroller
Overview of Microcontroller and ATMega32 microcontrollerRup Chowdhury
 
Embedded systems class notes
Embedded systems  class notes Embedded systems  class notes
Embedded systems class notes Dr.YNM
 
Report on Embedded Based Home security system
Report on Embedded Based Home security systemReport on Embedded Based Home security system
Report on Embedded Based Home security systemNIT srinagar
 
underground cable fault location using aruino,gsm&gps
underground cable fault location using aruino,gsm&gps underground cable fault location using aruino,gsm&gps
underground cable fault location using aruino,gsm&gps Mohd Sohail
 
Low cost embedded system
Low cost embedded systemLow cost embedded system
Low cost embedded systemece svit
 
Embedded system 8051 Microcontroller
Embedded system 8051 MicrocontrollerEmbedded system 8051 Microcontroller
Embedded system 8051 Microcontrollerankitsharmaj
 
Gesture based vehicle movements control and alerting system docu
Gesture based vehicle movements control and alerting system docuGesture based vehicle movements control and alerting system docu
Gesture based vehicle movements control and alerting system docuVignan Munna
 
Ajal mod 1
Ajal mod 1Ajal mod 1
Ajal mod 1AJAL A J
 
Real Time Atomization of agriculture system for the modernization of indian a...
Real Time Atomization of agriculture system for the modernization of indian a...Real Time Atomization of agriculture system for the modernization of indian a...
Real Time Atomization of agriculture system for the modernization of indian a...SHAMEER C M
 
Real time atomization of agriculture system for the modernization of indian a...
Real time atomization of agriculture system for the modernization of indian a...Real time atomization of agriculture system for the modernization of indian a...
Real time atomization of agriculture system for the modernization of indian a...SHAMEER C M
 
Density based traffic light controlling (2)
Density based traffic light controlling (2)Density based traffic light controlling (2)
Density based traffic light controlling (2)hardik1240
 
Design Efficient Wireless Monitoring Platform for Recycling Point Spots
Design Efficient Wireless Monitoring Platform for Recycling Point SpotsDesign Efficient Wireless Monitoring Platform for Recycling Point Spots
Design Efficient Wireless Monitoring Platform for Recycling Point SpotsIJMTST Journal
 
An Overview of LPC2101/02/03
An Overview of LPC2101/02/03An Overview of LPC2101/02/03
An Overview of LPC2101/02/03Premier Farnell
 
INDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptx
INDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptxINDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptx
INDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptxMeghdeepSingh
 

Similar to REPORT texto braillefinal (20)

Wireless energy meter monitoring with automated tariff calculation
Wireless energy meter monitoring with automated tariff calculationWireless energy meter monitoring with automated tariff calculation
Wireless energy meter monitoring with automated tariff calculation
 
BARC Report
BARC ReportBARC Report
BARC Report
 
V01 i010403
V01 i010403V01 i010403
V01 i010403
 
Overview of Microcontroller and ATMega32 microcontroller
Overview of Microcontroller and ATMega32 microcontrollerOverview of Microcontroller and ATMega32 microcontroller
Overview of Microcontroller and ATMega32 microcontroller
 
Embedded systems class notes
Embedded systems  class notes Embedded systems  class notes
Embedded systems class notes
 
Report on Embedded Based Home security system
Report on Embedded Based Home security systemReport on Embedded Based Home security system
Report on Embedded Based Home security system
 
underground cable fault location using aruino,gsm&gps
underground cable fault location using aruino,gsm&gps underground cable fault location using aruino,gsm&gps
underground cable fault location using aruino,gsm&gps
 
Low cost embedded system
Low cost embedded systemLow cost embedded system
Low cost embedded system
 
Embedded system 8051 Microcontroller
Embedded system 8051 MicrocontrollerEmbedded system 8051 Microcontroller
Embedded system 8051 Microcontroller
 
Gesture based vehicle movements control and alerting system docu
Gesture based vehicle movements control and alerting system docuGesture based vehicle movements control and alerting system docu
Gesture based vehicle movements control and alerting system docu
 
Ajal mod 1
Ajal mod 1Ajal mod 1
Ajal mod 1
 
Real Time Atomization of agriculture system for the modernization of indian a...
Real Time Atomization of agriculture system for the modernization of indian a...Real Time Atomization of agriculture system for the modernization of indian a...
Real Time Atomization of agriculture system for the modernization of indian a...
 
Real time atomization of agriculture system for the modernization of indian a...
Real time atomization of agriculture system for the modernization of indian a...Real time atomization of agriculture system for the modernization of indian a...
Real time atomization of agriculture system for the modernization of indian a...
 
Density based traffic light controlling (2)
Density based traffic light controlling (2)Density based traffic light controlling (2)
Density based traffic light controlling (2)
 
Industrial Monitoring System Using Wireless Sensor Networks
Industrial Monitoring System Using Wireless Sensor NetworksIndustrial Monitoring System Using Wireless Sensor Networks
Industrial Monitoring System Using Wireless Sensor Networks
 
Sixth sensing robot
Sixth sensing robotSixth sensing robot
Sixth sensing robot
 
Design Efficient Wireless Monitoring Platform for Recycling Point Spots
Design Efficient Wireless Monitoring Platform for Recycling Point SpotsDesign Efficient Wireless Monitoring Platform for Recycling Point Spots
Design Efficient Wireless Monitoring Platform for Recycling Point Spots
 
An Overview of LPC2101/02/03
An Overview of LPC2101/02/03An Overview of LPC2101/02/03
An Overview of LPC2101/02/03
 
INDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptx
INDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptxINDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptx
INDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptx
 
Ppt
PptPpt
Ppt
 

REPORT texto braillefinal

  • 1. ABSTRACT Visually impaired people face difficulties in interacting and gaining full advantage of computers. Recently, and with the fast evolution in technology, researchers proposed to give the blinds the ability to take advantage of these advancements. Accordingly, designers and engineers started working on projects that relate input and output devices to the computers in order for the blind individual to have full control of the hi-tech machines. However, investments in these kinds of hardware presented complexity in the design, in addition to the high cost imposed by the devices used. The project’s objective is to design and develop a Braille System Output Device for the visually impaired individuals that enable them to access and read texts from a computer. The device acquires English texts and dis- plays them using controlled servo motor.. The control of servo motor is done via Programmable Interface Controller (PIC) microcontroller. The interaction between the devices is done through the GSM. C is the language used to write the program responsible for controlling this interaction. The continuous development of such devices is essential for the visually impaired to keep up with the technological advancements. The main advantages of this system are its low cost, the added multi-lingual, and the audio features. In addition, many features can be added so as to satisfy the users’ needs, such as adding new languages. INTRODUCTION This project aims to develop a low cost gesture controlled device for the blind. The need for devices for aiding the physically challenged has been on demand. A text to Braille converter is intended to aid the blind to interact with computers at workplaces and homes. Though several such devices are available, the cost is a limiting factor. Blind people face a great difficulty in receiving computer education due to the lack of low cost technological support. Facilities for the sightless have been organized in different places for providing reading facilities to the blind. These centers maintain archives of reading materials (literature, science, etc.) in the form of Braille coded texts. However, such centers suffer from a number of practical difficulties such as severely constrained economic resource. This project makes use of embedded based on PIC 16F877A micro controller which is the main part of the system. We make use of Flex sensors .For each finger flex sensors are connected. Flex sensor plays a very important role in this design. Flex sensors are analog resistors. They work as analog voltage dividers. Carbon resistive elements within a thin flexible substrate are present inside the flex sensor. When the substrate is bent, sensor produces a relative output proportional to the bent radius. Flex sensors are sensors that changes resistance depending on the amount of bend on the sensor. They convert the change
  • 2. in bent to electrical resistance. The more the bend, more the resistance value. They are often used in gloves to sense finger movement. There are transmitter as well as receiver section. In the transmitter side flex sensor output signal is fed to low pass filter and is undergone signal processing. Next, signal is fed to ADC for A2D conversion. Corresponding value will be fed to the controller. From controller section this corresponding value is fed to the receiver side with the help of GSM module; this much is carry out with first circuit board. And when GSM modem receives a character the value received is fed to the input of Servo motors by microcontroller. And thus as per the output of ADC values of flux sensor; the connected six servo motor show its variations as the output of this project.
  • 3. BLOCK DIAGRAM 16X2 LINE LCD DISPLAY P I C 1 6 F 8 7 7 A IMPEDENCE BUFFER FLEX SENSOR2 FLEX SENSOR1 SERVO MOTROR GSM MODEM INTERFACE GSM MODEM POWER SUPPLY
  • 4. BLOCK DIAGRAM DESCRIPTION B Block diagram consists of seven blocks 1) Microcontroller 2) Flex Sensor 3) Impedance Buffer 4) Servo Motor 5) 16x2 Line Display 6) GSM Modem interface 7) GSM Modem 8) Power Supply 1) Microcontroller Microcontroller as its CPU. The PIC 16F877A is a low-power, high-performance CMOS 8-bit microcomputer with 8K words of Flash Programmable and Erasable Read Only Memory (PEROM). The device is manufactured using Microchip’s high density nonvolatile memory technology and is compatible with its RISC instruction. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU with Flash on a monolithic chip, the PIC 16F877A is a powerful microcomputer which provides a highly flexible and cost effective solution for many embedded control applications. PIN DIAGRAM OF PIC16F877A MICROCONTROLLER CORE FEATURES • High performance RISC CPU • Only 35 single word instructions to learn • All single cycle instructions except for program branches which are two cycle • Operating speed: DC - 20 MHz clock input DC - 200 ns instruction cycle • Up to 8K x 14 words of FLASH Program Memory, Up to 368 x 8 bytes of Data Memory (RAM) Up to 256 x 8 bytes of EEPROM Data Memory • Pin out compatible to the PIC16C73B/74B/76/77 • Interrupt capability (up to 14 sources) • Eight level deep hardware stack
  • 5. • Direct, indirect and relative addressing modes • Power-on Reset (POR) • Power-up Timer (PWRT) and Oscillator Start-up Timer (OST) • Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation • Programmable code protection • Power saving SLEEP mode • Selectable oscillator options • Low power, high speed CMOS FLASH/EEPROM technology • Fully static design • In-Circuit Serial Programming (ICSP) via two pins • Single 5V In-Circuit Serial Programming capability • In-Circuit Debugging via two pins • Processor read/write access to program memory • Wide operating voltage range: 2.0V to 5.5V • High Sink/Source Current: 25 mA • Commercial, Industrial and Extended temperature ranges • Low-power consumption: - < 0.6 mA typical @ 3V, 4 MHz - 20 μA typical @ 3V, 32 kHz - < 1 μA typical standby current PERIPHERAL FEATURES: • Timer0: 8-bit timer/counter with 8-bit prescaler • Timer1: 16-bit timer/counter with prescaler, can be incremented during SLEEP via external crystal/clock • Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler • Two Capture, Compare, PWM modules • Capture is 16-bit, max resolution is 12.5 ns • Compare is 16-bit, max resolution is 200 ns • PWM max resolution is 10-bit • 10-bit multi-channel Analog-to-Digital converter • Synchronous Serial Port (SSP) with SPI (Master mode) and I2C (Master/Slave) • Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address detection • Parallel Slave Port (PSP) 8-bits wide, with external RD, WR and CS controls (40/44-pin only) • Brown-out detection circuitry for Brown-out Reset (BOR) 2) Flex Sensor Flex sensor is simply a resistor which its resistance depending on bend radius. Features: - Angle Displacement Measurement - Bends and Flexes physically with motion device - Possible Uses - Robotics - Gaming (Virtual Motion)
  • 6. - Medical Devices - Computer Peripherals - Musical Instruments - Physical Therapy - Simple Construction 3) Impedance Buffer The impedance buffer is a single sided operational amplifier, used with these Sensors because the low bias current of the op-amp reduces error due to source impedance of the flex sensor as Voltage divider. Suggested op amps are the LM358 or LM324. 4) Servo Motor Servo Motor uses error sensing negative feedback to control the precise angular position. Servos are used for precise positioning in robotic arms, legs, RC Aero
  • 7. planes, Helicopters etc. Please read the article Servo Motor for more information about its working and construction. Hobby Servo Motors have three wires, two of them (RED and BLACK) are used to given power and the third one is used to give control signals. Servo can be easily being controlled using microcontrollers using Pulse Width Modulated (PWM) signals on the control wire. Here we are using a servo whose angular rotation is limited to 0 – 180°. We can control the exact angular position by using a pulse, whose width varying from 1 millisecond to 2 millisecond on the control wire. 4) 16x2 line Lcd Display
  • 8. LCD display unit helps user to manage and monitor operation very easily. It is a 20X4 lines alpha numeric display unit displays all events which lead this as menu driven operation. More details about it are given below. FEATURES • Easy interface with a 4/8-bit MPU. • Built-in dot matrix LCD controller with font 5x7 or 5x10 dots. • Display data RAM for 80 characters(80x8 bits). • Character generator ROM which provide 160 characters. • Both DD ram and CG ram can be read from MPU. • Internal automatic reset circuit at power on. • Built-in oscillator circuit. • Wide range of instruction functions: clear display, cursor home, display on/off, sources shift, etc. When connecting the LCD module to a parallel I/O device, the burden of ensuring proper operation falls on the software. Incorrect combination of data bus direction and R/W pin logic can irreversibly damage the module. At the interface of LCD module, there are three power supply terminals- Vdd, GND, Vo. The LCD is driven by the voltage which is determined by Vdd- Vo. Since the optimum voltage for LCD shifts according to temperature changes, voltage at Vo terminal needs to be adjusted. The data bus lines DB7-DB0 has the capacity of driving one TTL of capacitance 130pF. The data bus terminals have tri-state construction. When the enable signal is at the low level, these data bus terminals will remain in a high impedance state. The data bus terminals has pull-up MOS: so, when the data bus is open, it produces a high output voltage. When the busy flag is at a high level, it indicates that the controller is in the internal operation mode and the next instruction will not be accepted. The next instruction must be written after the busy flag goes low. ADDRESS COUNTER (AC)
  • 9. The address counter generates address for DD RAM, CG RAM and for the cursor display. When an instruction code for DD RAM or CG RAM address is written to the controller after deciding whether it is DD RAM or CG RAM, the address information is transferred to the AC. After writing into or reading from DD RAM or CG RAM, AC is automatically incremented or decremented. The data of the AC is output to the DB0-DB6, when RS is 0 and R/W is 1. CHARACTER GENERATOR MEMORY The CG ROM generates 5x7 dot or 5x10 dot character patterns from the 8-bit character codes. It can generate 160 types of 5x7 dot character patterns. When the 8-bit character code of a CG ROM is written to the DD RAM, the character pattern of the CG ROM corresponding to the code is displayed on the LCD display position corresponding to the DD RAM. The CG RAM is the RAM with which the user can generate character patterns by programs. The CG RAM has the capacity to store 8 kinds of 5x7 dots. DISPLAY DATA RAM The DD RAM stores the display data represented by 8-bit character codes. Its capacity is 80 characters. Depending on the 8-bit character code that is written to the DD RAM LCD will select the character pattern either from the CG ROM or CG RAM. The cursor is under the control of the microcontroller program. The display of the cursor on the LCD is made at a position corresponding to the DD RAM address given to the AC. The timing generation circuit is used to generate timing signals to operate on the internal operations upon reception of the microcontroller instructions and also for such internal circuits as the CG RAM, DD RAM and CG ROM. It is so designed that the external operation by the accessing MP3 will not interfere with the internal operation of the LCD display. Therefore, when writing data to the DD RAM, for example, there will be no undesirable influence, such as flickering on the display area. In addition, this circuit also generates the transfer signal to the externally connected driver chips display character expansion. INSTRUCTION CODE
  • 10. The instruction code is a command set through which the LCD module is controlled by the MPU. Prior to the internal execution of the instruction code, control information is temporarily stored in the internal registers of the module, to allow interface of various types of MPU, which operate at different speeds. The LCD module begins its operation upon the reception of instruction codes from the MPU. Different instruction codes and various abbreviations are as below: S=1 : Accompanies display shift when data is written, for normal operation set to 0. I/D=1/0: Increment/decrement DL=1/0: 8-bits/4-bits S/C=1/0: Display shift/cursor move N=1/0: 2 line/1 line R/L=1/0: Shift to the right/ shift to the left F=1/0: 5x10 dots/ 5x7 dots BF=1/0: Internally operating/ can accept instruction. *: Don’t care B=1/0: Blinking on/ off C=1/0: Cursor on/off D=1/0: Display on/off CG RAM: Character generator RAM DD RAM: Display data RAM CG0-CG5: CG RAM address DD0-DD6: DD RAM address corresponds to cursor address BA0-BA6: address counter used for both DD RAM and CG RAM address 5) GSM Modem Interface MAX232 To allow compatibility among communication equipment made by various manufactures, an interfacing standard called RS232 was set by the Electronics Industries Association (EIA) in 1960. Since the RS232 standard is not suitable with today’s microprocessors and microcontrollers, we need a line driver (voltage converter) to convert the RS232 levels to TTL
  • 11. voltage levels that will be acceptable to 8051’s TXD and RXD pins. One of such converter is MAX232 from Maxim Corp. On advantage of MAX232 chip is that it uses a +5V power source which is same as the source voltage for 8051. MAX232 converts TTL logic levels to RS232 logic levels and vice versa. In RS232, a 1 is represented by -3V to +25V, while a 0 bit is +3V to +25V, making -3 to +3 undefined. For this reason, to connect any Rs232 to a microcontroller system we must use voltage converters such as MAX232. PIN DIAGRAM OF MAX 232 General Description The MAX220–MAX249 family of line drivers/receivers is intended for all EIA/TIA-232E and V.28/V.24 communications interfaces, particularly applications where ±12V is not available. These parts are especially useful in battery-powered systems, since their low-power shutdown mode reduces power dissipation to less than 5µW. The MAX225, MAX233, MAX235, and MAX245/MAX246/MAX247 use no external components and are recommended for applications where printed circuit board space is critical. Applications Portable Computers Low-Power Modems Interface Translation Battery-Powered RS-232 Systems Multidrop RS-232 Networks Features
  • 12. Superior to Bipolar • Operate from Single +5V Power Supply (+5V and +12V—MAX231/MAX239) •Low-Power Receive Mode in Shutdown (MAX223/MAX242) • Meet All EIA/TIA-232E and V.28 Specifications •Multiple Drivers and Receivers •3-State Driver and Receiver Outputs • Open-Line Detection (MAX243) 6) GSM MODEM GSM (Global System for Mobile Communications, originally Group Special Mobile), is a standard set developed by the European Telecommunications Standards Institute (ETSI) to describe protocols for second generation (2G) digital cellular networks used by phones. it is the most popular standard for mobile phones in the world. It is a wireless MODEM – just like dial- up MODEM, which works with GSM wireless network. But there is a difference between dial-up MODEM and wireless MODEM. Dial-up MODEM send and receives data through a fixed telephone line while wireless MODEM send and receive data through radio waves. Microcontrollers use AT commands to control modems. RS232 serial interface is used for interfacing the GSM modem with a microcontroller. This interface is used to setup the GSM modem. One of the key features of GSM is the Subscriber Identity Module (SIM), commonly known as a SIM card. The SIM is a detachable smart card containing the user's subscription information and phone book. This allows the user to retain his or her information after switching handsets. Alternatively, the user can also change operators while retaining the handset simply by changing the SIM. Some operators will block this by allowing the phone to use only a single SIM, or only a SIM issued by them; this practice is known as SIM locking, and is illegal in some countries. FEATURES •Quad Band GSM/GPRS 850/900/1800/1900 MHz • GPRS multi-slot class 10/8 • GPRS Mobile station class B • Compliant to GSM Phase 2/2+ Class 4 (2W@850/900Mhz) Class 1(1W@1800/1900Mhz) • Control via AT commands (GSM 07.07, 07.05 and enhanced AT commands) • Operation Temperature (-20 deg to +55 deg c) Specification for SMS • Point-to-point MO and MT • SMS cell broadcast
  • 13. • Text and PDU mode Getting started • Insert SIM card: Press the yellow pin to remove the tray from the SIM cardholder. After properly fixing the SIM card in the tray, insert the tray in the slot provided. • Connect Antenna: Screw the RF antenna on the RF cable output provided. • If voice call is needed, connect the mic and speaker to stereo sockets. • Connect RS232 Cable: (Cable provided for RS232 communication) Default baud rate is 9600 with 8-N-1, no hardware handshaking. Cable provided has pins 7 and 8 shorted that will set to no hardware handshaking. In you need hardware handshaking the pins 7-8 can be taken for signaling. • Pin 2 is RS232 level TX out • Pin 3 is RS232 level RX in • Pin 5 is Ground • Pin 7 RTS in (shorted to pin 8 in cable for no hardware handshaking) • Pin 8 CTS out (shorted to pin 7 in cable for no hardware handshaking) • Connect the power Supply (9-12V) to the power jack. Polarity should be Center +ve and Outer –ve DC jack. • Network Led indicating various status of GSM module eg. Power on, network registration & GPRS connectivity. • After the Modem registers the network, led will blink in step of 3 seconds. At this stage you can start using Modem for your application. • AT commands set section is covered in following document 7) Power Supply The power supply is the most indispensable part of any project. IC regulators are versatile and relatively inexpensive and are available with features such as current/voltage boosting, internal short circuit current limiting, thermal shutdown and floating operation for high voltage applications. The regulated circuit is used to maintain constant output level. The integrated circuit regulator, sometimes called the three terminal regulators contains the circuitry for reference source error amplitude control device and overload protection all in a single IC chip.
  • 14. The regulator IC here used isL7805. It provides regulated 5V to the controller. Its maximum input voltage is 35V and minimum voltage is 8V. Output is constant 5V. The L7800 series of three-terminal positive regulators is available in TO-220, TO-220FP, TO-3 and D2PAK packages and several fixed output voltages, making it useful in a wide range of applications. These regulators can provide local on-card regulation, eliminating the distribution problems associated with single point regulation. Each type employs internal current limiting, thermal shut-down and safe area protection, making it essentially indestructible. If adequate heat sinking is provided, they can deliver over 1A output current. Although designed primarily as fixed voltage regulators, these devices can be used with external components to obtain adjustable voltages and currents. Features Different packages of 7805 •output current up to 1.5 A • output voltages of 5; 5.2; 6; 8; 8.5; 9; 12; 15; 18; 24V • Thermal overload protection •Short circuit protection • Output transition SOA protection • Maximum input voltage =35V (for Vo=5 to 18V), =40V (for Vo=20 to 24V)
  • 15. CIRCUIT DIAGRAM D 1 5 V 1 J S 1 FLEXSENSOR 1 21 2 + 5 V S 2 M 2 lim it + 5 V J S 3 S E R V O M O T O R 1 1 2 3 VCC TXI/P GND G S M IN T E R F A C E C IR C U IT C 2 2 2 u F / 2 5 V J S 4 S E R V O M O T O R 2 1 2 3 VCC TXI/P GND 0 L C D 1 L C D 1 6 x 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5 1 6 V s s V c c V e e RS G N D E D0 D1 D2 D3 D4 D5 D6 D7 L A M P G N D R 1 1 0 0 0 0 0 G N D I C 1 M A X 2 3 2 1 3 8 1 1 1 0 1 3 4 5 2 6 1 2 9 1 4 7 1 6 1 5 R 1 I N R 2 I N T 1 I N T 2 I N C + C 1 - C 2 + C 2 - V + V - R 1 O U T R 2 O U T T 1 O U T T 2 O U T V C C G N D 0 0 + - B U Z 1 B U Z Z E R + 5 V C 2 2 2 P I C 2 A L M 3 5 8 3 2 84 1 + - V+V- O U T R X D T X D G N D P O R T 1 5 3 2 + 1 2 V V R 1 1 0 K + 5 V C 3 0 . 1 u F 0 0 R 3 4 7 0 K Y 1 2 0 M H z 0 V C C I C 1 P I C 1 6 F 8 7 7 A 1 11 12 1 3 1 4 2 3 2 4 2 5 2 6 31 32 2 3 4 5 6 7 2 2 8 1 5 1 6 1 7 1 8 9 1 0 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 1 9 2 0 2 1 2 7 2 8 2 9 3 0 M C L R / V P P VDD VSS O S C 1 / C L K I N O S C 2 / C L K O U T R C 4 / S D I / S D A R C 5 / S D O R C 6 / T X / C K R C 7 / R X / D T VSS VDD R A 0 / A N 0 R A 1 / A N 1 R A 2 / A N 2 / V r e f - / C V r e f R A 3 / A N 3 / V r e f + R A 4 / T O C K I / C 1 o u t R A 5 / A N 4 / S S / C 2 o u t R D 3 / P S P 3 R E 0 / R D / A N 5 R C 0 / T 1 O S O / T 1 C K I R C 1 / T 1 O S I / C C P 2 R C 2 / C C P 1 R C 3 / S C K / S C L R E 1 / W R / A N 6 R E 2 / C S / A N 7 R B 0 / I N T R B 1 R B 2 R B 3 / P G M R B 4 R B 5 R B 6 / P G C R B 7 / P G D R D 0 / P S P 0 R D 1 / P S P 1 R D 2 / P S P 2 R D 4 / P S P 4 R D 5 / P S P 5 R D 6 / P S P 6 R D 7 / P S P 7 0 C 5 2 2 u F / 2 5 V J S 1 FLEXSENSOR 1 21 2 0 R 3 4 7 0 K C 1 2 2 P C 6 2 2 u F / 2 5 V R 2 2 2 0 E 0 . 5 W 0 S 1 M 1 lim it C 4 0 . 1 u F 0 I C 2 A L M 3 5 8 3 2 84 1 + - V+V- O U T 0 + 5 V 0 + 5 V C 1 2 2 u F / 2 5 V
  • 16. D 4 0 C 9 4 7 0 u F 0 I C 3 L M 7 8 0 5 C I N O U T GND 0 D 1 D 1 N 4 0 0 7 0 P O W E R S U P P L Y C 1 3 1 0 0 0 u F D 2 D 1 N 4 0 0 7 0 Z D 1 5 V 1C 1 0 0 . 1 u F GND 0 + 1 2 V 0 T 1 M A I N P O W E R 1 2 3 C 1 2 0 . 1 u F V C C L E D 6 P O W E R 0 0 R 8 1 K 0 C 1 1 0 . 1 u F + 5 V D 3 1 N 4 0 0 7 0 + 5 V
  • 17.
  • 18. CIRCUIT DIAGRAM DESCRIPTION In our circuit, PIC16F877A Microcontroller constitutes the heart of the system, which control all other blocks. It is achieved through its inbuilt port pins. There are 5 ports named as A, B, C, D and E having 33 pins. Port A-6pins, port B-8 pins, port C-8 pins, port D-8 pins and port E-3 pins. All these port pins are bidirectional and bit addressable. By utilizing its port’s feature, any device can control by any port, thus hardware design become very simple. Pin 13 and 14 of controller are connected to a crystal, which generates system clock. Oscillator circuit is on-chip and it requires crystal and decoupling capacitors only. It is the essential external circuit for the controller. It is a simple crystal and decoupling capacitor which act as system clock generator. It’s like heart beats in a human body. Its maximum frequency is up to 20MHz and can use any frequency below the value. The 22pf disc capacitors connected across crystal pins and GND are for canceling harmonic noises. These value of capacitors are taken according to the direction given in datasheet Reset pin is the first pin (MCLR) of this controller, and is used to restart the system without power off. It’s is an active low pin and kept high using a resistor, across the pin and VCC. Pin 11, 32 and 12, 31 are power pins and connected to +5V and Ground respectively. The initialization of different ports and pins of the microcontroller chip in our circuit is described below. PORT B is connected to LCD display as its data bus. PORT D pins PD.7 and PD.6 are connected to LCD’s control inputs. Microcontroller sends display data and control signals through port pins. LCD requires ASCII data for displaying symbols. It will generated by Microcontroller program. Figure below shows the LCD display circuit. LCD has 16 pins which are classified as power, data bus, contrast control and back light. Power pins are connected to +5V and 1 6 X 2 L C D 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 V s s V c c V e e RS R / W LE D0 D1 D2 D3 D4 D5 D6 D7 LAMP GND 0 GND G N D V R 1 1 0 K R 1 1 0 0 + 1 2 V 0 V C C
  • 19. GND. Data bus is connected to port 1 of controller. Back light pins are biased from 12V using a series resistor 220E 1/2W. LCD receives ASCII data and display alphabets, numbers, symbols, etc. PORT 1 is connected to LCD display as its data bus. PORT 3 pins P3.2 and P3.3 are connected to LCD’s control inputs. Microcontroller sends display data and control signals through port pins. LCD requires ASCII data for displaying symbols. It will generated by Microcontroller program. LCD serves as a useful interface for the user. The LCD here used has 16 character x 2 line display facility. It has 16 pins. Pin 1 and 2 are GND and VCC respectively. Pin 3 is VEE which is used for controlling LCD contrast. Contrast line is connected to voltage divider using preset. Contrast can vary by this preset. There are two important registers inside the LCD, command register and data/display register. The RS pin is used for their selection. If RS=0, the instruction command code register selected, allowing the user to send commands such as clear display, cursor at home, etc. If RS=1, the data register is selected, allowing the user to send data to be displayed on the LCD. The fifth pin R/W input allows the user to write information to the LCD or read information from it. R/W=1 when reading and, R/W=0 when writing. In our system only writing is performed and this pin is connected to GND. When data is supplied to data pins a high to low pulse must be applied to this pin in order for the LCD to latch interfacing the data present at the data pins. This pulse must be a minimum of 450ns. The eight bit data pins, D0 to D7, are used to send information to the LCD or read contents of the LCDs internal registers. To display letters and numbers we send ASCII codes for the letters A-Z, a-z, numbers 0-9 to these pins while making RS=1. The pins 15 and 16 are used as supply pins of backlight. A +12V is connected to pin 15 via a 100/220E 1/2W resistor and pin 16 is grounded. The data bus lines DB7-DB0 has the capacity of driving one TTL of capacitance 130pF. The data bus terminals have tri-state construction. When the enable signal is at the low level, these data bus terminals will remain in a high impedance state. The data bus terminals has pull-up MOS: so, when the data bus is open, it produces a high output voltage. When the busy flag is at a high level, it indicates that the controller is in the internal operation mode and the next instruction will not be accepted. The next instruction must be written after the busy flag goes low. FLEX SENSOR INTERFACCE
  • 20. MAX232 MAX232 is used to convert TTL logic levels to RS232 logic levels and vice versa. To allow compatibility among communication equipment made by various manufactures, an interfacing standard called RS232 was set by the Electronics Industries Association (EIA) in 1960. Since the RS232 standard is not suitable with today’s microprocessors and microcontrollers, we need a line driver (voltage converter) to convert the RS232 levels to TTL voltage levels that will be acceptable to 8051’s TXD and RXD pins. One of such converter is MAX232 from Maxim Corp. On advantage of MAX232 chip is that it uses a +5V power source which is same as the source voltage for 8051. In RS232, a 1 is represented by -3V to +25V, while a 0 bit is +3V to +25V, making -3 to +3 undefined. For this reason, to connect any Rs232 to a microcontroller system we must use voltage converters such as MAX232.
  • 21. GSM INTERFACE CIRCUIT The Max232 has two sets of line drivers for transferring and receiving data. The line driver used for TXD are called T1 and T2, and that for RXD are called R1 and R2.In many applications only one of them is used. For example, T1 and R1 are used together for TXD and RXD of the microcontroller, and the second set is left unused. In MAX232 the T1 line driver has a designation of T1 IN and T1 OUT on pin numbers 11&14, respectively. The T1 IN pin is the TTL side and is connected to TXD of the microcontroller while T1 OUT is the RS232 side and is connected to the RXD pin of the RS232 DB connector. The R1 line driver has the designation of R1 IN and R1 out on pin numbers13 and 12 respectively. The R1 IN pin is the RS232 side and is connected to the TXD pin of the RS232 DB connector, and R1 out pin is the TTL side that is connected to RXD pin of the microcontroller. MAX232 requires four capacitors ranging from 1 to22uF.The most widely used value for these capacitors is 22uF. POWER SUPPLY The power supply for the various part of the circuit is drawn from the circuit as shown in the fig. C 6 2 2 u F / 2 5 V 0 C 4 0 . 1 u F 0 D 1 5 V 1 C 1 2 2 u F / 2 5 V 0 V C C 0 C 2 2 2 u F / 2 5 V R X D T X D G N D P O R T 1 5 3 2 0 C 3 0 . 1 u F C O N 1 T O M A I N 2 1 3 4 R X D T X D G N D + 5 V G N D I C 1 M A X 2 3 2 1 3 8 1 1 1 0 1 3 4 5 2 6 1 2 9 1 4 7 1 6 1 5 R 1 I N R 2 I N T 1 I N T 2 I N C + C 1 - C 2 + C 2 - V + V - R 1 O U T R 2 O U T T 1 O U T T 2 O U T V C C G N D C 5 2 2 u F / 2 5 V 0
  • 22. Almost all electronic equipments include a circuit that converts AC voltages of main supply in to DC voltage. In general, at the input of the power supply, there is a power transformer. A diode circuit called Rectifier follows it. The output of the rectifier goes to a smoothing filter, and then to a voltage regulator circuit. The ac voltage, typically 220V rms, is connected to a step down transformer, which steps that ac voltage down. The transformer here used is 12/012V 2A.so its secondary voltage is 12V AC. A diode rectifier (D1 &D2) then provides a full-wave rectified voltage that is initially filtered by a simple capacitor filter 1000uF to produce a dc voltage (12V DC). This resulting dc voltage usually has some ripples or ac voltage variation. A regulator circuit removes the ripples and also remains the same dc value even if the input dc voltage varies, or the load connected to the output dc voltage changes. This voltage regulation is usually obtained using one of the popular voltage regulator IC units. Here we use LM7805.Capacitors C5, C6, &C7 and diodes D3 &D4 is used for canceling the power supply noises. A 5.1V zener diode connected at the output of the regulator IC is for circuit protection. In normal case it does not conducts and it conducts only in the case of regulator IC failure. SOFTWEARE SECTION FLOW CHART - MAIN ROUTINE I C 6 L M 7 8 0 5 C I N O U T GND C 6 1 u F L E D 2 P O W E R P O W E R S U P P L Y + 5 V C 1 0 0 . 1 u F 0 Q 2 B C 5 5 8 0 R 7 1 0 KD 6 Z D 1 5 V 1 0 C 5 1 0 u F D 2 C 8 0 . 3 3 u F D 4 C 7 1 0 0 0 u F / 1 6 V 0 R 4 1 K 0 R 6 4 7 K V C C R E S E T 0 V C C R 5 1 0 K C 9 0 . 1 u F D 5 00 G N D 0 C O N 6 A C - 1 2 - 0 - 1 2 V 1 2 3 + 1 2 V 0 000 START CONFIGURE PORTS CONFIGURE ADC CONFIGURE INTERRUPT
  • 23. PROGRAM #include <pic.h> #include <stdio.h> CONFIGURE SERIAL PORT ENABLE GLOBAL & PERIPHERALDISPLAY WELCOME SCREEN RESET MOTOR READ FLEX SENSORS COMPARE PATTERN YES IF CHARACTER FOUND? MARK SMS STATUS=PENDING B A NO A IF RCIF==1 B READ RCREG IF INFORM MESSAGE== RECEIVED READ CHARACTER RESET MOTOR ROTATE MOTOR STOP
  • 24. /*-------------------------------------------------*/ #define BUZZER RD0 #define SERVO1 RC0 #define SERVO2 RC1 #define M1_SWITCH RC2 #define M2_SWITCH RC3 #define ENABLE 0 #define DISABLE 1 #define DETECTED 1 #define ON 1 #define OFF 0 #define START 1 #define STOP 2 #define WAITING 3 #define PROGRESSING 4 #define NO 1 #define YES 2 #define REQUESTED 'r' #define NORMAL 'n' #define ALERT 'a' #define _ENTER 0x0d #define _CTRL_Z 0x1a #define ERROR 0 #define FOUND 1 #define OK 'O' #define PASS 'p' #define FAIL 'f' /*-------------------------------------------------*/ extern void delay(unsigned long int); extern void delay_IRQ(unsigned long int); extern void preparelcd(void); extern void lcdprintf(const char*); extern void lcdprintd(unsigned char, unsigned char); extern void blink_curser(unsigned char); extern void hide_curser(void); /*-------------------------------------------------*/
  • 25. unsigned char const RESET_COMMAND[]="ATH"; unsigned char const ECHO_OFF_COMMAND[]="ATE0"; unsigned char const SMS_DEL_COMMAND1[]="AT+CMGDA="; unsigned char const SMS_DEL_COMMAND2[]="DELALL"; unsigned char const SMS_READ_COMMAND[]="AT+CMGR=1"; unsigned char const SMS_FORMAT[]="AT+CMGF=1"; unsigned char const SMS_SEND_COMMAND[]="AT+CMGS="; unsigned char const DIALUP_NO[]="9961724095"; /*-------------------------------------------------*/ unsigned int SENSOR_X,SENSOR_Y; bank1 char DisplayTurn=1,FrameChange=NO,Count=0,ReplyStatus=NORMAL; bank1 char ModemData[10]; /*-------------------------------------------------*/ void servo1Rotate180(void) //180 Degree { unsigned char i; for(i=0;i<50;i++) { SERVO1 = 1; Delay_us(2000); SERVO1 = 0; Delay_us(3000); } } /*-------------------------------------------------*/ void servo2Rotate180(void) //180 Degree { unsigned char i; for(i=0;i<50;i++) { SERVO2 = 1; Delay_us(2000); SERVO2 = 0; Delay_us(3000); } } /*-------------------------------------------------*/ void RestMotor(void) { while(M1_SWITCH!=PRESSED) { servo1Rotate180(); } while(M2_SWITCH!=PRESSED) {
  • 26. servo2Rotate180(); } } /*-------------------------------------------------*/ unsigned int ReadADC(char chanel) { unsigned int value; if(chanel==0){ CHS2=0; CHS1=0; CHS0=0; } else if(chanel==1){ CHS2=0; CHS1=0; CHS0=1; } else if(chanel==2){ CHS2=0; CHS1=1; CHS0=0; } else if(chanel==4){ CHS2=1; CHS1=0; CHS0=0; } for(value=0;value<100;value++)continue; ADGO = 1; while(ADGO==1 )continue; value = ADRESH; value = value<<8; value = value|ADRESL; return(value); } /*-------------------------------------------------*/ void ResetCOM(void) { char temp; RCIF = 0; CREN = 0; CREN = 1; temp = RCREG; temp = RCREG; } /*-------------------------------------------------*/ void ResetCOM_IRQ(void) { char temp; RCIF = 0; CREN = 0; CREN = 1; temp = RCREG; temp = RCREG; } /*-------------------------------------------------*/ void Beep(void) { BUZZER = ON; delay(50); BUZZER = OFF;
  • 27. } /*-------------------------------------------------*/ void Beep_IRQ(void) { BUZZER = ON; delay_IRQ(25); BUZZER = OFF; delay_IRQ(50); } /*-------------------------------------------------*/ void Beep_Long(void) { BUZZER = ON; delay_IRQ(100); BUZZER = OFF; delay_IRQ(100); } /*-------------------------------------------------*/ void SendToModem(unsigned char value) { TXREG = value; while(TRMT==0)continue; } /*-------------------------------------------------*/ void SendToMODEM_IRQ(char value) { TXREG = value; while(TRMT==0)continue; } /*-------------------------------------------------------------*/ unsigned char ReadModem(void) { unsigned int count=0; CREN = 0; CREN = 1; while(RCIF==0&&count<50000)count++; if(RCIF==1) return(RCREG); else return(ERROR); } /*-------------------------------------------------*/ unsigned char ReadModem_IRQ(void) { unsigned int count=0; CREN = 0; CREN = 1;
  • 28. while(RCIF==0&&count<50000)count++; if(RCIF==1) return(RCREG); else return(ERROR); } /*-------------------------------------------------*/ void DisconnectModem(void) { char n; for(n=0;n<3;n++) { SendToModem(RESET_COMMAND[n]); delay(500); } delay(500); SendToModem(_ENTER); delay(1000); } /*-------------------------------------------------*/ void SendSMS(void) { char add,n,value; char const command[]="AT+CMGS="; lcdprintf("MESSAGING.......n"); lcdprintf("nPH: "); for(n=0;command[n];n++) { SendToModem(command[n]); delay(100); } SendToModem('"'); delay(500); for(n=0,add=0xc3;n<10;n++,add++) { value = DIALUP_NO[n]; SendToModem(value); lcdprintd(value,add); delay(100); } SendToModem('"');
  • 29. delay(1000); SendToModem(_ENTER); delay(2000); SendToModem(Character[n]); delay(1000); SendToModem(_CTRL_Z); delay(1000); } /*-------------------------------------------------------------*/ /*-------------------------------------------------------------*/ /*-------------------------------------------------------------*/ /*-------------------------------------------------------------*/ /*-------------------------------------------------------------*/ char SearchSMS_IND(void) { char n; for(n=0;n<25;n++) { if(ModemData[n]=='+'&&ModemData[n+1]=='C'&&ModemData[n+2]=='M'&&Modem Data[n+3]=='T'&&ModemData[n+4]=='I') { return(FOUND); } } return(ERROR); } /*-------------------------------------------------------------*/ char CheckCommand_SendParameters(void) { char const command[]="WRITE"; char n; for(n=0;n<4;n++) { if(ModemData[n]!=command[n])return(FAIL); } return(PASS); } /*-------------------------------------------------------------*/ void servoRotate180() //180 Degree {
  • 30. unsigned int i; for(i=0;i<50;i++) { PORTB.F0 = 1; Delay_us(2200); PORTB.F0 = 0; Delay_us(17800); } } /*-------------------------------------------------------------*/ void interrupt MODEM_TIMER_IRQ(void) { char sdata,data_count,n; if(RCIF==1) { sdata = RCREG; ModemData[0] = sdata; sdata = 1; ResetCOM_IRQ(); for(data_count=1;data_count<25&&sdata!=ERROR;data_count++) { sdata = ReadModem_IRQ(); if(sdata!=ERROR&&data_count<25) { ModemData[data_count] = sdata; } else if(sdata==ERROR) break; } sdata = SearchSMS_IND(); if(sdata==FOUND) { Beep_IRQ(); for(n=0;n<9;n++) { SendToMODEM_IRQ(SMS_READ_COMMAND[n]); delay_IRQ(50); } delay_IRQ(1000); SendToMODEM_IRQ(_ENTER); sdata = 0; ResetCOM_IRQ(); for(data_count=0;data_count<150&&sdata!='$';data_count++)
  • 31. { sdata = ReadModem_IRQ(); } //$SEND# if(sdata=='$') { for(data_count=0;data_count<10&&sdata!='#';data_count++) { sdata = ReadModem_IRQ(); ModemData[data_count] = sdata; } Beep_IRQ();Beep_IRQ(); if(sdata=='#') { Beep_IRQ();Beep_IRQ();Beep_IRQ(); sdata = CheckCommand_SendParameters(); if(sdata==PASS) { if(ModemData[4] == 'A') { RestMotor(); servo1Rotate180(); } if(ModemData[4] == 'B') { RestMotor(); servo1Rotate180(); servo2Rotate180(); } } } } delay_IRQ(1000); delay_IRQ(1000); delay_IRQ(1000); delay_IRQ(1000); for(n=0;n<9;n++) { SendToMODEM_IRQ(SMS_DEL_COMMAND1[n]); delay_IRQ(50); } SendToMODEM_IRQ('"'); for(n=0;n<7;n++) {
  • 32. SendToMODEM_IRQ(SMS_DEL_COMMAND2[n]); delay_IRQ(50); } SendToMODEM_IRQ('"'); delay_IRQ(1000); SendToMODEM_IRQ(_ENTER); } CREN = 0; CREN = 1; sdata = RCREG; sdata = RCREG; } } /*-------------------------------------------------------------*/ /*-------------------------------------------------------------*/ void main(void) { char temp; ADCON0 = 0xc1; ADCON1 = 0xC2; //AN0-AN4 analog and all other digital. TRISA = 0x3f; //X,Y,. TRISB = 0x00; //LCD databus. TRISC = 0xc0; //COM, RUTE_GSM, BUZZER. TRISD = 0x00; //LCD_E&RS,ROUTE_GPS,RELAY_BREAK. PORTB = 0x00; PORTC = 0xe0; PORTD = 0xf0; PORTE = 0x03; TXSTA = 0x20; //Transmit status and control register with normal speed. RCSTA = 0x90; //Receive status and control register. SPBRG = 17;//Baut rate register. Fosc/(64(SPBRG+1)) 9600baud @11.0592MHz. preparelcd(); lcdprintf("INITIALISING....n"); lcdprintf("n Please wait "); Beep(); RestMotor(); for(temp=0;temp<9;temp++) { SendToModem(SMS_FORMAT[temp]);
  • 33. } SendToModem(_ENTER); delay(1000); for(temp=0;temp<4;temp++) { SendToModem(ECHO_OFF_COMMAND[temp]); } SendToModem(_ENTER); delay(1000);delay(1000); for(temp=0;temp<9;temp++) { SendToModem(SMS_DEL_COMMAND1[temp]); delay(100); } SendToModem('"'); for(temp=0;temp<7;temp++) { SendToModem(SMS_DEL_COMMAND2[temp]); delay(100); } SendToModem('"'); delay(1000); SendToModem(_ENTER); delay(25); lcdprintf("GESTURE CTRLEDn"); lcdprintf("nTEXT TO BRAILLE"); Beep(); delay(2000); lcdprintf("Reading.........n"); lcdprintf("n----------------"); Beep(); delay(2000); RCIF = 0; CREN = 0; CREN = 1; temp = RCREG; temp = RCREG; INTCON = 0xc0; //Global and peripheral interrupt enabled. PIE1 = 0x20; //Serial RXD interrupt enabled. while(1) {
  • 34. Flex1 = ReadADC(0); Flex2 = ReadADC(1); if(Flex1>380&&Flex2<280&&SMSStatus=!Marked) { Character[0]='C'; SMSStatus=Marked; } else if(Flex1<280||Flex1>380&&Flex2<280&&SMSStatus=!Marked) { Character[0]='L'; SMSStatus=Marked; } else if(Flex1<280||Flex2>380&&SMSStatus==Marked) { SendSMS(); } } } /*-------------------------------------------------*/ HARDWARE SECTION THE PCB DESIGN Design of printed circuit board (PCB) can be considered as the last step in electronic circuit design as well as the first step in production. It plays important role in the performance
  • 35. and reliability of electronic circuits, the productivity of the PCB’s its assembling, and its service ability depends on design. All these factors get reflected in a piece of electronic equipment. It is clear that task of PCB design is not very simple or always straight forward. The schematic is follower by layout generation. Layout design is the stage where engineering capacity combined with creativity is the governing inputs. ELECTRONIC DESIGN AUTOMATION TOOLS Most product testing is being done is done with the help of computer programs. The term Electronic Design Automation (EDA) is being used to describe the use of these tools. With the help of advanced powerful computing systems and interactive software tools and development of electronic circuits has undergone automation. Thus the software and hardware tools, which enables this automation includes PCB designing, IC design, circuit simulation etc. These tools help us in such a way that we can draw the circuit; test the functioning of the circuit in response to test inputs in simulation software. After successfully simulation we can get the PCB art work done by replacing the routing software. The design automation tool used here is ORCAD. PCB DESIGN PROCEDURES The PCB designing procedure consists of following steps: Drawing the circuit schematic Drawing of circuit is done through ORCAD CAPTURE. It includes many libraries with thousands of component symbols. We can select the required symbol from the library and place it in the schematic page. After placing the component symbols, we can complete the interconnection using wire or bus control. The next step is to assign part reference. Each component has to be assigned footprint or PCB pattern name. The footprint gives the actual size physical representation of components on the PCB artwork. The component symbol and foot symbol should correspond in all respects. Design Rule Check and net list creation After the circuit schematic is completed with all required information such as part reference and footprints, the design rule check can be used for checking errors in the design. It will check for duplicate symbols, overlapped lines and dangling lines.
  • 36. After the schematic design file passes the DRC check, it is processed by a program called an electric rule checker (ERC) that checks for writing errors. The final operation to be done before starting PCB artwork is the net list creation. A net list creation of the components and interconnection along with other information such as foot prints, track width etc. A net list software or tool can take the circuit schematic as input and generate net list. The net list can be used as an information source for the remaining stages. Creating the PCB artwork In automatic design, the net list obtained from the previous stage is used for getting the required foot print and interconnections. The software used for the PCB artwork design in the ORCAD LAYOUT. PCB fabrication You need to generate a positive (copper black) UV translucent art work film. You will never get a good board without good art work, so it is important to get the best possible quality at this stage. The most important thing is to get a clear sharp image with a very solid opaque black. Art work is done using ORCAD software. It is absolutely essential that your PCB software prints holes in the middle of pads, which will act as centre marks when drilling. It is virtually impossible to accurately hand-drill boards without these holes. If you are looking to buy PCB software at any cost level and want to do hand-prototyping of boards before production, check that this facility is available when defining pad and line shapes, the minimum size recommended (through-linking holes) for reliable result is 50 mil, assuming 0.8mm drill size; 1 mil=(1/1000)th of an inch. You can go smaller drill sizes, but through linking will be harder. 65mil round or square pads for normal components. ICs, with 0.8 mm hole, will allow a 12.5mil, down to 10mil if you really need to. Center-to- centre spacing of 12.5 mil tracks should be 25 mil-slightly less may be possible if your printer can manage it. Take care to preserve the correct diagonal track-track spacing on mitered corners; grid is 25 mil and track width 12.5mil. The art work must be printed such that the printed side is in contact with PCB surface when exposing, to avoid blurred edges. In practice, this means that if you design the board as seen from the component side, the bottom (solder side) layer should be printed the ‘correct’ way round, and top side of the double-sided board must be printed mirrored. Etching
  • 37. Ferric chloride etchant is a messy stuff, but easily available and cheaper than most alternatives. It attacks any metal including stainless steel. So when setting up a PCB etching area, use a plastic or ceramic sink, with plastic fitting and screws wherever possible, and seal any metal screws with silicon. Copper water pipes may be splashed or dripped-on, so sleeve or cover them in plastic; heat-shrink sleeve is great if you are installing new pipes. Fume extraction is not normally required, although a cover over the tank or tray when not in use is a good idea. You should always use the hex hydrate type of ferric chloride, which should be dissolved in warm water until saturation. Adding a teaspoon of table salt helps to make the etchant clearer for easier inspection. Avoid anhydrous ferric chloride. It creates a lot of heat when dissolved. So always add the powder very slowly to water; do not add water to the powder, and use gloves and safety glasses. The solution made from anhydrous ferric chloride doesn’t etch at all, so you need to add a small amount of hydrochloric acid and leave it for a day or two. Always take extreme care to avoid splashing when dissolving either type of ferric chloride, acid tends to clump together and you often get big chunks coming out of the container and splashing into the solution. It can damage eyes and permanently stain clothing. If you are making PCBs in a professional environment where time is money you should get a heated bubble-etch tank. With fresh hot ferric chloride, the PCB will etch in well under 5 minutes. Fast etching produces better edge-quality and consistent line widths. If you aren’t using a bubble tank, you need to agitate frequently to ensure even etching. Warm the etchant by putting the etching tray inside a larger tray filled with boiling water. Drilling If you have fiber glass (FR4) board, you must use tungsten carbide drill bits. Fiberglass eats normal high-speed steel (HSS) bits very rapidly, although HSS drills are alright for older larger sizes (> 2mm). Carbide drill bits are available as straight-shank or thick-shank. In straight shank, the hole bit is the diameter of the hole, and in thick shank, a standard size (typically about 3.5 mm) shank tapers down to the hole size. The straight-shank drills are usually preferred because they break less easily and are usually cheaper. The longer thin section provides more flexibility. Small drills for PCB use usually come with either a set of collets of various sizes or a three-jaw chuck. Sometimes the 3-jaw chuck is an optional extra and is worth getting for the time it saves on changing collets. For accuracy, however, 3-jaw chucks are not brilliant, and small drill sizes below 1 mm quickly formed
  • 38. grooves in the jaws, preventing good grip. Below 1 mm, you should use collets, and buy a few extra of the smallest ones; keeping one collect per drill size as using a larger drill in a collet will open it out and it no longer grips smaller drills well. You need a good strong light on the board when drilling, to ensure accuracy. A dichroic halogen lamp, under run at 9V to reduce brightness, can be mounted on a microphone gooseneck for easy positioning. It can be useful to raise the working surface above 15 cm above the normal desk height for more comfortable viewing. Dust extraction is nice, but not essential and occasional blow does the trick! A foot-pedal control to switch the drill ‘off’ and ‘on’ is very convenient, especially when frequently changing bits. Avoid hole sizes less than 0.8 mm unless you really need them. When making two identical boards, drill them both together to save time. To do this, carefully drill a 0.8 mm whole in the pad near each corner of each of the two boards, getting the center as accurately as possible. For larger boards, drill a hole near the centre of each side as well. Lay the boards on the top of each other and insert a 0.8 mm track pin in two opposite corners, using the pins as pegs to line the PCBs up. Squeeze or hammer the pins into boards, and then into the remaining holes. The two PCBs are now ‘nailed’ together accurately and can be drilled together. Soldering Soldering is the joining together of two metals to give physical bonding and good electrical conductivity. It is used primarily in electrical and electronic circuitry. Solder is a combination of metals, which are solid at normal room temperatures and become liquid between 180 and 200 degree Celsius. Solder bonds well to various metals, and extremely well to copper. Soldering is a necessary skill you need to learn to successfully build electronics circuits. To solder you need a soldering iron. A modern basic electrical soldering iron consists of a heating element, a soldering bit (often called a tip), a handle and a power cord. The heating element can be either a resistance wire wound around a ceramic tube, or a thick film resistance element printed on to a ceramic base. The element is then insulated and placed into a metal tube for strength and protection. This is then thermally insulated from the handle. The heating element of soldering iron usually reaches temperatures of around 370 to 400 degree Celsius (higher than need to melt the solder). The strength or power of a soldering iron is usually expressed in watts. Irons generally used in electronics are typically in the range of 12 to 25 watts. Higher powered iron will not run hotter. Most irons are available in a variety of voltages; 12V, 24V, 115V and 230V are most popular.
  • 39. Today most laboratories and repair shops use soldering irons, which operate at 24V. You should always use this low voltage where possible, as it is much safer. For advanced soldering work, you will need a soldering iron with temperature control. In this type of soldering irons, the temperature may be usually set between 200 and 450 degree Celsius. Many temperature control soldering iron designed for electronics have a power rating of around 40 to 50 watt. They will heat fast and give enough power for operation, but are mechanically small. You will occasionally see gas-powered soldering irons which use butane rather than the main electrical supply to operate. They have a catalytic element which once warmed up, continues to glow hot when gas passes over them. Gas powered soldering irons are designed for occasional ‘on the spot’ used for quick repairs, rather than for main stream construction or for assembly work. Currently, the best commonly available, workable, and safe solder alloy is 63/37. That is, 63% lead, 37% tin. It is also known as eutectic solder. Its most desirable characteristic is that it solids (‘pasty’) state, and its liquid state occur at the same temperature -361 degree Fahrenheit. The combination of 63% lead and 37% tin melts at the lowest possible temperature. Nowadays there is tendency to move to use lead free solders, but it will take years until they catch on normal soldering work. Lead free solders are nowadays available, but they are generally more expensive or harder to work on than traditional solders that they have lead in them. The metals involved are not the only things to consider in a solder. Flux is vital to a good solder joint. Flux is an aggressive chemical that removes oxide and impurities from the parts to be soldered. The chemical reactions at the point(s) of connection must take place for the metal to fuse. RMA type flux (Rosin Mildly Active) is the least corrosive of the readily available materials, and provides an adequate oxide. In electronics, a 60/40 fixed core solder is used. This consists of 60% lead and 40% tin, with flux cores added to the length of solder. There are certain safety measures which you should keep in mind when soldering. The tin material used in soldering contains dangerous substances like lead (40-60% of typical soldering tins are lead and lead is poisonous). Also the various fumes from the soldering flux can be dangerous. While it is true that lead does not vaporize at the temperature at which soldering is typically done.
  • 40. When soldering, keep the room well ventilated and use a small fan or fume trap. A proper fume trap of a fan will keep the most pollution away from your face. Professional electronic workshops use expensive fume extraction systems to protect their workers. Those fume extraction devices have a special filter which filters out the dangerous fumes. If you can connect a duct to the output from the trap to the outside, that would be great. Always wash hands prior to smoking, eating, drinking or going to the bathroom. When you handle soldering tin, your hands will pick up lead, which needs to be washed out from it before it gets to your body. Do not eat, drink or smoke while working with soldering iron. Do not place cups, glasses or a plate of food near your working area. Wash also the table sometimes. As you solder, at times there will be a bit of spitting or sputtering. If you look you will see tiny balls of solder that shoot out and can be found on your soldering table. PCB LAYOUTS MAIN PCB – COMPONENT SIDE LAYOUT
  • 41. MAIN PCB – JUMPER LAYOUT MAIN PCB – COMPONENT LAYOUT
  • 42. MAIN PCB – PCB LAYOUT RS232 INTERFACE PCB RS232 INTERFACE SOLDER SIDE LAYOUT COMPIONENT LAYOUT
  • 43. CONCLUSION The Blind and the visually impaired individuals in Lebanon make up an important part of the Lebanese community. In addition, the market has shown minor concern towards such individuals. Due to this fact, and in order to help the blind and the visually impaired individuals read and communicate. This device satisfies the needs of the visually impaired individuals since it enables the translation of English and text into their Braille representations. We had developed a low cost gesture controlled device for the blind. This can be a useful for aiding the physically challenged has been on demand. A text to Braille converter is intended to aid the blind to interact with computers at workplaces and homes. Though several such devices are available, the cost is a limiting factor. Blind people face a great difficulty in receiving computer education due to the lack of low cost technological support. Facilities for the sightless have been organized in different places for providing reading facilities to the blind. These centers maintain archives of reading materials (literature, science, etc.) in the form of Braille coded texts. However, such centers suffer from a number of practical difficulties such as severely constrained economic resource. We had used PIC 16F877A micro controller which is the main part of the system. We make use of Flex sensors .For each finger flex sensors are connected.
  • 44. FUTURE SCOPE This device can be further modified to improve the vocabulary by using more no of flex sensors and by making servomotor arrangement capable of producing all the Braille characters. By using digital signal processor we can also provide speech to Braille and vice versa. REFERENCE
  • 45. Design with PIC Microcontrollers Author : J.B. Peatmann Publisher : Prentice-Hall, 1998 An Introduction to PIC Microcontrollers Author : R.A. Penfold Publisher : Bernard Babani Publishing, 1997 www.microchip.com www.National.com www.Freescalesemi.com www.fairchildsemi.com