Introduction: Basic Phone Using GSM and Arduino
Description:-
In this instructable an Arduino uno with a GSM shield is used to perform four cellular operations. These are
1-Make calls
2-Receive calls
3-Send SMS
4-Recieve SMS
All you need:-
1. A GSM shield with 900A/900 Sim module (preferably by ATRIM electronics).
2. A 4x4 button Matrix keypad.
3. A 16x2 LCD as display.
4. A Ardiuno UNO R3.
5. Some Male to female & Female to male connecting wires.
6. A PC for programming& uploading the Code using Arduino IDE
Step 1: Making Hardware Connections-
·
A-Connections of GSM shield &Arduino:-
1. GND of Shield-GND of Arduino.
2. Tx of Shield-Pin 10(Rx of Software Serial) of Arduino.
3. Rx of Shield-Pin 11(Tx of Software Serial) of Arduino.
·
B-Connections of Matrix Keypad & Arduino:-
As shown in figure
C-Connections of LCD & Arduino:-
As shown in figure
Step 2: Programming of Arduino.
·
A. Interfacing code for GSM:
We interface Arduino with GSM shield using AT commands. So, take an overview of some commonly used AT commands:
1. AT: Test weather GSM shield respond
2. AT+CIMI: Request International Mobile Subscriber Identity
3. ATD+91XXXXXXXXXX : Dial the specified number ( replace x with number)
4. AT+CMG=1: Switch on the messaging mode of gsm
5. AT+CNMI=2,2,0,0, 0: Turn on the message indicator
6. ATH: Halt call
7. ATA: Pick up incoming call
8. AT+COPS: Get the service provider name
9. AT+CSQ: Get signal strength
·
B-Interfacing code for Input Matrix:
These two functions are used in interfacing of Input Matrix with Arduino-
1. Return_Keypad_Values() : Return the value of key pressed (in char)
2. Take_input(): Enter a 10 digit number using matrix and use
- * key : For deleting last digit
- # key : Call the entered number
Returns: Number entered through keypad ( in String Object)
C-Interfacing of LCD:
Mainly 3 functions are used for interfacing of LCD with Arduino
1- lcd.begin(): initializing the LCD with Arduino
2- lcd.setCursor(x,y): Set the cursor at x column & y row
3- lcd.print(“hello”)-This function is use to print any text or number on LCD.
Step 3: Upload the Code
1. Code is available on this Github repository here.
2. Download the repository here in zip.
3. Unzip it and open the all_phone_operations folder.
4.Open all_phone_operations.ino in Arduino ide and upload it (as shown in figure).
Step 4: Operation
·
A.Send call:
By pressing button ‘A’ you will be in Send call mode. LCD will prompt to enter a number to call.
These buttons are used in send call mode
- ‘D’-used for cancel calling operation.
- ‘*’-used to delete printed digit.
- ‘#’- Call on dialed number.
· ·
B.Send SMS:
- Press ‘B’ key for configuring shield in send message mode
- ‘Enter number’ will be prompted your LCD. You need to enter a 10 digit numbe
- These buttons are also used in Send message mode.
- ‘D’: Used for cancel calling operation.
- ‘*’: Used to delete printed digit.
- ‘#’: Call on dialed number.
C.Receive call and SMS
Module configures itself in receiving mode when it starts and the LCD will show a response as soon as a call or SMS is received. The program uses only two button for user interaction in case of response received.
- ‘*’: used to show the received SMS/ Pick up Call.
- ‘#: used to halt or terminate message / terminate incoming Call
If you find it useful, Please share it.
Step 5:
Special thanks and Credit to Mr. devvrat Arya and Mr. Harsha Deva boley Shetty for this Article.......
And there is a tip for all users to use vcc and ground of ICSP port.
Participated in the
Summer Fun Contest 2016
Participated in the
Beyond the Comfort Zone Contest