Autor Tema: Ayuda con TECLADO MATRIZ 3x4!!!  (Leído 6709 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado facundo_10

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 179
    • DAVINCIPIC
Ayuda con TECLADO MATRIZ 3x4!!!
« en: 12 de Diciembre de 2007, 13:06:35 »
Hola, necesito ayuda para conectar un teclado matriz a mi pic, es un 16f628, por ahora lo unico que quisiera que haga (para empezar,,, estoy aprendiendo  :P) es que cuando puse una tecla se muestre un numero (de la tecla que pulse) en una pantalla del LCD.

Como me parece que no voy a poder poner una pantalla LCD de 16x2 y un Tecado matriz de 7 contactos 3 columnas, 4 filas, voy a hacer una simulacion en proteus con un pic 16f873.

Que ahi voy a andar bien de pines.

Para controlar el LCD, ya fui aprendiendo, pero quisiera saber como se controlan estos teclados. Si alguien me puede ayudar!
PICMANIACO!

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Ayuda con TECLADO MATRIZ 3x4!!!
« Respuesta #1 en: 12 de Diciembre de 2007, 13:15:50 »
Puedes checar este tema

O bien checar todos los resultados que arroja el  buscador
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado facundo_10

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 179
    • DAVINCIPIC
Re: Ayuda con TECLADO MATRIZ 3x4!!!
« Respuesta #2 en: 12 de Diciembre de 2007, 14:22:23 »
Hola, pues si esta bien, pero me preguntaba si habia alguno con alguna explicacion un poco mas extensa y en español si es posible..

Desde ya muchas graciaS!
PICMANIACO!

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Ayuda con TECLADO MATRIZ 3x4!!!
« Respuesta #3 en: 12 de Diciembre de 2007, 14:27:31 »
Si claro en el buscador aparecen muuchos temas sobre esto y creo que son transparentes los codigos, bueno el primero no tanto
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado frape

  • PIC10
  • *
  • Mensajes: 21
Re: Ayuda con TECLADO MATRIZ 3x4!!!
« Respuesta #4 en: 12 de Diciembre de 2007, 17:14:27 »
busca en el foro que yo en su dia se pegaron varios post con codigo para teclado, yo mismo puse uno comentado, los teclados son muy somples de usar, eso si deberas cambiar de chip ya que si piensas usar display teclado y algun pin mas el 628 te queda corto, necesitarias un 876 y mejor aun un 877.
Saludos

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Ayuda con TECLADO MATRIZ 3x4!!!
« Respuesta #5 en: 12 de Diciembre de 2007, 17:48:43 »
eso si deberas cambiar de chip ya que si piensas usar display teclado y algun pin mas el 628 te queda corto, necesitarias un 876 y mejor aun un 877.
Saludos

Aunque puedes usar el mismo bus del LCD o display para otras cosas siempre y cuando desactives el lcd.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Ayuda con TECLADO MATRIZ 3x4!!!
« Respuesta #6 en: 12 de Diciembre de 2007, 18:25:46 »
voy a hacer una simulacion en proteus con un pic 16f873.
Que ahi voy a andar bien de pines.


Hola:

Pues los pines no serán problemas, ya que el 16F873 tiene 28, y es el que va a utilizar, lo mencionó en su primer post.
« Última modificación: 12 de Diciembre de 2007, 18:29:19 por LordLafebre »

Desconectado facundo_10

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 179
    • DAVINCIPIC
Re: Ayuda con TECLADO MATRIZ 3x4!!!
« Respuesta #7 en: 13 de Diciembre de 2007, 16:03:09 »
Hola asi como dice giovanni voy a utilizar ese.... el 16f873


Lo que pasa es que me gustaria entender un poco la rutina:


" Define program variables
      Col     var     byte            " Keypad column
      Row     var     byte            " Keypad row
      Key     var     byte            " Key value

        OPTION_REG.7 = 0        " Enable PORTB pullups   
        Low PORTE.2             " LCD R/W line low (W)

        Delayms 100               " Wait for LCD to start
        Print Cls, "Press any key"  " Display sign on message

loop:   Gosub Getkey            " Get a key from the keypad
        Print $FE, 1, #Key     " Display ASCII key number
        Goto Loop               " Do it forever


" Subroutine to get a key from keypad
getkey:
        Delayms 50                " Debounce

getkeyu:
        " Wait for all keys up
        PORTB = 0               " All output pins low
        TRISB = $f0             -----> que quiere decir esto de aca????
        If (PORTB >> 4) <> $0F Then Getkeyu    ---- ??? ESTO DE ACA A QUE SE REFIERE?
        Delayms 50                " Debounce

getkeyp:
        " Wait for keypress
        For Col = 0 to 3        " 4 columns in keypad
                PORTB = 0       " All output pins low
                TRISB = (Dcd Col) ^ $FF "--------------> ESTO DE ACA ???'
                row = PORTB >> 4        --------------------> ?????
                If Row <> $0F Then Gotkey        -------------->?¿???
        Next Col
        Goto Getkeyp            " No keys down, go look again

Gotkey: " Change row and column to key number 1 - 16
        Key = (Col * 4) + (Ncd (Row ^ $0F)) ------------->???? que es esto ?
        Return                  " Subroutine over
PICMANIACO!

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Ayuda con TECLADO MATRIZ 3x4!!!
« Respuesta #8 en: 13 de Diciembre de 2007, 16:21:20 »
Como podras ver en esa rutina usa muchos operadores logicos e instrucciones del compilador por ejemplo el NCD o el DCD que son instrucciones que puedes buscar en la ayuda del PBP. y los operadores igual.

Recuerda que cuando usas $, estas diciendo que es un numero hexadecimal, si pones % debera ser binario. Aca deberas ver que es para PROTON y para PBP deberas usar LCDOUT y PAUSE
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Ayuda con TECLADO MATRIZ 3x4!!!
« Respuesta #9 en: 02 de Febrero de 2008, 11:58:52 »
Hola, necesito ayuda para conectar un teclado matriz a mi pic, es un 16f628, por ahora lo unico que quisiera que haga (para empezar,,, estoy aprendiendo  :P) es que cuando puse una tecla se muestre un numero (de la tecla que pulse) en una pantalla del LCD.

Como me parece que no voy a poder poner una pantalla LCD de 16x2 y un Tecado matriz de 7 contactos 3 columnas, 4 filas, voy a hacer una simulacion en proteus con un pic 16f873.

Que ahi voy a andar bien de pines.

Para controlar el LCD, ya fui aprendiendo, pero quisiera saber como se controlan estos teclados. Si alguien me puede ayudar!

Estimado colega no te des tanto lio yo lo manejo de esta manera los teclados matricial y funciona perfecto

inicio:
   call TECLADO
   if TECLA=11 THEN inicio
   ELSE
   PRINT $FE,2, #TECLA
   GOTO inicio


TECLADO:
        TECLA = 11
        PORTD.0 = 0   'COLUMNA 1=0
        PORTD.1 = 1   'COLUMNA 2=1
        PORTD.2 = 1   'COLUNMA 3=1
       
        If PORTD.3 = 0 Then TECLA = 1  'TECLA 1
        If PORTD.4 = 0 Then TECLA = 4  'TECLA 4
        If PORTD.5 = 0 Then TECLA = 7  'TECLA 7
        If PORTD.6 = 0 Then TECLA = 10 'TECLA *
       
        PORTD.0 = 1   'COLUMNA 1=1
        PORTD.1 = 0   'COLUMNA 2=0
        PORTD.2 = 1   'COLUNMA 3=1
       
        If PORTD.3 = 0 Then TECLA = 2  'TECLA 2
        If PORTD.4 = 0 Then TECLA = 5  'TECLA 5
        If PORTD.5 = 0 Then TECLA = 8  'TECLA 8
        If PORTD.6 = 0 Then TECLA = 0 'TECLA 0
       
        PORTD.0 = 1   'COLUMNA 1=1
        PORTD.1 = 1   'COLUMNA 2=1
        PORTD.2 = 0   'COLUNMA 3=0
       
        If PORTD.3 = 0 Then TECLA = 3  'TECLA 3
        If PORTD.4 = 0 Then TECLA = 6  'TECLA 6
        If PORTD.5 = 0 Then TECLA = 9  'TECLA 9
        If PORTD.6 = 0 Then TECLA = 12 'TECLA #
        delayms 150
        Return 'RETORNA UNA LINEA DESPUES DEL LLAMADO CALL
end

nota: estoy tienes que definir tu puerto para ser usado con el teclado en este caso el puerto D :mrgreen:
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE


 

anything