正題之前
抱歉,過年就想著玩了,結(jié)果快開學(xué)了,得殺心了,結(jié)果發(fā)現(xiàn)還沒有寫完,從今天開始補(bǔ)上。
先解釋一下什么是RFID,勤快的人請自行百度,百度上說的比我明白,懶的人就聽我講,RFID,射頻識別技術(shù),簡單的說,你的學(xué)生證,身份證,飯卡,門禁卡,公交IC卡之所以有用,就是因為RFID……
這個假期我試著進(jìn)行RFID模塊的開發(fā),不幸失敗了,因為我是笨蛋……
正題
狼狼惡狗(Long long ago)
事情的開始又得從我的社團(tuán)BY2HIT(哈爾濱工業(yè)大學(xué)業(yè)余無線電俱樂部)說起,我參加的社團(tuán)是一個神奇的社團(tuán),有許多大神級的學(xué)長(姐),學(xué)長(姐)們覺得培養(yǎng)大神得從大一抓起,外加某大四學(xué)姐手上有一堆模塊,就決定,我們出模塊,你們假期來開發(fā)……后來,有發(fā)現(xiàn)數(shù)量有點不夠,有自己買了一些(中國好學(xué)長!)。但是,有言在先,這并不是給你,只是借你開發(fā)罷了,你要是真做出什么東西了,開學(xué)后這個模塊就歸你了,你要是什么也沒做出來,對不起,模塊會被收回,給以后能玩明白的人……
因為RFID模塊便宜,所以學(xué)長們買了很多,心里想,拿RFID的人很多,總會遇到一些共性的問題,一起研究研究也就解決了。更何況當(dāng)時看著挺容易的,先弄懂模塊該怎么弄,以后也有用,就這樣我要了RFID模塊……
狼惡狗
我在放假后就敲定了自己的假期計劃,先復(fù)習(xí)上學(xué)期學(xué)到的單片機(jī)課程,然后編一個能在單片機(jī)上運行的電子表的程序,之后,弄懂RFID并完成開發(fā),如果還有時間就研究遙控車該怎么做……
然后按計劃執(zhí)行……
單片機(jī)的課程復(fù)習(xí)的挺好,畢竟之前聽過一次課,就算是撿漏了,然后開始編鐘,思路也很清晰,時分秒怎么計數(shù)也有思路,程序的框圖也畫出來了,開始編程實驗,以前理解了掃描鍵盤的函數(shù),動態(tài)數(shù)碼管的函數(shù),延時的函數(shù)……感覺沒什么難的,感覺編鐘也就是把過去的函數(shù)都放到一起,然后開始復(fù)制粘貼……結(jié)果在中斷處卡住了,完全沒有編譯上的錯誤,但是程序執(zhí)行起來就是不對……開始找原因,發(fā)現(xiàn)我在C語言上的知識幾乎為零,程序能看懂,但怎么改不知道,于是開始學(xué)C語言,看工大的公開課,看到函數(shù)那里,用了將近20個學(xué)時,一周多的時間,但還算用的融會貫通,雖然后面還有,但是感覺已經(jīng)有了些基礎(chǔ),又開始回去編鐘,結(jié)果還是不行……(其實現(xiàn)在來看,應(yīng)該是C語言還沒學(xué)明白……)
然后便自暴自棄的玩了兩天,這時已經(jīng)二十多號了,假期已經(jīng)過去三周多了,快一半了,感覺不能在這一個上面糾結(jié),看看RFID,換換心情……
一看RFID,八個引腳,仔細(xì)看看,還是有懂的,比如3.3V,比如地線,其他的就不懂了,在網(wǎng)上找也沒怎么找到,問了同樣搞RFID的學(xué)姐(此學(xué)姐非彼學(xué)姐,前面的那個學(xué)姐,你可以領(lǐng)盒飯了),她說用spi通信,然后又開始百度單片機(jī)的spi,雖然不怎么懂,也知道單片機(jī)上是有相應(yīng)的接口的,這時問題來了,單片機(jī)提供的是5V的電壓,RFID只需要3.3V的電壓,這樣就需要一個電壓轉(zhuǎn)換的模塊來把5V的電壓轉(zhuǎn)成3.3V的,但是,這個模塊是這樣的
psb(282).jpeg (35.67 KB, 下載次數(shù): 84)
下載附件
2014-2-14 00:52 上傳
我還是認(rèn)識上面的3.3V、5V、GND(地線)是什么意思的,但是中間的那些是什么?先試試吧,按照單片機(jī)上的引腳定義,以及模塊上的注釋,一個一個連了起來。
半個小時不到,大功告成,
psb(283).jpeg (65.39 KB, 下載次數(shù): 108)
下載附件
2014-2-14 00:52 上傳
雖然沒有下程序,但是感覺很有成就感,就放在那里,去高中看高中老師去了……
晚上回家,為了保險起見,給學(xué)姐發(fā)了一張連線的照片,問對不對……
結(jié)果,全連錯了,按學(xué)姐的指導(dǎo),結(jié)果連成了這樣……
psb(284).jpeg (65.97 KB, 下載次數(shù): 95)
下載附件
2014-2-14 00:52 上傳
總算知道電壓轉(zhuǎn)換模塊中的八個引腳是干什么的了……假前發(fā)模塊時YK跟我要三個板子我還覺得他要的太多了,現(xiàn)在一想真是圖樣圖森破……
不過雖然有一些小意外,怎么的也都連上了,程序有現(xiàn)成的,直接下進(jìn)去……也知道,要用串口,串口助手打開,為了保險起見,我用了我高中時的飯卡,放上去……你倒是反應(yīng)啊,你倒是顯示個數(shù)啊,你什么都不顯示是幾個意思啊……
繼續(xù)找原因,發(fā)現(xiàn)自己連模塊的原理是什么都不知道(后來被告知沒必要知道),連模塊怎么用都不知道,突然想起了模塊附帶了一個叫做數(shù)據(jù)手冊(DataSheet)的東西,果然有,可惜是全英文的,找學(xué)姐要到了中文版的,開始看,看不懂……
先開始看還是懂一點的,結(jié)果越往后就越不知所云,最后徹底看不懂了……合上smartcover,感覺無數(shù)只草泥馬在心里奔騰……
然后開導(dǎo)自己,先放放,弄點別的,換換心情。然后便開始了SolidWorks的學(xué)習(xí),雖然不是下學(xué)期要求的,但是感覺對自己次的不能再次的工圖還是有點用的,就這樣過年了……
惡狗
過完年,初三看完親戚,初四繼續(xù)研究,過年閑的時候了解了一下RFID的原理,年前學(xué)長們答疑時也了解了數(shù)據(jù)手冊怎么看,現(xiàn)在看數(shù)據(jù)手冊有了點頭緒……既然給的程序沒有效果,那就試著自己寫點什么,然后開始看已有的程序,函數(shù)太多,試著一點一點的捋,這時C語言的不足有一次顯現(xiàn)出來,不怎么懂了……問學(xué)姐學(xué)姐說給的程序有點問題,她做了點改動,做出了一個讀卡器(膜拜學(xué)姐……),我有試著看了兩天的程序,還是不懂,無奈,把學(xué)姐的程序要過來看看,畢竟是同一個學(xué)長教的,代碼風(fēng)格比較熟悉,看著至少不那么暈,就這樣大體弄明白了模塊的使用流程。
但是我不能做讀卡器了,有學(xué)術(shù)剽竊之嫌,決定試著去模仿門禁系統(tǒng),讓RFID去識別不同的卡,去點亮不同的燈……看上去不算太難,感覺就是在學(xué)姐的程序的基礎(chǔ)上加上幾個判斷語句罷了,首先是要知道卡號,還得用讀卡器的程序……
好吧,把學(xué)姐的程序編譯,生成.hex,下載到單片機(jī)里,記錄……結(jié)果,編譯過不去,改完編譯錯誤后,再編譯,Keil直接崩潰了……我什么也沒做啊……
就這樣,之后的努力都沒有成功,問題沒法解決,在昨天不得不宣布假期模塊開發(fā)徹底失敗……
鬧(Now)
現(xiàn)在離返校還有三天不到,感覺有必要總結(jié)一下為什么失敗,以防以后再發(fā)生類似的事情……
首先,是因為自己沒有系統(tǒng)的學(xué)過任何計算機(jī)語言,看程序大體能看懂,但是換自己改或是編就不是那么容易了,雖然身邊很多人也沒有系統(tǒng)的學(xué)過,模塊也玩的很好(比如說學(xué)姐……)但是可能是我智商捉急,不去徹底理解,就用不明白……
其次,就是做事不堅持,可能是感覺自己假期要干的事情太多,怕在一件事上耽誤太多的時間,基本上就是遇到點挫折就打算換換,結(jié)果就是什么也沒做好,如果一開始耐心吧C語言學(xué)完,把練習(xí)都做了,再耐心把鐘編完,最后就不會像現(xiàn)在這樣屢碰釘子,就算是沒有時間,也畢竟學(xué)到了些什么……
最后,就是因為自己沒有完全的投入,看數(shù)據(jù)手冊時就是,看著覺得難就不怎么想去看,結(jié)果就更加的看不懂……看程序也是,五六百行的程序鋪上來,直接就有點不想看下去了……
也就是這么坑爹吧……
寫在最后
這個假期就這么的過去了,忙了很多,但基本上都是瞎忙,沒什么收獲,不過感覺是方法上的問題,并不是我不適合玩電子,下學(xué)期還會繼續(xù)抽時間研究電子方面的東西,雖然我是一個學(xué)機(jī)械類學(xué)科的學(xué)生……
最后感謝學(xué)長(姐)們 ,以及學(xué)姐在假期對我的幫助!
|