Okay, I've been doing some tests:
1. Changed to Arduino MEGA board. It means that I don't need SoftwareSerial library because it has more Serial ports (using Serial and Serial1).
2. Measured Rx and Tx voltage from SIM Module (with analogRead) and it's true that the logic level used is 3.3 V:
3. Using this (HW-221) level converter so I can convert 5V signals into 3.3V and 3.3V into 5V. The communication problem between modules should be solved, I measured voltages with a multimeter in the 3.3V and 5V ways and everything seems to be ok.
4. Found This PDF (698.8 KB). It is some kind of guide and provides some information about the pinout. It explains:
"This shield has a set a TTL UART serial, which is capable with 5v system or 3V3 system. When the controller is 3.3v system, you need connect the VDD pin to 3.3V; when the controller is 5v system, you need connect the VDD pin to 5V"
I connected VDD pin to 3.3V. But, does it mean that shield can handle a 5V logic level if I connect VDD to 5V?
5. I've found this in "SIM800 Series AT Command Manual":
A HEX string such as "00 49 49 49 49 FF FF FF FF" will be sent out through serial port at the baud rate of 115200 immediately after SIM800 Series is powered on. The string shall be ignored since it is used for synchronization with PC tool. Only enter AT Command through serial port after SIM800 Series is powered on and Unsolicited Result Code "RDY" is received from serial port. If auto-bauding is enabled, the Unsolicited Result Codes "RDY" and so on are not indicated when you start up the ME, and the "AT" prefix, or "at" prefix must be set at the beginning of each command line.
I can see things throught serial port when I power on the module but not "00 49 49 49 49 FF FF FF FF" . What I see:
FF FF 9B FF 3F AF FE 3D BF FA FF FE FF FB FF E7 D7 FF F7 FF FF DF 67 FE FD FB FF FF A7 5F FF FF FD F7 F7 FF FF 7F FA E6 F7
FB FF 67 BF EF F5 FF FF DF FD FB FE 7D D3 F3 FF F6 FD F7 EA FE EF FF FC BF 74 FF F7 FF FE FE AF 7F 57 FF FF F6 FD E7
FF D7 7F 1F FF B6 FA F6 FF DC FF FF ED FF 77 7D B7 FF BF FF EB FD 8F FF ED 5F BB BF FB FE 1A EB DA D1 EA 53 AE F9 F6 7D FF 27 FF FF B7
6. Still no response when I send "AT"
.
7. The code used in the power on:
void setup() {
Serial1.begin(115200);
Serial.begin(115200);
delay(5000);
}
void loop() {
if (Serial1.available()) {
Serial.print(Serial1.read(), HEX);
Serial.print(" ");
}
}
8. The connections:
Arduino MEGA:
VIN β 5V Power Supply
GND β Common GND
TX1 β B1 Converter
RX1 β B2 Converter
Level Converter:
VA β 3.3V Power Supply
VB β 5V Power Supply
GND β Common GND
A1 β RX SIM868
A2 β TX SIM868
B1 β TX1 Arduino
B2 β RX1 Arduino
SIM868 Module:
VCC β 12V Power Supply
GND β Common GND
RX β A1 Converter
TX β A2 Converter
VDD β 3.3V Power Supply