This sketch connects a voice call from your GSM shield and Arduino to a remote phone number entered through the serial monitor. You’ll need to attach a speaker and microphone to hear the connected phone and send your voice.
First, import the GSM library
SIM cards may have a PIN number that unlocks their functionality. Define the PIN for your SIM. If your SIM has no PIN, you can leave it blank :
#define PINNUMBER ""
Initialize instances of the classes you’re going to use. You’re going to need both the GSM and GSMVoiceCall class.
Create some variables to store the phone number you want to call :
setup, open a serial connection to the computer. You’ll use this to send a phone number to the Arduino. After opening the connection, send a message to the Serial Monitor indicating the sketch has started.
Serial.println(“Make Voice Call”);
Create a local variable to track the connection status. You’ll use this to keep the sketch from starting until the SIM is connected to the network :
Connect to the network by calling
gsmAccess.begin(). It takes the SIM card’s PIN as an argument. By placing this inside a
while() loop, you can continually check the status of the connection. When the modem does connect,
gsmAccess() will return
GSM_READY. Use this as a flag to set the
notConnected variable to
false. Once connected, the remainder of
setup will run.
image of the Arduino GSM Shield on top of an Arduino Uno
notConnected = false;
For more detail: Make Voice Call using Arduino