loading

Hello guys,

I have my new SIM900A module of SIMCom. I was facing problems while interfacing it with Arduino Mega.

Then I tried to interface it with arduino UNO. So in this instructable I am going to show you how I overcame problems and started playing with GSM AT commands.

Step 1: SIM900A Interfacing With Arduino Uno

Do the connections as follows:

RX of GSM ------------> RX of arduino

TX of GSM--------------> TX of arduino

Gnd of GSM ----------> Gnd of arduino

Connect SIM900A module to 12V power adapter

I have SIM900A module with RS232 port and my module requires voltage of 12 Volt 1-2 Ampere current rating for reliable operation.

It is not possible to give power from arduino UNO by connecting power pins of GSM module with arduino.

Another problem which I faced was connecting GSM with arduino Mega. I found that my SIM900A module was not getting proper ground from mega.

Now my UNO is giving proper ground to module. It may have happened because Mega have more peripherals on it while UNO has only few peripherals on board.

Step 2: Upload Blank Code to SIM900A

Now connect the arduino uno with PC/laptop using USB.

Open the arduino IDE. Simply upload the blank code in arduino UNO

void loop()

{
}

void setup()

{

}

Step 3: Sending AT Commands

Now open the Serial Monitor

Set the baud rate at 4800 and start seding commands as follows.

1. AT

When you enter this command you should get response as OK

2. AT+CGMI

This command gives the manufacturer identification

In my case it gives output SIMCOM_Ltd

OK

3. AT+ CGMM

This command is used to get the supported frequency bands. With multi-band products
the response may be a combination of different bands.

In my case it gives output SIMCOM_SIM900A

OK

For more commands you can refer the attached PDF

<p>This is the sketch I used for BT:</p><p>#include &lt;SoftwareSerial.h&gt;</p><p>SoftwareSerial BTserial(2, 3); // RX | TX</p><p>// Connect the HC-05 TX to Arduino pin 2 RX. </p><p>// Connect the HC-05 RX to Arduino pin 3 TX through a voltage divider.</p><p>// </p><p>char c = ' ';</p><p>void setup() </p><p>{</p><p> Serial.begin(9600);</p><p> Serial.println(&quot;Arduino is ready&quot;);</p><p> Serial.println(&quot;Remember to select Both NL &amp; CR in the serial monitor&quot;);</p><p> // HC-05 default serial speed for AT mode is 38400</p><p> BTserial.begin(9600); </p><p>}</p><p>void loop()</p><p>{</p><p> // Keep reading from HC-05 and send to Arduino Serial Monitor</p><p> if (BTserial.available())</p><p> { </p><p> c = BTserial.read();</p><p> Serial.write(c);</p><p> }</p><p> // Keep reading from Arduino Serial Monitor and send to HC-05</p><p> if (Serial.available())</p><p> {</p><p> c = Serial.read();</p><p> BTserial.write(c); </p><p> }</p><p>}</p>
<p>How can you use the serial monitor if pin Tx and Rx are connected to the SIM900? </p>
<p>Thanks for sharing. I have been meaning to look up how to use the serial data pins.</p>

About This Instructable

13,323views

8favorites

More by Pritibakale:SIM900A Interfacing with Arduino UNO and Running Simple AT Commands 
Add instructable to: