Tabla de contenido:

Guía de uso del teclado de un pin Raspberry Pi: 9 pasos
Guía de uso del teclado de un pin Raspberry Pi: 9 pasos

Video: Guía de uso del teclado de un pin Raspberry Pi: 9 pasos

Video: Guía de uso del teclado de un pin Raspberry Pi: 9 pasos
Video: RASPBERRY PI 400 Review: MUCHO por MUY POCO 2024, Noviembre
Anonim
Guía de uso del teclado de un pin Raspberry Pi
Guía de uso del teclado de un pin Raspberry Pi

DESCARGO DE RESPONSABILIDAD: ESTA ES UNA GUÍA DE USO PARA UN PRODUCTO DE CÓDIGO ABIERTO: EL TECLADO DE UN PIN. ESTE NO ES UN PROYECTO DE BRICOLAJE. SI DESEA HACER LOS TABLEROS USTED MISMO, LOS ARCHIVOS EAGLE SE PUEDEN ENCONTRAR AL FINAL DEL TUTORIAL

¿Qué es el teclado de un pin?

El teclado de un pin hace que el uso de un teclado de matriz sea mucho más fácil y le permite reservar sus preciados pines de E / S para otros fines. Un teclado de matriz de 16 botones generalmente requiere 8 entradas digitales en un microcontrolador o computadora de placa única. Los Arduino más populares lo limitan a solo 14 pines digitales, por lo que un teclado de 16 botones lo deja con solo 6 pines para el resto de su proyecto. Esta escasez de recursos puede llevar a una costosa compensación de diseño o una actualización más costosa del microcontrolador. El módulo de teclado de un pin elimina la necesidad de todas estas entradas digitales. Como su nombre lo indica, One Pin Keypad usa solo un pin (una entrada analógica) más conexiones GND y VCC, por lo que el cableado de su teclado es muy sencillo. Para los usuarios de Raspberry Pi (el público objetivo de este tutorial), también requiere un convertidor analógico a digital ADS1115, que es realmente fácil de cablear. El paquete Python de teclado de un pin (incluido) también simplifica la programación necesaria para procesar las entradas del teclado, lo que le permite ahorrar más tiempo y esfuerzo.

Para la Guía de uso de Arduino, haga clic aquí.

Paso 1: ¡Reúna todas las piezas

¡Reúna todas las piezas!
¡Reúna todas las piezas!

Para comenzar con su tablero de teclado de un pin, necesitará:

  • Un tablero de teclado de un pin
  • Un Arduino de cierto sabor (en este caso se usó un Arduino Nano)
  • 3 cables de puente M / F,
  • 4 M / M O 4 cables de puente M / F más, dependiendo del tipo de encabezados de su Raspberry Pi
  • Un teclado de membrana de 16 botones
  • Protoboard (aquí se usa uno muy pequeño)
  • Un módulo ADS1115 (de Adafruit o un clon)
  • Una Raspberry Pi con conexión a Internet y sistema operativo Raspbian (usé Stretch)
  • Accesorios Raspberry Pi (un cable HDMI, una fuente de alimentación, dongles, monitor, etc. depende del sabor de su Raspberry Pi)

Paso 2: ¡Cableado

¡Alambrado!
¡Alambrado!
¡Alambrado!
¡Alambrado!

Conecte el teclado de un pin de acuerdo con el diagrama de Fritzing, la foto o ambos, lo que prefiera.

Tenga en cuenta: la nota en el diagrama de Fritzing representa el teclado de un pin (y las abreviaturas GND VCC y AOUT designan los pines de la placa del teclado de un pin)

Paso 3: ¡Instalación del paquete Python

¡Instalación del paquete Python!
¡Instalación del paquete Python!
¡Instalación del paquete Python!
¡Instalación del paquete Python!

Abra una ventana de terminal y escriba los siguientes comandos:

sudo apt-get update

luego

pip3 instalar Progetto-One-Pin-Keypad

para instalar el paquete y sus dependencias necesarias

Paso 4: Instalar los ejemplos

Instalación de los ejemplos
Instalación de los ejemplos

Creé una carpeta de desarrollo para albergar el repositorio en home / pi si desea hacer lo mismo (es completamente opcional), ejecute este comando:

mkdir dev

luego, para navegar a la carpeta, escriba:

cd dev

Por último, para clonar el repositorio, ingrese el siguiente comando:

clon de git

Paso 5: Habilitación de I2C

Habilitación de I2C
Habilitación de I2C
Habilitación de I2C
Habilitación de I2C
Habilitación de I2C
Habilitación de I2C

El ADS1115 ADC (convertidor analógico a digital) se basa en el protocolo I2C (circuito interintegrado) para comunicarse con la Raspberry Pi, por defecto el bus I2C está deshabilitado, para habilitarlo, escriba:

sudo raspi-config

que lo llevará a una ventana de configuración azul, desde allí, usando las teclas de flecha y la tecla enter, elija

  1. Opciones de interfaz
  2. I2C
  3. Entonces baja a

Sugerencia: ¡Consultar las capturas de pantalla anteriores puede ayudar un poco! Si todavía estás atascado, ¡no temas! ¡Consulta este increíble tutorial de Sparkfun!

Paso 6: Ejecute Calibratethresholds

Ejecute Calibratethresholds!
Ejecute Calibratethresholds!

Navegue al repositorio si aún no lo ha hecho y vaya a la carpeta de ejemplos usando estos comandos:

Consejo: escriba 'cd Prog' y luego presione Tab, ¡debería autocompletar el nombre del repositorio!

cd Progetto_One_Pin_Keypad_Python_Package

luego escriba:

ejemplos de cd

A continuación, ejecute el ejemplo de calibratethresholds usando este comando:

Python3 calibrar umbrales

y siga las instrucciones que se muestran en la consola para calibrar su placa. Después de que la calibración recorra todos los botones, pruebe sus nuevos valores analógicos para ver si funcionan presionando algunos botones cuando se le solicite "Comenzar". Si los nuevos valores resultan ser inexactos, use Ctrl C para cerrar el programa y ejecutarlo de nuevo.

El ejemplo de calibración debería proporcionarle 2 líneas de código que necesitará en el siguiente ejemplo, asegúrese de mantener la consola abierta y / o copiar ambas.

Paso 7: Modifique y luego ejecute Readkeypadwithtimeout

Modificar y luego ejecutar Readkeypadwithtimeout
Modificar y luego ejecutar Readkeypadwithtimeout
Modificar y luego ejecutar Readkeypadwithtimeout
Modificar y luego ejecutar Readkeypadwithtimeout
Modificar y luego ejecutar Readkeypadwithtimeout
Modificar y luego ejecutar Readkeypadwithtimeout

Ahora que su One Pin Keypad está calibrado, es hora de ponerlo en uso. Si bien puede hacer esto desde la línea de comandos usando vi, personalmente prefiero usar un IDE como IDLE.

Abra IDLE (querrá la versión de python3) y modifique las siguientes líneas:

¿Recuerdas esa matriz de valores analógicos que copiaste? Reemplace la línea 13 (ver más abajo) con los valores analógicos recién calibrados.

# ej: my_thresholds = [los valores calibrados estarían aquí]

se reemplaza con esto:

my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

A continuación, agregue la siguiente línea de código después de la línea 23 (ver más abajo):

keypad.useCalibratedThresholds (my_thresholds)

se agrega después de la línea 23:

# ej: keypad.use_calibrated_thresholds (su nombre de matriz)

hacer que las líneas 22 a 24 se vean así al final:

# Si se utilizan valores calibrados, use_calibrated_thresholds a continuación:

# ej: keypad.use_calibrated_thresholds (su nombre de matriz)

keypad.use_calibrated_thresholds (my_thresholds)

Una vez hecho esto, ejecute el código y pruébelo presionando algunos botones. ¡No dude en adaptar el boceto de ejemplo a sus proyectos! Recuerde que read_keypad_with_timeout devuelve el botón que se presiona como un carácter y el tiempo de espera se establece en milisegundos. Si no desea un tiempo de espera, use la constante keypad. NO_TIMEOUT.

Paso 8: Cómo funciona el teclado de un pin

Cómo funciona el teclado de un pin
Cómo funciona el teclado de un pin
Cómo funciona el teclado de un pin
Cómo funciona el teclado de un pin

Gran parte del diseño del One Pin Keypad se basa en la implementación de Hari Wiguna de un divisor de voltaje para obtener un valor analógico único para cada tecla en un teclado de 16 pines. El diseño de One Pin Keypad sigue siendo en gran parte el mismo, con algunos ajustes. Si desea un excelente tutorial sobre cómo funciona el teclado de un pin, ¡no dude en ver el increíble video de Hari Wiguna aquí!

Paso 9: Conclusión

Conclusión
Conclusión

En este instructivo, cubrimos cómo comenzar con su tablero de teclado de un pin. Ahora, los curiosos entre ustedes pueden haberse preguntado por qué nunca se usó el boceto de ejemplo readKeypadInstantaneo, la razón es que no es tan útil, porque el botón debe presionarse cuando se llama, la función readKeypadInstantaneo () se usa principalmente para simplificar readKeypadWithTimeout () en la biblioteca. Si te llama la atención, no dudes en probarlo. ¡Feliz piratería!

Si tiene alguna pregunta, deje un comentario a continuación o envíenos un correo electrónico a [email protected]. Saludos cordiales, Progetto Company P. S. Como se prometió, un enlace a los archivos Eagle de la junta.

Recomendado: