La respuesta corta es, no, no puede simplemente apilarlos, pero sí, es posible (aunque no trivial) conectar diez o más de estos a una sola placa Arduino y hacer que los monitoree todos.
Tenga en cuenta que la siguiente explicación está simplificada, posiblemente demasiado simplificada, en aras de la brevedad y le da una idea general de lo que le espera si intenta esto. Muchos de los detalles (como menciono a continuación) podrían ser fácilmente una o varias preguntas propias.
No proporcionó la hoja de datos para el tablero que está considerando. así que trabajaré a partir de la descripción de una placa similar (aunque no un escudo Arduino) usando el mismo chip, la placa de desarrollo GSM TC35 de Cytron Technologies.
Los protectores Arduino conectan varios pines de sus chips a pines en la placa Arduino. En muchos (quizás la mayoría) de los casos, no puede tener dos dispositivos diferentes conectados al mismo pin de Arduino, por lo que si solo fuera a colocar otra placa en ella, tendría que tener un soporte especial para cambiar los pines que está usando (a menudo a través de jumpers) o poder tener varias placas comunicándose en los mismos pines. El chip GSM que está considerando utiliza dos pines dedicados para la transmisión y recepción de comunicación en serie; estos son los pines que necesitará volver a cablear si va a utilizar varias placas en un solo Arduino.
El tipo de recableado que necesitará hacer dependerá de cuántos realmente desee. El Arduino Uno tiene 14 pines de E / S digitales, dos de los cuales generalmente se usan para la interfaz serial USB a la computadora, lo que le brinda seis dispositivos si dedica un par de pines a cada dispositivo. Dado que la velocidad de comunicación con las placas es bastante lenta (9600 bps, ver más abajo), puede multiplexar muchos de estos en un par de pines Arduino mediante varias técnicas diferentes (como el uso de registros de desplazamiento); esto por sí solo es lo suficientemente complejo como para que se pueda dedicar una pregunta diferente a considerar las posibles opciones, con más preguntas sobre los detalles de la implementación de cada opción. Debería considerar, si está interactuando con una PC, usar varios microcontroladores Arduino, cada uno con solo uno o unos pocos chips GSM hablando con ellos, hablando con una PC a través de USB y realizando un procesamiento adicional en la PC.
Si está utilizando muchas placas, deberá asegurarse de poder suministrarles suficiente energía; es posible que deba utilizar una fuente de alimentación fuera de la placa Arduino. Un Arduino alimentado desde su interfaz USB no puede extraer más de 500 miliamperios (porque ese es el límite de USB). Si está utilizando una fuente de alimentación separada y el regulador integrado de Arduino, la limitación se basará en las limitaciones eléctricas y térmicas de ese regulador; esta publicación de blog es una discusión detallada de eso.
También está el problema del cambio de nivel; Las placas Arduino suelen hacer E / S digital a 5 voltios o 3,3 V; este chip parece que habla a 2.65 V y usted o la placa que está usando deberán manejar eso. Si el tablero que está utilizando no realiza la conversión de nivel adecuada, hay otras preguntas (como esta) que tratan los detalles de soluciones de conversión de nivel particulares.
Una vez que tener pines conectados a los dispositivos que necesitará para hablar con ellos; esto involucra las partes de "entramado" de nivel inferior del protocolo serial y el conjunto de comandos de nivel superior.
Para enmarcar, el chip GSM parece utilizar el encuadre de protocolo serie de baja velocidad que es estándar en el mundo de la informática; aparte de la diferencia de nivel de voltaje, es el mismo que se usa en las comunicaciones RS-232 entre una computadora y un módem u otro dispositivo "en serie". La configuración de la hoja de datos que utilicé es "9600bps, 8-1-N, sin control de flujo", que es lo suficientemente lento como para que el propio microcontrolador pueda comunicarse fácilmente con varios de estos sin ningún hardware adicional utilizando bit banging. Un Arduino de 16 MHz ejecuta algo que se acerca a 16 millones de instrucciones por segundo (la mayoría de las instrucciones son de un ciclo de reloj), lo que le brinda más de 1500 instrucciones por bit-time para leer un bit de cada dispositivo conectado, hacer el procesamiento para convertir los bits en bytes y procesar los mensajes resultantes. Si tiene cuidado con su programación, y dependiendo de lo que esté haciendo, no debería ser demasiado difícil lidiar con hasta un par de docenas de chips GSM, aunque es casi seguro que este no es un trabajo de programación trivial que usted vamos a hacer con las bibliotecas estándar de Arduino.
El conjunto de comandos de nivel superior también es bastante similar a la comunicación entre el módem y la computadora antigua; el chip GSM (y por lo tanto casi cualquier placa que lo use) habla con el protocolo serial estándar de PC a 9600 bps usando el conjunto de comandos AT. Verá mensajes como
+ CMGR: "REC READ", "+ 60125651453" ,, "12/07 / 31,10: 0702 + 32" Hola
cuando recibe un SMS y otros similares cuando envía un SMS.