¿Cómo controlar un teléfono celular usando un Arduino?

4

Deseo controlar un teléfono celular clásico usando un Arduino Nano conectando las teclas del teléfono a los pines digitales, y cambiarlos usando un programa que pondré en el Arduino. La idea es hacer un escudo de pseudo-GSM y poder, por ejemplo, enviar mensajes SMS, hacer una llamada o simplemente imprimir un texto en la pantalla LCD del teléfono móvil.

Los 2 problemas que encontré:

  1. El teléfono móvil que uso contiene 25 teclas, pero el nano contiene solo 13 pines digitales, así que hay una manera inteligente de usar algunos pines para controlar las 25 teclas?
  2. Para encender / apagar una tecla, pensé usar un transistor, donde E (mitter) y C (ollector) conectados respectivamente a GND y V + de La tecla y B (ase) conectan a arduino. estableciendo ALTO o BAJO en ese pin abrirá o cerrará el circuito EC del transistor.

Pregunta: ¿Existe una forma más inteligente de encender / apagar las teclas usando solo algunos componentes (porque en mi caso usaré 25 transistores y es mucho)? ¿Y debo usar la misma fuente de alimentación para el Arduino Nano y el teléfono celular?

    
pregunta mha

3 respuestas

1

Si hacemos una serie de suposiciones, podemos describir cómo utilizar un Arduino Nano para controlar el teclado de un teléfono celular sin o con un hardware adicional mínimo. Si encuentra que las suposiciones no son válidas, tendrá que trabajar para encontrar una solución. Una forma estándar de diseñar un teclado es colocar los interruptores en una rejilla de alambre de modo que corten un cable de "fila" con un cable de "columna". La forma más eficiente de organizar los interruptores es en una cuadrícula cuadrada (lo más cercana posible). Así que asumimos que una cuadrícula de 5 por 5 se usa para 25 conmutadores. Además, asumimos que las filas se "escanean" y que la columna se "detecta" y que el voltaje lógico es compatible con el Arduino Nano. Finalmente, asumimos que el teléfono escaneará los interruptores mucho más lento que el funcionamiento de Arduino, de modo que podamos sentir un cambio en el voltaje de la fila y, a su vez, controlar el voltaje de la columna lo suficientemente rápido como para emular una pulsación de botón. Si todas estas suposiciones son ciertas, entonces necesitamos configurar 5 pines Arduino Nano como entradas. Uno para cada fila. Y 5 pines Arduino Nano como salida. Una para cada columna. Para activar un interruptor falso, esperamos hasta que se active la fila que contiene el interruptor falso. Entonces manejamos la columna activa que contiene el interruptor falso. Hay muchos más detalles con los que tendrá que trabajar. Por ejemplo, es probable que el teléfono intente y rebote el cierre del interruptor. Por lo tanto, es probable que un interruptor falso tenga que permanecer cerrado durante muchos ciclos de escaneo del teclado.

    
respondido por el st2000
-1

Consideraría utilizar el Microchip MCP23017 Expansor de puertos I2C. Contiene 16 pines GPIO además de 2 pines de interrupción.

Notas:

  • La capacidad de interrupción podría resultar muy útil en su caso: le permitiría dejar el Arduino en reposo mientras espera que se presione una tecla, y luego despertarse cuando realmente desee leer las teclas. Esto sería mucho más eficiente que tirar constantemente los datos de un registro de desplazamiento MUX o PISO (paralelo en serie fuera).
  • Puede conectar hasta 8 de estos chips en un solo bus I2C.
  • Los pines que no se usan para leer los botones se pueden configurar como salidas o entradas adicionales (baja velocidad).
  • Puede manejar lógica de 5V y 3.3V.
  • El MCP23008 es una versión más pequeña del 017, con 8x pines de E / S.
respondido por el Caleb Reister
-1

Puede usar solo cinco pines para controlar todo usando un demultiplexor de bits [[CINCO]]. Es posible que aún necesite los transistores dependiendo de cómo funciona el teclado, pero debe observar cómo está cableado el teclado y es muy probable que pueda usar solo algunos pines y aplicar voltaje al cable de datos del teclado. Pensándolo bien, es posible que no necesite transistores si alimenta el teléfono desde la misma fuente de energía que utiliza el arduino, solo asegúrese de no sobrecargar el teléfono si usa una lógica de 3.3V. Si lo hace, es posible que necesite un convertidor de nivel lógico. (Perdón por el recuento de bits incorrectos, hice mis cálculos incorrectos: / Gracias por eliminarlos).

    
respondido por el KilowattLaser

Lea otras preguntas en las etiquetas