Sending Message Using Alpha-Numeric Keypad With GSM And Arduino

GSM is quite a common Device which is used in major Projects and Real Time Operations. There are many applications which are using features of GSM Module like the feature sending Messages , making a Voice Call, Receiving Messages, attempting Call etc. Many at times you may have sent Messages using your Cell Phone and also by way of Hyper Terminal of your computer via GSM, and by sending Commands to GSM using Microcontroller.It is assumed that the reader has gone through the project how to get started with the arduino and done all the things discussed in it.

Fig. 1: Prototype of Arduino and GSM GPRS Module based SMS Messaging System

In this project we are going to see how to send a Message using Alpha / Numeric Keypad and GSM. The Programming of this project is little complicated but do not worry, I am sure with careful attention you can build it without any problems.For better understanding the keypad interface reader can read how to interface keypad with arduino.

Fig. 2: Image of Character LCD and Alphanumeric Keypad used in SMS Messaging System

As shown in the image above I have used 16×2 LCD Display with arduino which is connected to the numeric keypad. This numeric keypad has been built ingeniously by using keypad circuit having push buttons. For your convenience I have made the cut-out of the typical numeric keypad. So as you can see I have pressed * Button for sending messages

Fig. 3: Image of Character LCD showing status for sent SMS

As you can see in the image above after pressing the * Button for sending message the 16X2 LCD displays the message as sent, and the GSM cell phone receives the message displaying the Time with other details in the following image

Fig. 4: Image of a mobile phone receiving SMS sent through the SMS Messaging System

The step by step working of this project is simple. To start working on the project you have to simple enter a message by using Keypad and then Press Send Button (*) we can enter the recipients number, and then by again pressing the Send Button, you can send the entered message with quite an ease.

Block Diagram & Circuit Description

The circuit of the project is easy and simple to execute. In this a 16×2 LCD is used for displaying the Dialed Numbers which shows Button status like * for SEND and # for DELETE. A GSM Module is used for Sending Message. Arduino is used here for controlling the whole process. Also Alpha / Numeric Keypad is used in this Circuit which is used for Entering or Deleting Messages and Cell Number. Here 4×3 Numeric Keypad is used. By using this kind of Keypad you can easily enter any Alphabet (A-Z) any Number (1-9, * and #). In this project you can Delete Last Entered Digit, which means this project can also handle options for delete or for corrections at a later stage.

Fig. 6: Circuit Diagram of Alphanumeric Keypad

Circuit Description

GSM Module’s Rx and Txpin are directly connected with Arduino’s pinTx and Rx respectively (Ground of Arduino and GSM must be connected with each other). 16×2 LCD’s rs, en, d4, d5, d6 and d7 pins are connected with pin number 7, 6, 5, 4, 3 and 2 o Arduino respectively.

Programming & Components Used

Programming part of this project is very simple as no Keypad Library is used for getting Keys. Here if statement is used for getting Key pressed.

Fig. 8: Screenshot of Arduino Code used to print dialed number on Character LCD

Also the Key is adaptable to multi functioning, which means we can enter the Whole characters and Integers by using only 12 keys.

If we press key 2 (ABC2), it will show A, and if we press it again and we rewrite it, it will replace A to B and if we again press, it will show C at same place in LCD. If we wait for a while after pressing any key, cursor will show at the next position in LCD. It means now you can enter next Character or Number. This operation is likewise for rest of the Keys. To get more clarity on this watch the attached video.