hyrule吧 关注:15贴子:325
  • 11回复贴,共1

关于Arduino矩阵键盘的问题。

只看楼主收藏回复

在网上很容易找到,矩阵键盘的程序,主要是用到了Keypad.h头文件。



1楼2015-05-16 23:24回复
    Keypad.h
    头文件使用时应该是“Keypad.h”,而不是<Keypad.h>。
    Keypad.h头文件下载地址
    http://arduino.cc/playground/uploads/Code/Keypad.zip


    2楼2015-05-16 23:27
    回复
      2025-09-17 21:04:32
      广告
      不感兴趣
      开通SVIP免广告
      使用1602显示矩阵按键数字的方法1
      #include "Keypad.h"
      #include <LiquidCrystal.h>
      unsigned char k=0;
      unsigned char m=0;
      LiquidCrystal lcd(8, 9, 10, 11, 12, 13);//RS E DB4 DB5 DB6 DB7
      const byte ROWS = 4;
      const byte COLS = 4;
      char keys[ROWS][COLS] = {
      {'1','2','3','A'},
      {'4','5','6','B'},
      {'7','8','9','C'},
      {'*','0','#','D'}
      };
      byte rowPins[ROWS] = {0, 1, 2, 3};
      byte colPins[COLS] = {4, 5, 6, 7};
      Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
      void setup()
      {
      lcd.begin(16,2);
      lcd.clear();
      Serial.begin(9600);
      }
      void readKeyboard()
      {
      char key = keypad.getKey();
      if (key!=NO_KEY){
      switch(key)
      {
      case '1' : k=1;break;
      case '2' : k=2;break;
      case '3' : k=3;break;
      case '4':k=4;break;
      case '5':k=5;break;
      case '6':k=6;break;
      case '7':k=7;break;
      case '8':k=8;break;
      case '9':k=9;break;
      case '*':k=10;break;
      case '0':k=11;break;
      case '#':k=12;break;
      case 'A' : k=13;break;
      case 'B' : k=14;break;
      case 'C':k=15;break;
      case 'D':k=16;m++;break;
      default:break;
      }
      }
      }
      void loop()
      {
      readKeyboard();
      lcd.setCursor(0,0);
      lcd.print(k);
      }


      3楼2015-05-16 23:29
      收起回复
        请问如何将键盘连续输入的两个数转化为二位的数字?


        5楼2015-07-31 01:53
        收起回复
          楼主,我现在学得51,这个和51有啥区别?


          IP属地:湖北来自Android客户端6楼2015-09-14 18:24
          收起回复
            很好的,顶一个,刚开始学arduino,楼主能加上些注释就更好了


            7楼2015-11-15 19:23
            收起回复
              请问报了'makerKeymap' was not declared in this scope的错是什么问题呀


              IP属地:北京8楼2017-03-24 16:47
              收起回复