Go Down

Topic: GSM Y CAUDALIMETRO (pin2 ocupado)  (Read 466 times) previous topic - next topic

Carlosb18

Buenas estoy haciendo un proyecto en cual se basa en mediciones del caudal y dependiendo la cantidad si es mucha o poca envie un mensaje a X numero, el problema esta en que ese escudo Gsm que utilizo usa los pines 2 y 3 para Rx y Tx y el caudalimetro usa el 2 y no puedo usar otro pin digital del arduino ya que el que necesito es un pin de interrupcion, en arduino Uno solo hay 2 pines de interrupcion el 2 y 3 pero ya estan siendo utilizados por el GSM, intente con la libreria "PinchangeInt"  para convertir otros pines en en pines de interrupcion pero hay un conflicto entre la libreria y las del GSM, alguien podria darme una idea de como podria resolver eso.

surbyte

Quote
el problema esta en que ese escudo Gsm que utilizo usa los pines 2 y 3 para Rx y Tx
No se que shield usas pero casi todos permiten la asignacion de otros pines.
Puedes dar mas detalles del shield (escudo) que usas, link, foto (por favor, lee las normas del foro y publícalos de acuerdo a ellas).

Carlosb18

#2
Aug 03, 2019, 09:55 pm Last Edit: Aug 04, 2019, 04:28 am by surbyte Reason: Agregado de etiqueta de enlaces
http://www.tinyosshop.com/arduino-gsm-shield

Este es el escudo GSM ahi esta toda la informacion y su data sheet tambien la librería que usa, intente cambiandoo los pines tx y rx  desde la libreria, pero tampoco me funcionó no se si es que necesariamente deben ser eso dos pines especificos(2 y 3).Gracias.


s4l4m4nk4

#3
Aug 03, 2019, 11:52 pm Last Edit: Aug 04, 2019, 01:45 am by s4l4m4nk4
Amigo la libreria <SoftwareSerial.h> en esa declara los pines que quieres usar como TX Y RX de los componentes que estas usando

Carlosb18

Lo intenté y el modulo Gsm deja de funcionar cuando declaro otros pines que no sean el 2 y 3 al parecer necesariamente tienen que ser eso. Que otra cosa podria intentar? Ya que el Caudalimetro se queda sin Pin de interrupcion.

surbyte

Pagina 5 dice claramente

Quote
If you want use UART send AT commands. Set the jumper to HW position. If you use soft
serial. Set to SW position.
Our test sketch use soft serial. So we keep it on SW position normally.
If you are using MEGA2560. Just need to connect the middle pins of RX and TX jumpers
to RX1 TX1 on Arduino Mega 2560. And change the code setting.
Cambiando los jumpers puedes usar a D0 D1 como tienes ahora o via SoftwareSerial D2 D3 que es lo que indicabas.

Pero tambien si usas el punto medio lo pones donde quieres.

Carlosb18

Lo de cambiar los jumpers entiendo que es solo en caso de querer enviar comandos AT cosa que no estoy haciendo en mi código y lo de usar los pines centrales solo en caso de usar arduino Mega, en mi caso uso arduino Uno.

surbyte

Por dios hombre te estoy diciendo que puedes usar los pines centrales para elegir los pines que gustes, o acaso el  MEGA no puede usar pin 2 y 3? claro que si pero al usar los internos estas usando los pines TX y RX sin fijar a la combinación 0,1 o 2,3. Se comprende?

Carlosb18

Lo siento pero no doy con la solucion ya intente usando los pines centrales y nada, tambien modifique el #define en la libreria y usando los nuevos pines y tampoco al parecer el escudo solo quiere trabajar con los pines 2 y 3 de mi Arduino Uno. Aunque en el data sheet dice q se pueden cambiar los tx y rx pero no se que pasa... Gracias de antemano por las respuestas, seguire intentando buscar una solución.

surbyte

Voy a tratar de explicar que haría yo. Ya lo dije pero, eso es lo que pienso, y no siempre se puede

Si quito los jumpers me quedan TX y RX libres sin conexión a NADA, por lo que tengo que decirle a donde van conectados y tmb hacerlo en el software.
Primero lo físico. cables desde TX y RX a los pines que corresponda distintos de 2 y 3
Los pines 7 y 8 han sido los pines con los que todo Shield SIMXXX suelen usar.
Asi que intenta conectar a esos pines.

Ahora falta decirle al software que use 7 y 8.

En la librería en el archivo GSM.cpp dice

Code: [Select]
//De-comment this two lines below if you have the
//second version og GSM GPRS Shield
#define _GSM_TXPIN_ 2
#define _GSM_RXPIN_ 3


Asi que ahi puedes cambiar a los pines que te he sugerido o los que tu quieras.

Carlosb18

Hize exactamente como dices, aparte ya lo habia intentando pero con los pines 4 y 5, ahora  con el 7 y 8 y tampoco
 En el monitor serie me manda esto


trying to force the baud-rate to 9600 arduino uno
...
....
...
Con las diferentes velociades hasta mandar
Idle como error

surbyte

Eso funciona!!
Algo no haces bien entonces.

Mira repite lo mas simple. Deja en 2 y 3 y cablea los pines a 2 y 3 como harías con otros pines.
Si no funciona esta claro que algo esta mal.


Carlosb18

Deje la librería en 2 y 3 y quite los jumpers, use los pines del centro del modulo y los cablie hasta pin 2 y 3 como lo haria con otros pines de arduino y no funcionó.

Solo funciona poniendolo como escudo y dejandolo con los jumpers puestos y dejar la libreria en 2 y 3.

surbyte

#13
Aug 05, 2019, 03:32 am Last Edit: Aug 05, 2019, 03:35 am by surbyte
Voy a colocar dos imágenes, la primera la conoces, es justamente la imagen que muestra los jumpers de los que venimos hablando.
La segunda es el esquema de como esos jumpers se conectan a 0-1 o 2-3 pero como si no estan conectados a ninguno de los dos, se pueden conectar a lo que gustes.





Queda claro que solo uniendo TX y RX con el par de pines que luego definas donde te indiqué en GSM.cpp resuelve el problema.
Si no funciona es porque lo has hecho mal.

Con estas cosas hay que insistir porque llevan tiempo y esfuerzo.

Carlosb18

Ya funciono amgio, pero el problema esta en la libreria donde se declara TX y Rx al parecer esta invertido la declaracion y al guiarse con eso no funciona, si se invierten los pines si funciona. Ya funciono mi modulo GSM y el Caudalimetro al mimso tiempo!Gracias.

Go Up