Hola buenas,
Resulta que estoy intentando conectar el módulo SIM900, y cuando voy a probar que todo funcione correctamente enviándole un simple comando AT... me devuelve números en lugar de OK.
No he visto que esto le este pasando a mas gente asi que no se como arreglarlo.
Para cualquier comando que introduzca devuelve números. He probado a introducir el comando con el pin pero no encuentra la red (según el parpadeo del led). No se si podría ser la sim que estoy utilizando, utilizo la misma que en mi móvil, y antes he probado a conectarme solo a redes 2G para ver si había señal, y sí la hay. Se trata de una sim de Yoigo. No entiendo por que puede ser, adjunto las imagenes que he tomado.
Si no lo soluciono probaré a cambiar la sim, o devolverlo y pedir otro. Gracias
Se lo he pasado a traves del serial, escribiendo. le he puesto at y me salen esos numeros, ahora he probado a hacerlo de otra manera y me devuelve lo siguiente:
He probado todos los fragmentos de código que he encontrado para hacer que funcione lo básico... pero no hay manera no entiendo que puede estar pasando, se supone que ese código debería permitirme comunicarme con el módulo... de la siguiente manera:
He probado con todos en ambos: Serial y SIM900. Obtengo la misma salida con todos, print, println y write... la unica diferencia es que el ln cambia de linea (evidentemente)...
No se si no reconoce los caracteres que me devuelve, quizas sean letras chinas, aunque no deberia puesto que los comandos son universales y las respuestas deberian serlo tambien...
Estoy atascado
Pavloo, por favor lee las normas del foro y postea el código que estas usando,
No NOS sirve una captura de pantalla que tu ves y nosotros no o debemos ir a un programa para ampliarla.
Usa etiquetas para postear el código. Mira otros hilos o mejor las normas.
Al margen de esto, estas seguro que el SIM900 responde a 19200?
Algo mas y este es el problema a juzgar por las imagenes que publicas, esta MAL ALIMENTADO.
No que esten invertidos los cables, eso no lo veo y supongo que esta bien pero debes usar una fuente externa que provea 5V 2A. Manten GND entre SIM900 y Arduino.
Empecemos de cero:
¿Como tienes el switch del SIM900? está al lado de la antena. Prueba a ponerlo en 0 y 1 y conecta los cables al SIM a los pines 0 y 1. En el arduino déjalos en 7 y 8.
Veo que en el setup tienes un "at". Cámbialo por esto
SIM900.println("AT");
Si siguen apareciendo cosas raras, cambia las lineas Begin a 9600 para probar. Y también al monitor
Pero mira la foto @bosoft lo alimenta con el Arduino. Como en otro hilo, es posible que reciba algunas respuestas pero en general deberia alimentarlo bien.
Actualizo mi situación.
Disculpad por las capturas y por las formas, soy nuevo en esto, ya habia utilizado arduino antes pero nunca escribí en el foro .
Probé otros baudios, no funcionaba. Las minúsculas y mayúsculas también probé y obtenía la misma respuesta. Nunca detectaba una red y en ocasiones si escribía un comando muy largo se reconocía alguna letra china en la respuesta. También probé distintas formas de alimentar el circuito, cambiando la fuente por otra de mas voltaje, poniéndosela al sim900 en lugar de al arduino... nada. El switch también estaba en su lugar, los jumpers tambien...
En fin devolví el producto y me compré un SIM800L, mas económico, mas nuevo, mejores reviews... Utilizando el mismo código pero con 9600 baudio (ya que es el del sim800L) funciona perfectamente, con la misma tarjeta sim y todo. Problema resuelto. Muchas gracias a todos los que leísteis o respondisteis. No esperaba respuestas tan rápido, muy útil. Gracias otra vez
código:
#include <SoftwareSerial.h>
SoftwareSerial SIM(10, 11);
char data;
void setup()
{
Serial.begin(9600);
SIM.begin(9600);
Serial.println("READY");
delay(3000);
}
void loop()
{
if (SIM.available() > 0) {
data = SIM.read();
Serial.print(data);
}
if (Serial.available() > 0) {
data = Serial.read();
SIM.print(data);
}
}