查看: 784|回复: 0

关于4*4矩阵键盘密码锁

[复制链接]
  • TA的每日心情
    开心
    2019-7-24 12:15
  • 签到天数: 25 天

    [LV.4]偶尔看看III

    发表于 2019-7-25 18:22 | 显示全部楼层 |阅读模式
    如下面程序:库函数均存在,但编译时报错。报错内容附图,希望大佬们能帮助一下。
    #include <Password.h>
    #include <Keypad.h>
    #include <Servo.h>
    Servo myservo;
    Password password = Password( "123A" );
    const byte ROWS = 4; // Four rows
    const byte COLS = 4; //  columns
    char keys[ROWS][COLS] = {
      {'1','2','3','A'},
      {'4','5','6','B'},
      {'7','8','9','C'},
      {'*','0','#','D'}
    };
    byte rowPins[ROWS] = { 9,8,7,6 };
    byte colPins[COLS] = { 5,4,3,2,};
    Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
    void setup(){
      Serial.begin(9600);
        delay(200);
      pinMode(12, OUTPUT);  //green light
      pinMode(13, OUTPUT);  //red light
      myservo.attach(10); //servo on digital pin 13
      keypad.addEventListener(keypadEvent);
      //add an event listener for this keypad
    }
    void loop(){
      keypad.getKey();
      myservo.write(0);
    }
    void keypadEvent(KeypadEvent eKey){
      switch (keypad.getState()){
        case PRESSED:
    Serial.print("Pressed: ");
    Serial.println(eKey);
    switch (eKey){
       case '*': checkPassword(); break;
       case '#': password.reset(); break;
       default: password.append(eKey);
         }
      }
    }
    void checkPassword(){
      if (password.evaluate()){
        Serial.println("Success");
        //Add code to run if it works
        myservo.write(90); //servo movement 90
        digitalWrite(12, HIGH);//turn on
        delay(1000); //wait 5 seconds
        digitalWrite(12, LOW);// turn off
      }else{
        Serial.println("Wrong");
        digitalWrite(13, HIGH); //turn on
        delay(1000); //wait 5 seconds
        digitalWrite(13, LOW);//turn off
      }
    }

    捕获.JPG
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    用 PyQt GUI 界面下的旋钮控制舵机角度
    用 PyQt GUI 界面下的旋钮
    新人报道, 我想用 PyQt 下的 Dial 旋钮模块来控制舵机的角度。如果一切正常,这个 G
    blinker连接树莓派失败
    blinker连接树莓派失败
    错误原因如下图,想问一下大家这个该怎么解决?
    Python3接入Blinker失败
    Python3接入Blinker失败
    运行示例程序,只把auth换成真实的auth,就出现报错。 大佬们看一下这个是啥情况
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表