0% found this document useful (0 votes)
353 views

Features:: Pin Diagram

The document describes the development of a smart speaking glove using an Arduino, flex sensors, and a GSM module to help speech-impaired individuals communicate during emergencies. The system detects hand gestures using flex sensors connected to an Arduino, which then uses a GSM module to either speak instructions aloud or send text messages to emergency contacts for help. The document provides details on connecting and programming a SIM900A GSM module to interface with the Arduino for sending and receiving SMS messages.

Uploaded by

Siva Virat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
353 views

Features:: Pin Diagram

The document describes the development of a smart speaking glove using an Arduino, flex sensors, and a GSM module to help speech-impaired individuals communicate during emergencies. The system detects hand gestures using flex sensors connected to an Arduino, which then uses a GSM module to either speak instructions aloud or send text messages to emergency contacts for help. The document provides details on connecting and programming a SIM900A GSM module to interface with the Arduino for sending and receiving SMS messages.

Uploaded by

Siva Virat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Our project is the implementation of smart speaking glove for speech impaired people.

According to the particular voltage value(from flex sensor)we program the Arduino to speak out
the particular instruction.we are also displaying the instruction on the LCD.Suppose when the
person in any emergency situation as he can't shout or ask for help so help those people we are
creating a Intelligent Caring System.
For this Intelligent Caring System we are using GSM SIM900A module.It is an interface with the
sim card (in which we load or save some desired people numbers). whenever a particular
gesture is made the microcontroller send a transmitting signal to the gsm module.By interfacing
a GSM module we can send message or make call.
1. SIM900A is a ultra compact and reliable wireless module .
2. SIM900A GSM module means the module supports communication in 900mhz band.
3. You can feed the data from gsm module directly to Arduino when the module is enabled
with TTL output pins.
4. If you are having a 5v module,you can power it directly from Arduino 5v out.
5. The SIM900A is a complete dual-band GSM/GPRS solution in a smt which can be embedded in
the customer applications allowing you to benefit from small dimensions and cost-effective
solution.

Features:
● The GSM module consists of 60 pins in total and each pin has specific function.
● The sim card is connected to GSM module via sim slot.
● The sim slot is designed in a way to hold the sim card in a tight position.
● The sim slot is provided with four pins which are designed to be connected to the GSM module.

SIM900A GSM Module Pinout Configuration.


Pin Number Pin Name Description

3 DTR Data terminal read


4 RI Ring indicator
5 DCD Data carry detect
6 DSR Data Set Ready

Pin diagram:
The three important connections with Arduino:
● GSM Tx –> Arduino Rx (3 to: Digital Pin 0 of Arduino (RX))
● GSM Rx –> Arduino Tx. (4 to: Digital Pin 1 of Arduino)).
● Now connect the ground pin of arduino to ground pin of gsm module.(2 to: GND of Arduino near
5V).

The AT commands:
AT commands with a GSM/GPRS MODEM or mobile phone can be used to access following information
and services.

Command Description

AT+CMGR Read message

AT+CMGS Send message

AT+CMSS Send message from storage

AT+CMGW Write message to memory

Booting the GSM module:


1. Insert the SIM card to GSM module and lock it.
2. Connect the adapter to GSM module and turn it ON.
3. Now wait for some time and see the blinking rate of ‘status LED ‘ or ‘network LED ‘ (gsm
module will take some time to establish connection with mobile network)
4. Once the connection is established successfully , the status/network LED will blink
continuously every 3 seconds. You may try making a call to the mobile no. of the sim card
inside GSM module. If you hear a ring back ,the gsm module has successfully established
network connection.

Interfacing with Arduino uno:


They are two(2) ways of connecting GSM module to Arduino In any case, the communication
between Arduino and GSM module is serial. So we are supposed to use serial pins of Arduino
(RX and TX)

GSM TX 🡪 Arduino RX and GSM RX🡪 Arduino TX , GSM GND🡪 Arduino GND.

NOTE : The problem with this connection is that , while programming Arduino uses serial
ports to load program from the Arduino IDE. If these pins are used in wiring, the program will
not be loaded successfully to Arduino. So you have to disconnect wiring in RX and TX each
time we burn the program to Arduino .Once the program is loaded successfully , we can
reconnect these pins and have the system working.
To avoid this difficulty, we can use an alternate method in which two digital pins of Arduino
are used for serial communication . we need to select two PWM enabled pins of Arduino for this
method. So we choose pins 9 and 10. This method is made possible with the “Software serial
Library” of Arduino. Software serial Library of Arduino which enables serial data
communication through other digital pins of Arduino. The library replicates hardware functions
and handles the task of serial communication.

CIRCUTE DIAGRAM :
To connect GSM module to Arduino and hence use the circuit to send sms and receive sms
using Arduino and gsm module.

CODING PART :
The program has two objectives as described below :-
1.Send sms using Arduino and GSM module – to a specified mobile number inside the program
2.Send sms using Arduino and GSM module – to the SIM card loaded in the GSM module.

The Program :
// include the library code:
#include <SoftwareSerial.h>

SoftwareSerial mySerial(9, 10);

void setup()
{
  mySerial.begin(9600);   // Setting the baud rate of GSM Module  
  Serial.begin(9600);    // Setting the baud rate of Serial Monitor (Arduino)
  delay(100);
}

void loop()
{
  if (Serial.available()>0)
   switch(Serial.read())
 {
    case 's':
      SendMessage();
      break;
    case 'r':
      RecieveMessage();
      break;
 }

 if (mySerial.available()>0)
   Serial.write(mySerial.read());
}
 void SendMessage()
{
  mySerial.println("AT+CMGF=1");    //Sets the GSM Module in Text Mode
  delay(1000);  // Delay of 1000 milli seconds or 1 second
  mySerial.println("AT+CMGS=\"+91xxxxxxxxxx\"\r"); // Replace x with mobile number
  delay(1000);
  mySerial.println("I am SMS from GSM Module");// The SMS text you want to send
  delay(100);
   mySerial.println((char)26);// ASCII code of CTRL+Z
  delay(1000);
}
 void RecieveMessage()
{
  mySerial.println("AT+CNMI=2,2,0,0,0"); // AT Command to receive a live SMS
  delay(1000);

 }

The program Explanation :


#include <SoftwareSerial.h>
SoftwareSerial mySerial(9, 10);
We begin by including SoftwareSerial library into the program.  In the next line, we create a
constructor of SoftwareSerial with name mySerial and we pass the digital pin numbers as
parameters. The actual format is like SoftwareSerial mySerial (Rx, Tx);So in our code, pin
number 9 will act as Rx of Arduino and 10 will act as Tx of Arduino. 
Lets get to the configuration part of program inside setup.

The first task is to set baud rates of SoftwareSerial library to communicate with GSM module.
We achieve this by invoking mySerial.begin function.

Our second task is to set the baud rate of Arduino IDE’s Serial Monitor. We do this by invoking
Serial.begin function.

Both should be set at the same baud rate and we use 9600 bits/second here . Configuration part is
over with setting baud rates and its good to give a small delay of 100 milli seconds.

Now lets get to the actual program inside loop().


To make things simpler, I have developed a user input based program. The program seeks user
input via serial monitor of Arduino.
If the input is ‘s’ the program will invoke function to send an sms from GSM module.
If the user input is ‘r’, the program will invoke the function to receive a live SMS from GSM
module and display it on serial monitor of Arduino.
Serial.available() – checks for any data coming through serial port of arduino. The function
returns the number of bytes available to read from serial buffer. If there is no data available, it
returns a -1 (value less than zero).
Serial.read() – Reads all the data available on serial buffer (or incoming serial data if put
otherwise). Returns the first byte of incoming serial data.
mySerial.available() – checks for any data coming from GSM module through the
SoftwareSerial pins 9 and 10. Returns the number of bytes available to read from software serial
port. Returns a -1 if no data is available to read.
mySerial.read() – Reads the incoming data through software serial port.
Serial.write() – Prints data to serial monitor of arduino. So the function
Serial.write(mySerial.read()) – prints the data collected from software serial port to serial
monitor of arduino.
Lets get the functions SendMessage()  and RecieveMessage()
These are the functions in which we actually send commands to GSM module from Arduino.
These commands to communicate with GSM module are called “AT Commands”. There are
different commands to perform different tasks using the GSM module.
SendMessage() – is the function we created in our arduino sketch to send an SMS. To send an
SMS, we should set our GSM module to Text mode first. This is achieved by sending an AT
Command “AT+CMGF=1”  We send this command by writing this to SoftwareSerial port. To
achieve this we use the mySerial.println() function. mySerial.println writes data to software
serial port (the Tx pin of our Software Serial – that is pin 10) and this will be captured by GSM
module (through its Rx pin). After setting the GSM module to Text mode, we should the the
mobile number to which we shall send the SMS. This is achieved with AT command
“AT+CMGS=\”+91xxxxxxxxxx\”\r” – where you may replace all x with the mobile number.
In next step, we should send the actual content of SMS. The end of SMS content is identified
with CTRL+Z symbol. The ASCII value of this CTRL+Z is 26. So we send a char(26) to GSM
module using the line mySerial.println((char)26); Each and every AT command may be followed
by 1 second delay. We must give some time for GSM module to respond properly. Once these
commands are send to GSM module, you shall receive an SMS in the set mobile number.
RecieveMessage() – is the function to receive an SMS (a live SMS). The AT command to
receive a live SMS is “AT+CNMI=2,2,0,0,0” – we just need to send this command to GSM
module and apply a 1 second delay. Once you send this command, try sending an SMS to the
SIM card number put inside GSM module. You will see the SMS you had sent displayed on your
Arduino serial monitor.
There are different AT commands for different tasks. If you want to read all SMS’s stored in
your SIM card, send the following AT Command to gsm module – “AT+CMGL=\”ALL\”\r”

Result:

You might also like