Untitled

 avatar
unknown
plain_text
a year ago
1.1 kB
2
Indexable
char key[4][4]={{'1','2','3','A'},{'4','5','6','B'},{'7','8','9','C'},{'*','0','#','D'}};
#define pin1 5 
#define pin2 6 
#define pin3 7  
#define pin4 8 
#define pin5 9  
#define pin6 10 
#define pin7 12 
#define pin8 13  
char pinBushed;
int input_pins[4]={8,7,6,5};
int output_pins[4]={13,12,10,9};

// פונקציה 
char mykey(void)
{
  int r,c;

  for(r=0;r<4;r++)
  {
    digitalWrite(output_pins[r],LOW);
    for(int c=0;c<4;c++)
    { 
    if((digitalRead(input_pins[c])==LOW))
    return key[r][c];
    }
    digitalWrite(output_pins[r],HIGH);
  }
  return '$';
  }
  
void setup() 
{
 Serial.begin(9600);
  pinMode(pin1,INPUT_PULLUP);
  pinMode(pin2,INPUT_PULLUP); 
  pinMode(pin3,INPUT_PULLUP);
  pinMode(pin4,INPUT_PULLUP);
  pinMode(pin5,OUTPUT);
  pinMode(pin6,OUTPUT);
  pinMode(pin7,OUTPUT);
  pinMode(pin8,OUTPUT);
  digitalWrite(pin5,HIGH);
  digitalWrite(pin6,HIGH);
  digitalWrite(pin7,HIGH);
  digitalWrite(pin8,HIGH);
}

void loop() 
{
  pinBushed=mykey();
  char key;
  if(pinBushed=='$')
  {
    ;
  }
  else
  {
    Serial.println(pinBushed);
  }
  delay(500);

}