2012-07-14 61 views
0

好吧,我對Arduino來說很新,拿起一個Mega2560入門套件以及一些其他的eBay配件,前一陣子我有一個「仿製」但到目前爲止,它似乎對其他一切都很好。無論如何,我購買了一臺MF522-AN RFID閱讀器,但無法使其正常工作。我試過這個網頁上找到的代碼:MF522-AN RFID讀寫器和Arduino的問題

http://www.grantgibson.co.uk/blog/2012/04/how-to-get-started-with-the-mifare-mf522-an-and-arduino/

,當我勾了一切,它只是給了我一個空白頁面串口和TX和RX燈亮起熄滅。同時基於此頁面提示的引腳。我試圖掛鉤起來:

http://www.b2cqshop.com/products/203-arduino-rfid-module-kit-1356-mhz-with-tags-spi-w-and-r-by-cooqrobot.aspx

並沒有什麼。我已經嘗試了隨附的RFID標籤以及我的Keyfob進入我的宿舍,沒有任何工作,Arduino軟件的串口窗口仍然是空白的。下面是我試圖運行代碼:

的http:// pastie.org/4235666

+0

觀看此視頻https://www.youtube.com/watch?v=fzM5731MuO0 我想你會在看完這段視頻後找到你的解決方案。 他們建議使用原始的arduino而不是中國的arduino。這個對我有用。 :) – 2016-04-12 09:52:23

回答

1

嘗試在取消線186-196:

// Serial.println("The card's number is : "); 
// etc 

這應該提供一些詳細的輸出,每當一個標籤被帶入範圍。

0

我不知道你是否已經嘗試過這個,但你可能必須從Arduino的連接稍微改變RFID讀取器,因爲你有2560萬有不同的SPI接口比UNO,它演示原本是註定的。我相信51,52和53是負責任的。你應該檢查Arduino網站上的Mega 2560頁面。

Ben

0

首先確保所有連接都正確。如果您的MF522-AN有針腳標記,請按照該順序進行。如果沒有,從左下角開始。

您正在使用的檢查,如果第一對卡號相同格蘭特使用的那些(線200-204)代碼:

if(serNum[0] == 88) { // Is the first pair equal to 88? 
    Serial.println("Hello Grant"); 
    } 
else if(serNum[0] == 173) { // Is the first pair equal to 173? 
    Serial.println("Hello David"); 
    } 

也許你的卡不符合任何這兩個例子。註釋這些行(200-204),並取消線(186-196),如果你想通過對打印的卡號對:

Serial.println("The card's number is : "); 
    Serial.print(serNum[0]); 
    Serial.print(" , "); 
    Serial.print(serNum[1],BIN); 
    Serial.print(" , "); 
    Serial.print(serNum[2],BIN); 
    Serial.print(" , "); 
    Serial.print(serNum[3],BIN); 
    Serial.print(" , "); 
    Serial.print(serNum[4],BIN); 
    Serial.println(" "); 

還要取消線(173-177),如果你想打印確認該卡檢測:

Serial.println("Card detected"); 
    Serial.print(str[0],BIN); 
    Serial.print(" , "); 
    Serial.print(str[1],BIN); 
    Serial.println(" "); 

如果發現原來的代碼通過Dr.Leong混淆工作,try this one。我還在那裏包含了pin和SPI信息。在示例代碼中,所有卡號對也轉換爲十進制數。