collapse

* Posts Recentes

Compra Colectiva Mouser N3-2018 (limite ~21 Julho 2019) [update] por Hugu
[Ontem às 16:28]


Fabricantes de PCB e Assemblage (produção em massa) por senso
[Ontem às 16:15]


Loja online "McMaster" na europa? por Alfredo Garcia
[16 de Julho de 2019, 23:17]


Stepper Motor HEM-17D3003 por jm_araujo
[15 de Julho de 2019, 09:22]


Bucha Berbequim por SerraCabo
[14 de Julho de 2019, 22:45]


Video Porteiro do Prédio por Hugu
[08 de Julho de 2019, 23:05]


Medidor de indutâncias por Hugu
[08 de Julho de 2019, 22:57]


Perfis V-Slot vs C-Beam vs Bosch vs 8020 por Hugu
[08 de Julho de 2019, 22:46]


Ressuscitar Bateria Li-On 36V por jm_araujo
[26 de Junho de 2019, 17:23]


Pequenas chapas de Aluminio - Onde comprar? por Hugu
[24 de Junho de 2019, 16:39]

Autor Tópico: 4x4 Keypad  (Lida 2271 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.646
    • GrcByte - Projectos
4x4 Keypad
« em: 17 de Junho de 2011, 12:50 »
Tenho aqui uma coisa destas:



"8 Pin keyboard scan."


Confirmem só se posso fazer a ligação desta forma ao Arduino:


Encontrei na web este esquema

Ligar os 8 pinos do teclado com resistências de 1K aos pinos do Arduino e usar a Library http://www.arduino.cc/playground/Code/Keypad#Download "Keypad.h":

Código: [Seleccione]
#include <Keypad.h>

const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'#','0','*','D'}
};
byte rowPins[ROWS] = {8, 7, 6, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {12, 11, 10, 9}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  Serial.begin(9600);
}

void loop(){
  char key = keypad.getKey();

  if (key != NO_KEY){
    Serial.println(key);
  }
}
« Última modificação: 21 de Junho de 2011, 10:34 por almamater »

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.646
    • GrcByte - Projectos
Re: 4x4 Keypad
« Responder #1 em: 21 de Junho de 2011, 10:34 »
Funcionou! 8 resistências de 1 K e voilá :) nada se estragou.

StarRider

  • Visitante
Re: 4x4 Keypad
« Responder #2 em: 22 de Junho de 2011, 13:06 »
Boas,

Nem sequer era necessário as resistências, usavas os internal pullup ...

Abraços,
PA

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.646
    • GrcByte - Projectos
Re: 4x4 Keypad
« Responder #3 em: 22 de Junho de 2011, 13:13 »
Boas,

Nem sequer era necessário as resistências, usavas os internal pullup ...

Abraços,
PA

Pois.. devia dar de facto.. seria só
Código: [Seleccione]
pinMode(pin, INPUT); // set pin to input
digitalWrite(pin, HIGH); // turn on pullup resistors

Offline shenzi

  • Mini Robot
  • *
  • Mensagens: 48
Re: 4x4 Keypad
« Responder #4 em: 09 de Julho de 2011, 16:09 »
tenho um keypad 3x4, existe algum problema de não meter nenhuma resistência?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: 4x4 Keypad
« Responder #5 em: 09 de Julho de 2011, 17:00 »
As resistências no esquema da foto não estão a fazer pull-up. Se esse teclado é mesmo um "scan keyboard" tipico, funcionou apenas por sorte.

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.646
    • GrcByte - Projectos
Re: 4x4 Keypad
« Responder #6 em: 11 de Julho de 2011, 10:17 »
então secalhar não é um dos teclados 'típicos', pois funcionou bem.. várias vezes e com códigos diferentes..

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: 4x4 Keypad
« Responder #7 em: 11 de Julho de 2011, 10:22 »
Se calhar a biblioteca do Arduino já activa os pull-ups do AVR.

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.646
    • GrcByte - Projectos
Re: 4x4 Keypad
« Responder #8 em: 11 de Julho de 2011, 10:47 »
então deve ser isso :), eu liguei como no esquema que referi, com resistências de 1K em todos os pinos do Keypad :D