From 137f3846f7b1c1fcefac03d6d668ef6c76ef9e71 Mon Sep 17 00:00:00 2001 From: AlbertoGV Date: Tue, 24 Jan 2023 23:49:38 -0600 Subject: [PATCH] List of used materials --- readme.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 05f9452..06c9693 100644 --- a/readme.md +++ b/readme.md @@ -16,6 +16,14 @@ This document aims to show how a mechanical keybord 1x4 was made using UPVERTER Se realizó el diseño de un teclado 1x4 con botones mecánicos con la finalidad de que este sea un medio más cómodo para el usuario para interactuar con otros dispositivos e introducir información o comandos para ejecutar una tarea específica. Para el diseño, se empleó el software libre UPVERTER el cuál permite realizar modelos de PCBs a partir del diseño de un circuito. En este caso, también se tuvo que diseñar el botón mecánico, debido a su forma y medidas específicas. +#### Lista de materiales: + +- 4 botones mecánicos *CPG1511* +- 1 tira header macho de 5 pines (2.54 mm) +- Baquela de 94.5 mm x 26 mm (aproximadamente) + +**Nota:** Los botones mecánicos fueron adquiridos en la tienda en línea que se muestra en la siguiente liga: https://www.digikey.com.mx/es/products/detail/adafruit-industries-llc/5123/14617350 + ## **Desarrollo** #### Esquemático del teclado mecánico @@ -49,7 +57,7 @@ En seguida, se muestra el código usado para probar el teclado matricial; para e char lec=0; -int cont1,cont2,cont3,cont4; +int cont1=0,cont2=0,cont3=0,cont4=0; void main(void) { WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer @@ -76,7 +84,6 @@ void main(void) for(;;) { - }//loop }//main @@ -103,7 +110,6 @@ void __attribute__ ((interrupt(PORT1_VECTOR))) PORT1_ISR (void) __delay_cycles(250); if( P1IFG == BIT4){ cont2++; - P9OUT ^= 0x80; } @@ -125,6 +131,8 @@ void __attribute__ ((interrupt(PORT1_VECTOR))) PORT1_ISR (void) } ``` +**Nota:** Se agregaron delays de 250 ms para evitar el efecto de rebote de los botones cuando son presionados; además se añadieron contadores para obtener el número de veces que se presiona el botón. + ## **Anexos** #### Microcontrolador implementado (MSP430FR6989)