Tabla de contenido:

Comunicación en serie Arduino y Python - Pantalla del teclado: 4 pasos
Comunicación en serie Arduino y Python - Pantalla del teclado: 4 pasos

Video: Comunicación en serie Arduino y Python - Pantalla del teclado: 4 pasos

Video: Comunicación en serie Arduino y Python - Pantalla del teclado: 4 pasos
Video: 💡 LEER Valores desde el MONITOR Serial Arduino desde Cero 【 2021 】 - Capítulo #18🔋 2024, Noviembre
Anonim
Comunicación serial Arduino y Python - Pantalla del teclado
Comunicación serial Arduino y Python - Pantalla del teclado

Este proyecto está hecho para usuarios de mac pero también se puede implementar para Linux y Windows, el único paso que debería ser diferente es la instalación.

Paso 1: instalación del software

Instalación de software
Instalación de software
  1. Descargue e instale Arduino ->
  2. Descargue e instale Python 2.7 ->
  3. Descargue la biblioteca de Python "pyserial-2.7.tar.gz" ->
  4. Descomprima pyserial-2.7.tar.gz
  5. Abra Terminal y escriba:

cd /users/"Your-User-Account"/Downloads/pyserial-2.7

sudo python setup.py instalar

¡Instalación de software lista!

Paso 2: cableado

Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
  1. Arduino Uno
  2. Teclado Sparkfun de 12 botones

El cableado se realiza sin resistencias externas, en su lugar utilicé los Pullup-Resistors internos del microcontrolador (los Pullup-Resistors internos de Arduino tienen un valor de 20K-Ohm a 50K-Ohm)

Para activar las resistencias pullup internas, configure los pines INPUT HIGH en el código

Si usa otro teclado, mire la hoja de datos para el cableado correcto, de lo contrario podría dañar su microcontrolador

Paso 3: Código Arduino

Código Arduino
Código Arduino
  • Primero definimos una matriz de caracteres para las claves
  • El teclado utiliza conectores de interruptor normales que están dispuestos en 4 filas (Pines 7, 2, 3 y 5) y 3 columnas (Pines 6, 8 y 4), se definen como Arrays rowPins y colPins
  • La función setup ()

    • Abra la puerta serial con Serial.begin ();
    • Establecer columnas como OUTPUT-Pins HIGH
    • Active los Pullup-Resistors, para hacer esto, configure las filas como INPUT-Pins HIGH;
  • La función getkey ()

    • Establezca cada fila en BAJO y pruebe si una de las columnas es BAJA. Debido a los Pullup-Resistors, todas las filas están ALTAS hasta que se presiona una tecla. La tecla presionada genera una señal BAJA en el pin de ENTRADA. Este BAJO indica la tecla presionada en esta fila y columna
    • Espere hasta que se suelte la tecla y devuelva el carácter del keymap-Array o 0 si no se presionó ninguna tecla
    • Utilice un retardo (debounceTime) para estabilizar la señal

Paso 4: Código Python_2.7

Código Python_2.7
Código Python_2.7
  • Importar la biblioteca serial
  • Defina una variable conectada = FALSO, luego esta variable se usa para probar si la conexión en serie está disponible o no
  • Abra el puerto serie con serial. Serial ("Nombre de su puerto serie", baudios)

    • Para obtener el nombre de su puerto serie, haga clic en -> Herramientas / Puerto serie en Arduino IDLE
    • los baudios deben ser los mismos que en el código Arduino
  • En una prueba de bucle while si la conexión está disponible o no lee la señal en serie y configura la variable conectada = VERDADERO, se repite hasta que obtiene la conexión en serie
  • Después de la conexión, lea el serial en un bucle while y coloque esta entrada en una nueva variable "var"
  • cerrar el puerto con ser.close ()

Recomendado: