Browse Source

List of used materials

master
AlbertoGV 1 year ago
parent
commit
137f3846f7
1 changed files with 11 additions and 3 deletions
  1. +11
    -3
      readme.md

+ 11
- 3
readme.md View File

@ -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. 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** ## **Desarrollo**
#### Esquemático del teclado mecánico #### 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; char lec=0;
int cont1,cont2,cont3,cont4;
int cont1=0,cont2=0,cont3=0,cont4=0;
void main(void) void main(void)
{ {
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
@ -76,7 +84,6 @@ void main(void)
for(;;) for(;;)
{ {
}//loop }//loop
}//main }//main
@ -103,7 +110,6 @@ void __attribute__ ((interrupt(PORT1_VECTOR))) PORT1_ISR (void)
__delay_cycles(250); __delay_cycles(250);
if( P1IFG == BIT4){ if( P1IFG == BIT4){
cont2++; cont2++;
P9OUT ^= 0x80; 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** ## **Anexos**
#### Microcontrolador implementado (MSP430FR6989) #### Microcontrolador implementado (MSP430FR6989)


Loading…
Cancel
Save