相關(guān)商品

  • Arduino Leonardo 萊昂納多控制器 原裝進口
  • Arduino 水蒸氣傳感器 雨水探測器 液位開關(guān) 濕度傳感器 電子積木
  • Arduino 雙H橋直流電機驅(qū)動板 步進電機驅(qū)動板 機器人配件
  • 1602液晶顯示器 藍(lán)白屏 LCD1602液晶Arduino互動界面 機器人配件
  • Arduino 12864點陣液晶 51單片機 帶字庫 帶教程講解 液晶顯示屏
  • Arduino LCD12864 點陣液晶擴展板 12864液晶屏 送Arduino庫文件
  • Arduino 磁感應(yīng)傳感器 磁力開關(guān) 數(shù)字傳感器 電子積木
  • Arduino UNO R3 控制器 ATmega328P-PU+ATmega16U2 arduino 原裝進口
  • 基于Arduino 雙路大功率 電機驅(qū)動板 驅(qū)動器 6WD 越野機器人用
  • Arduino RFID 串口模塊 電子標(biāo)簽 近場通信 IC卡感應(yīng) 送卡和線
  • LCD2004字符液晶顯示器 2004液晶屏 Arduino力薦顯示 超越LCD1602
  • Arduino IIC LCD2004 I2C接口字符液晶顯示器 帶庫文件 電子積木
  • Arduino Mini 05 Sparkfun原裝進口 ATmega328 控制器
  • A-Star 32u4 Mini LV 可編程模塊 ATmega32U4開發(fā)板 pololu原裝
  • A-Star 32U4 Mini ULV 可編程模塊 ATmega32U4開發(fā)板 Pololu原裝
  • Arduino 直流電機驅(qū)動板 MiniMoto DRV8830 IIC/I2C Sparkfun原裝
  • RoboClaw 2x7A 電機驅(qū)動板 (V5) 直流電機控制器 Pololu原裝進口
  • RoboClaw 電機驅(qū)動板 2x30A 控制器 智能小車 Pololu 原裝進口
  • Starduino UNO R3 控制器 ATmega328P-PU+ATmega32U2 (直插) 兼容Arduino
  • Starduino 透明亞克力外殼 控制器 Arduino 保護盒子 奧松機器人
  • 動手玩轉(zhuǎn) Arduino 愛上 Arduino 互動電子入門套件 Arduino必備教材
  • 4WD機器人調(diào)試助手v2.0軟件 智能小車 Arduino 履帶 WiFi藍(lán)牙小車
  • SparkFun原裝進口 Block for Intel? Edison 擴展板 Arduino擴展
  • 機智云開發(fā)板 Arduino UNO 傳感器擴展板 GoKit智能硬件
  • 42BYGHW609步進電機 42HYGHW 步進電機 1.7A 3D 打印機 NEMA17
  • 學(xué)Arduino玩轉(zhuǎn)機器人制作 愛上 Arduino套件 愛上制作圖書 機器人制作知識大全 愛上機器人
  • Arduino 電流傳感器 電流檢測模塊 過流保護模塊 交流電檢測
  • Arduino Yun Mini 控制器 ATmega32U4開發(fā)板 WIFI Linux原裝限量
  • Arduino 9 Axes Motion Shield 9軸運動擴展板 三軸加速度計
  • Arduino M0 Pro 電路板 ATSAMD21G18 Arduino UNO 升級 原裝
  • Arduino 條形LED模塊 10段條狀數(shù)碼管 發(fā)光模塊 梯度顯示 短光條
  • Arduino UNO R3 配套亞克力外殼 拼裝外殼 透明盒子 專用保護盒子
  • Arduino Steven 控制器 ATMEGA32U4 Arduino mini 控制器
  • Arduino 完全實戰(zhàn) arduino硬件學(xué)習(xí) 提供教學(xué)視頻 現(xiàn)貨
  • 原裝進口 Arduino M0 開發(fā)板 ATSAMD21G1 ARM 控制器 A000103
  • 原裝進口 Arduino Mega 2560 控制器板 Arduino uno升級 A000067
  • 基于Arduino UNO R3開發(fā)板 樂高外殼 UNO保護外殼 透明盒子 注塑外殼
  • 官方版 完美圖解物聯(lián)網(wǎng)IoT實操第二冊:ESP8266 Arduino Cordova物聯(lián)網(wǎng)書籍
  • 當(dāng)前位置: 首頁 > 應(yīng)用教程 > 【創(chuàng)客學(xué)堂】借助Arduino做一個RFID門禁系統(tǒng)

    【創(chuàng)客學(xué)堂】借助Arduino做一個RFID門禁系統(tǒng)

    編輯:Jason2014-12-15 瀏覽次數(shù):4282

    在學(xué)校生活中偶爾會遇到忘帶鑰匙的情況出現(xiàn),如果室友碰巧也不在寢室的話,自己只能站在寢室外等待。同時不知道是否宿舍門鎖老舊的原因,開門比較糾結(jié)花時間,時常有制作自動門鎖的想法。后來入手了RFID讀卡器,可以正常讀取市面上的Mifare S50,S70非接觸智能卡(學(xué)校的飯卡就可以讀?。?,于是就構(gòu)想了這個基于RFID的寢室門禁系統(tǒng)。

    本系統(tǒng)原理是基于非接觸式卡的序列號是唯一的,制造廠家在產(chǎn)品出廠前已將此序列號固化,不可再更改。這樣不同的卡都是唯一的存在,可以利用讀卡器讀取卡的序列號,來判斷卡的擁有者(像我的室友)?;驹砜梢詤⒖枷聢D:

    門禁系統(tǒng)1.0

    制作材料:

    Arduino UNO

    NOKIA 5110液晶屏

    RFID-RC522讀卡器

    MG-996R舵機

    移動電源

    首先,是將RFID-RC522和UNO連接起來,這個讀卡器是基于SPI通訊。但這里有一個封裝比較好的庫文件支持RC522,可以自定義SPI針腳位。NOKIA 5110液晶屏也有庫文件——支持畫圖,中文顯示,可以自定義針腳位。因為開啟門鎖需要較強拉力,這樣MG-996R所需電量比較大,實際使用時,需要給舵機單獨供電。

    軟件部分

    主控部分用的的是Arduino Uno,使用了arduino IDE 1.04,部分代碼如下:

    //端口定義

    #include

    #include

    #include

    #define servopin 7

    #define sensor 0

    #define BL 9

    LCD5110 myGLCD(2,3,4,5,6);//CLk-SCK,Din-MOSI,DC,RST-IO,CS-CE

    extern uint8_t SmallFont[];

    RFID rfid(10,8); //D10–讀卡器MOSI引腳、D5–讀卡器RST引腳

    //4字節(jié)卡序列號,第5字節(jié)為校驗字節(jié)

    unsigned char serNum[5];

    //寫卡數(shù)據(jù)

    unsigned char writeDate[16];

    String comdata = “”;

    ……

    //舵機驅(qū)動定義

    void servopulse(int angle)//定義一個脈沖函數(shù)

    {

    int pulsewidth=(angle*11)+500; //將角度轉(zhuǎn)化為500-2480的脈寬值

    digitalWrite(servopin,HIGH); //將舵機接口電平至高

    delayMicroseconds(pulsewidth); //延時脈寬值的微秒數(shù)

    digitalWrite(servopin,LOW); //將舵機接口電平至低

    delayMicroseconds(20000-pulsewidth);

    }

    //工作使能

    long randNumber = random(0, 20);

    unsigned char i,tmp;

    unsigned char status;

    unsigned char str[MAX_LEN];

    unsigned char RC_size;

    while (Serial.available() > 0)

    {

    comdata += char(Serial.read());

    delay(2);

    }

    for(int i=0;i<16;i++)

    {

    writeDate[i]=comdata[i];

    }

    //找卡

    rfid.isCard();

    //讀取卡序列號

    if (rfid.readCardSerial())

    {

    Serial.print(“The card’s number is : “);

    Serial.print(rfid.serNum[0]);

    Serial.print(” , “);

    Serial.print(rfid.serNum[1],BIN);

    Serial.print(” , “);

    Serial.print(rfid.serNum[2],BIN);

    Serial.print(” , “);

    Serial.print(rfid.serNum[2],BIN);

    Serial.print(” , “);

    Serial.print(rfid.serNum[4],BIN);

    Serial.println(” “);

    if(rfid.serNum[0]==205||rfid.serNum[0]==21||rfid.serNum[0]==85||rfid.serNum[0]==117){

    for(int i=0;i<100;i++)

    {

    servopulse(45);

    if(rfid.serNum[0]==205||rfid.serNum[0]==117)

    {

    myGLCD.clrScr();

    Serial.println(“Welcome Mr.Xiao”);

    myGLCD.print(“Welcome”,int(randNumber)+20,int(randNumber));

    myGLCD.print(“Mr.Xiao”,int(randNumber)+20,int(randNumber)+20);

    analogWrite(BL,HIGH);

    }

    if(rfid.serNum[0]==85)

    {

    myGLCD.clrScr();

    Serial.println(“Welcome Mr.Yang”);

    myGLCD.print(“Welcome”,int(randNumber)+20,int(randNumber));

    myGLCD.print(“Mr.Yang”,int(randNumber)+20,int(randNumber)+20);

    digitalWrite(BL,HIGH);

    }

    if(rfid.serNum[0]==21)

    {

    myGLCD.clrScr();

    Serial.println(“Welcome Mr.Huang”);

    myGLCD.print(“Welcome”,int(randNumber)+20,int(randNumber));

    myGLCD.print(“Mr.Huang”,int(randNumber)+20,int(randNumber)+20);

    digitalWrite(BL,HIGH);

    }

    } //引用脈沖函數(shù)

    delay(3000);

    for(int i=0;i<100;i++)

    {

    servopulse(0);

    }

    }

    }

    if (!rfid.readCardSerial()){

    digitalWrite(servopin,LOW);

    digitalWrite(BL,LOW);

    }

    rfid.halt(); //指揮卡進入睡眠模式

    }

    這里有兩個庫文件。(RFID.h, LCD5110_CN.h)

    總裝實驗

    電路連接的部分結(jié)束后,我使用了比較簡陋的紙殼將整個裝置包裝起來。電路部分固定在了里面,再將整個包裝粘合在門后,其中讀卡器是在門縫走線(幸虧是木門)。

    介紹視頻如下:


    后記

    以上只是我想法的最基礎(chǔ)版本,可以說是系統(tǒng)1.0版吧,但這樣已經(jīng)完成了最初的預(yù)想。我想這個基礎(chǔ)版還是有很大的發(fā)展空間,完全可以基于此,進一步使整個寢室智能化。下一步我想加強系統(tǒng)的穩(wěn)定性,以及增加密碼鍵功能,開發(fā)出后續(xù)版本。也希望有興趣的朋友那個給出寶貴的建議,大家一起分享快樂。

    相關(guān)文章:

    Arduino兼容的3D手勢控制器


    用Arduino做一個簡單的音樂播放器


    玩轉(zhuǎn)Arduino-脈寬調(diào)制(PWM)實例


    玩轉(zhuǎn)Arduino-脈寬調(diào)制


    玩轉(zhuǎn)Arduino-串口通信


    玩轉(zhuǎn)Arduino-編程語言


    玩轉(zhuǎn)Arduino-閃爍的LED


    什么是Arduino?今天開始學(xué)!


    • 用戶評價

    暫時還沒有任何用戶評論

    總計 0 個記錄,共 1 頁。 第一頁 上一頁 下一頁 最末頁
    用戶名: 匿名用戶
    E-mail:
    評價等級:
    評論內(nèi)容:
    驗證碼:
    captcha

    Hi,大家好,我是小奧!

    歡迎來到奧松機器人的世界!

    需要咨詢服務(wù)請點小奧哦!

    • 銷售咨詢: 銷售咨詢
    • 銷售咨詢: 銷售咨詢
    • 技術(shù)支持: 技術(shù)支持
    • 咨詢電話:
      0451-86628691
    Top