mixly吧 关注:936贴子:1,141
  • 23回复贴,共1

rc522的简易门禁系统

只看楼主收藏回复


发现买的rfid_rc522模块和诺基亚5110屏幕一次都没用过,于是就想配合起来做一个简易的门禁系统。
准备动手,却发现mixly的三方库里这两个库都找不到,没有库咋办,我又不会开发
那就直接用arduino IDE里的库来写写看,成功之后在把代码换成mixly的程序,OK开工
1、首先是下载库,打开Arduino IDE,在依次打开菜单栏——项目——加载库——管理库,搜索两个库文件并安装



IP属地:江苏1楼2018-08-16 13:07回复
    所用元器件如下图:

    连线方式:
    5110显示屏:
    2——CLK
    3——DIN
    4——DC
    5——CE
    6—— RST
    7——BL
    rc522;
    RST——8
    SDA(SS)——10
    MOSI——11
    MISO——12
    SCK——13
    舵机 ——9


    IP属地:江苏2楼2018-08-16 13:14
    回复
      2026-03-12 16:50:39
      广告
      不感兴趣
      开通SVIP免广告
      Arduino IDE程序
      #include <MFRC522.h>
      #include <SPI.h>
      #include <Nokia_LCD.h>
      #include <Servo.h>
      #define bl 7
      Servo myservo;
      int pos=0;
      MFRC522 rfid(10,8);
      Nokia_LCD lcd(2,3,4,5,6);
      byte nuidPICC[4];
      void printDec(byte *buffers,byte bufferSize){
      for(byte i=0;i<bufferSize;i++){
      Serial.print(buffers[i]<0x10?"0":"");
      Serial.print(buffers[i],DEC);
      lcd.setCursor(18+i*17,0);
      lcd.print(buffers[i]);
      lcd.print(" ");
      }
      }
      void bijiao(byte *buffers,byte bufferSize){
      if (buffers[0] == 246 && buffers[1] == 114 && buffers[2] == 255 && buffers[3] == 147) {
      lcd.setCursor(1,2);
      lcd.print("Welcome Mr.CAO");
      lcd.setCursor(10,3);
      lcd.print("Come in please!");
      digitalWrite(bl,HIGH);
      myservo.write(178);
      delay(30);
      }
      if (buffers[0] == 96 && buffers[1] == 40 && buffers[2] == 6 && buffers[3] == 165) {
      lcd.setCursor(1,2);
      lcd.print("Welcome Mrs.Wang");
      lcd.setCursor(10,3);
      lcd.print("Come in please!");
      digitalWrite(bl,HIGH);
      myservo.write(178);
      delay(30);
      }else{
      lcd.setCursor(1,2);
      lcd.print("WRING!");
      digitalWrite(bl,HIGH);
      }
      }
      void setup() {
      Serial.begin(9600);
      lcd.begin();
      lcd.setContrast(50);
      lcd.clear(true);
      SPI.begin();
      rfid.PCD_Init();
      pinMode(bl,OUTPUT);
      myservo.attach(9);
      myservo.write(90);
      delay(30);
      }
      void loop() {
      lcd.clear();
      if(!rfid.PICC_IsNewCardPresent())
      return;
      if(!rfid.PICC_ReadCardSerial())
      return;
      MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
      if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
      piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
      piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
      Serial.println("不支持读取此卡类型");
      return;
      }
      for(byte i=0;i<4;i++){
      nuidPICC[i]=rfid.uid.uidByte[i];
      }
      lcd.setCursor(1,0);
      lcd.print("ID:");
      Serial.print("十进制UID:");
      printDec(rfid.uid.uidByte,rfid.uid.size);
      Serial.println();
      bijiao(rfid.uid.uidByte,rfid.uid.size);
      delay(4000);
      myservo.write(90);
      digitalWrite(bl,LOW);
      rfid.PICC_HaltA();
      rfid.PCD_StopCrypto1();
      }


      IP属地:江苏3楼2018-08-16 13:16
      回复(1)

        mixly基本高级视图下的factory模块
        编写,图形化没有问题,在代码视图中要改两处

        吧_改成*,可能是mixly软件的bug,然后直接编译


        IP属地:江苏4楼2018-08-16 13:18
        回复(1)

          演示视频 三个卡 第一个没验证,后两个是验证过的
          整个MIXLY程序就是逆向推导的过程,就是为了用MIXLY而做,不如直接IDE简单。


          IP属地:江苏5楼2018-08-16 15:15
          回复(1)
            此程序还可以改进,将卡号存储在EEPROM中,更加方便一点


            IP属地:江苏6楼2018-08-16 15:26
            回复
              这个应该是《菜鸟学习mixly尝试十四》了


              IP属地:江苏7楼2018-08-16 15:27
              回复


                IP属地:广东来自Android客户端8楼2018-08-16 20:00
                回复
                  2026-03-12 16:44:39
                  广告
                  不感兴趣
                  开通SVIP免广告
                  米思齐自带的是不是不好用啊


                  IP属地:浙江9楼2018-09-27 16:47
                  收起回复
                    可以用
                    但是不知道怎么读卡,读出来是空
                    求解


                    来自iPhone客户端10楼2018-10-19 18:57
                    回复

                      接口不变
                      用的mixly自带
                      高级视图里
                      不知道为什么程序里还要初始化下RFID,不然编译不通过


                      IP属地:江苏11楼2018-12-19 19:42
                      回复(2)
                        大佬们,你们有RFID的门禁系统源代码包吗,求一个,谢谢了


                        12楼2018-12-21 23:39
                        回复
                          大佬能不能留个联系方式呀,有问题请教!


                          来自Android客户端13楼2019-04-24 18:12
                          回复
                            请问rc522每次读取的数据都不一样是为什么呢,改怎么解决呢


                            IP属地:陕西来自Android客户端14楼2020-10-11 21:55
                            回复
                              2026-03-12 16:38:39
                              广告
                              不感兴趣
                              开通SVIP免广告
                              明天成功了再回来 顶哈


                              IP属地:安徽15楼2020-11-19 22:00
                              回复