You know that tx and example are crossed over so , for example, the Arduino pin 7 (Rx) is connected to the sim900 tx etc. ?
For further troubleshooting, you could try connecting an ftdi device to the sim900 so you can directly issue commands to it over the serial console. See here: SIM900 GSM GPRS Shield with Arduino | Random Nerd Tutorials
Yes, it is a good idea for the FTDI, I'll buy one.
In the meantime, I tried something else.
So far, the pin 7 & 8 of the Arduino were connected to the equivalent on the SIM900 shield (I just stacked them).
I changed it the a wire version (as it is done on the tuto), and connect the pin 8 of the Arduino to the Rx of the SIM900.
As a result I got this :
Wait for SMS : 0
Wait for SMS : 0
SMS received, data : ⸮
Wait for SMS
15
SMS received, data :
Wait for SMS
39
SMS received, data :
Wait for SMS
50
SMS received, data :
Wait for SMS
49
SMS received, data :
and so forth till 0 (meaning SIM900.available() take as a value 15, 39, 50, then decrease to 0).
Now I can receive a "⸮"...
I changed the speed (SIM900.begin), without effect.
For the jumpers, I put them on the software serial position (by the way, what if I am using the hardware one, where should I connect the Rx, Tx ?).
For the speed, I test all of them, but in the doc of the module, it is clearly stated 19200 baud.
I redo the wiring, and now I am back to the beginning : SIM900.available() is always at 0...
If you use the hardware serial D0 on the Uno board is RX and D1 is TX.
However, if you use hardware serial then you cannot use Serial.print() etc. for debug messages because Serial.print() is then dedicated to the SIM900 and you will have no simple way of seeing if it all working.
It may be possible that the factory settings of the board have been changed. Once you get the baud rate right, then you can get more information out of the device.
If there is a backup battery in the device, one thing to try is to disconnect all power, then remove the backup battery for some time before reinserting it, in the hope that it all reverts to a factory default setting.
Thank you for the explanation about the hardware serial.
The speed is not the issue, I tested all of them, and I do not have install a back-up battery yet. Moreover, I can place call.
So the point is really around the SIM900.available() than remains at 0 whatever if I send sms to the module.