Make Voice Call using Arduino

Summary of Make Voice Call using Arduino


This project demonstrates how to make a voice call using an Arduino with a GSM shield. By connecting a microphone and speaker to the GSM shield and using the GSM library, the Arduino can dial a phone number entered via the serial monitor. The sketch initializes the GSM module, waits for network connection, and then places a voice call while enabling audio communication through the attached peripherals.

Parts used in the Make Voice Call using Arduino Project:

  • Arduino board
  • Arduino + Telefonica GSM/GPRS Shield
  • Microphone attached to the GSM shield
  • Speaker attached to the GSM shield
  • SIM card

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.

Make Voice Call using Arduino

 

First, import the GSM library

#include <GSM.h>

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.

 

GSM gsmAccess;
GSMVoiceCall vcs;

Create some variables to store the phone number you want to call :

 

String remoteNumber = “”;
char charbuffer[20];

In 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.

 

void setup(){

Serial.begin(9600);
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 :

 

boolean notConnected = true;

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 true or false. Once connected, the remainder of setup will run.

 

Circuit

Make Voice Call using Arduino Circuita

image of the Arduino GSM Shield on top of an Arduino Uno

while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println(“Not connected”);
delay(1000);
}
}

 

Major Components in Project

Hardware Required

For more detail: Make Voice Call using Arduino


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top