<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 測試測量 > 正文

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    發(fā)布時間:2013-12-20 責(zé)任編輯:mikeliu

    【導(dǎo)讀】相信許多上學(xué)的小朋友們都知道學(xué)校澡堂的按時間收費的不公平性,洗澡又不是打電話,好不合理!而按流量收費就基本是公平了好多,于是乎,有極客的DIY大神在飲水機上做了實驗,真的是奇思妙想無極限!快來看看吧!

    先來個全家福!!!

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    IC卡的特點:

    a、存儲容量大。磁卡的存儲容量大約在200個字符;IC卡的存儲容量根據(jù)型號不同,小的幾百個字符,大的上百萬個字符。

    b、安全保密性好,不容易被復(fù)制,IC卡上的信息能夠隨意讀取、修改、擦除,但都需要密碼。

    c、CPU卡具有數(shù)據(jù)處理能力。在與讀卡器進(jìn)行數(shù)據(jù)交換時,可對數(shù)據(jù)進(jìn)行加密、解密,以確保交換數(shù)據(jù)的準(zhǔn)確可靠;而磁卡則無此功能。

    d、使用壽命長,可以重復(fù)充值。

    e、IC卡具有防磁、防靜電、防機械損壞和防化學(xué)破壞等能力,信息保存年限長,讀寫次數(shù)在數(shù)萬次以上。

    思路:

    首先讀取IC卡,將IC卡存儲的信息顯示出來,如果顯示成功,則打開電磁閥,開啟外部中斷計數(shù)脈沖,根據(jù)脈沖個數(shù)進(jìn)行相應(yīng)的扣款操作。比如每10個脈沖扣相應(yīng)的金額,完成扣款后同時返回余額,并顯示出來。寫一個上位機對姓名,錢包,學(xué)號等進(jìn)行更改。
    [page]

    材料:

    2個EHY射頻卡讀寫模塊     串口協(xié)議    用于讀寫射頻卡

    2個STC12C5A60S2單片機    選他是因為是雙串口,并且速度還不

    繼電器                      控制電磁閥
    若干三極管 8050 8550          

    若干驅(qū)動蜂鳴器,繼電器   LED          

    2個7805穩(wěn)壓           

    2個12864液晶          

    2個流量計               一熱一冷(熱的是銅材質(zhì)的)

    2個電磁閥               一熱一冷(熱的是銅材質(zhì)的)

    原理圖以及PCB圖

    首先設(shè)計電路圖,IO口其實沒幾個

    以及PCB圖

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    圖里面的錯誤:

    1、驅(qū)動繼電器的三極管大家用8050,

    2、PCB上,液晶倒數(shù)第二腳沒接VCC,導(dǎo)致液晶有數(shù)據(jù)不顯示,后來發(fā)現(xiàn),原理圖里面沒有接,可以重畫。

    驅(qū)動12864

    沒有用戶,等待模式。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!
    [page]

    讀到卡了,顯示姓名,學(xué)號,錢包。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    隨著流量計脈沖個數(shù)增長,單片機進(jìn)行計費,同時進(jìn)行扣款操作,操作完畢顯示當(dāng)前余額。


    用戶移走卡,蜂鳴器長鳴一聲,提示卡已移走。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    上位機(改變姓名,充值,初始化等操作,依賴于模塊) 用C#寫語言編寫。
    [page]

    沒選擇串口前所有的都是灰色,表示不可操作。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    選擇串口后,按鈕可操作,更改框可以進(jìn)行改寫。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    單擊讀卡按鈕后的顯示。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!
    [page]

    程序部分

    //        search card and get card serial number
    uchar xdata ComSearchCard[5]  = {0xAA,0xBB,0x02,0x20};//尋卡,返回AA BB 06 20 92 BF 72 59 20
    //        read block No.x
    uchar xdata ComReadBlock[13]  = {0xAA, 0xBB, 0x0a, 0x21, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};//讀哪一塊第六位就是0x0幾。
    //        read block No.8
    //uchar ComReadBlock6[13]  = {0xAA, 0xBB, 0x0a, 0x21, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
    //        write block No.8 with 0x01 to 0x0f
    uchar xdata ComWriteBlock[29] = {0xAA, 0xBB, 0x1a, 0x22, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,//0xff是密碼
                                                       0x02, 0x00, 0x01, 0x01, 0x00, 0x07, 0x00, 0x01,//
                                                       0x04, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00};//要寫的數(shù)據(jù)
    //         initialize block No.8 as a purse with value: 0x12345678
    uchar xdata ComIntiPurse[17]  = {0xAA, 0xBB, 0x0e, 0x23, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,//初始化錢包。分區(qū)5為錢包                            
                                                       0xff, 0xff, 0x00, 0x00};
    //        read purse value of block No.5
    uchar xdata ComReadPurse[13]  = {0xAA,0xBB,0x0a, 0x24, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};//讀取分區(qū)5的錢包  返回四字節(jié)的數(shù)據(jù)
    //        purse in block No.5 increase with value "2"
    uchar xdata ComIncrPurse[17]  = {0xAA,0xBB,0x0e, 0x25, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //增加錢包的余額
                                                       0x01, 0x00, 0x00, 0x00};//要增加的值
    //        purse in block No.5 decrease with value "1"
    uchar xdata ComDecrPurse[17]  = {0xAA,0xBB,0x0e, 0x26, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,//扣費
                                                       0x01, 0x00, 0x00, 0x00};//要減少的值
    //  halt the card selected
    uchar xdata ComHaltCard[5]    = {0xAA,0xBB,0x02,0x28};//
    //  the purse final value after INC & DEC
    /********************************************************************
    *
    *   接收從IC卡返回的數(shù)據(jù) 。用數(shù)組存儲

    ***********************************************************************/
    uchar xdata ICSearchCard[9]={0};//5-7位是卡的序列號
    uchar xdata ICReadBlock[21]={0};
    uchar xdata ICWriteBlock[5]={0};
    uchar xdata ICIntiPurse[5]={0};
    uchar xdata ICReadPurse[9]={0};
    uchar xdata ICIncrPurse[5]={0};
    uchar xdata ICDecrPurse[5]={0};
    uchar xdata ICHaltCard[5]={0};
    /*****************************提取數(shù)據(jù)的數(shù)組*********************/
    uchar xdata user_block8[12]={0}; //學(xué)號
    uchar xdata user_card[4]={0};  //卡號
    uchar xdata user_cash[4]={0}; //現(xiàn)金
    uchar xdata user_name[6]={0}; //姓名

    以上是要用到命令數(shù)組,處理數(shù)組,顯示數(shù)組等.。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    這個是命令選擇入口函數(shù),注釋寫得很詳細(xì),大家自己去看哈。然后就是12864顯示的函數(shù),還有串口什么的初始化。

    扣費的時候需要注意下。
    ***************************************************
    EX0 = 0;
    countflag = 0;//脈沖標(biāo)志清零
    feetemp = 0x01;//這里是扣的金額
    feecount = feecount + feetemp;//計算使用總額,需要顯示也可以顯示的
    ComDecrPurse[12] = feetemp;//寫入扣錢金額
    j = Command_choic(7);//100個脈沖減少一分錢
    *******************************************************************************
    然后個數(shù)的問題,在外部中斷里面去修改下就好,建議大家使用宏定義直接可以在頂部修改即可
    **************************************************************************
       count++;
       if (count == 1) //                更改脈沖個數(shù)
       {                                        
          countflag = 1;
              count = 0;
       }
    *********************************************************************
    [page]

    為什么使用雙串口單片機?

    因為一邊要和模塊通信,一邊要打印數(shù)據(jù)出來觀察是否正確,所以要使用兩個串口.

    為什么用12C5A60S2的原因:

    用串口2和模塊去通信.

    搭建管道系統(tǒng),對飲水機進(jìn)行改裝模擬,(實際上淋浴系統(tǒng)應(yīng)該比飲水機好改)

    熱水管道系統(tǒng),前面是流量計,后面是電磁閥。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!
    [page]

    熱水冷水搭建即將結(jié)束。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    冷水管道也好了,拐了幾道彎。
    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!
    [page]

    接上控制系統(tǒng),那個小的是射頻卡讀寫模塊。

    最后就是這個樣子。

    極客DIY:射頻卡流量管理系統(tǒng),竟然這么玩?!

    不足與缺陷:

    1.流量計選用的四分,建議改成2分,但是電磁閥一定要4分的。

    2.如您所見,丑陋之極,表示找不到地方安裝。

    3.程序?qū)懙糜行﹣y。

    建議:
              
    a、建議大家寫程序注意部分

    b、寫程序多用枚舉和結(jié)構(gòu)體,方便,高效

    c、飲水機壓強和電磁閥里面的軟墊子需要一定的壓力才可以開啟,需要考慮周全。

    相關(guān)閱讀:

    DIY:自制車用超級電容器【附原理圖】
    告別黑暗,牛人自制“搖一搖”手電筒
    實用DIY:將USB鼠標(biāo)集成到PCI接口里


    特別推薦
    技術(shù)文章更多>>
    技術(shù)白皮書下載更多>>
    熱門搜索
    ?

    關(guān)閉

    ?

    關(guān)閉

    精品少妇无码AV无码专区| 亚洲日韩在线中文字幕综合 | 无码精品日韩中文字幕| 最近中文国语字幕在线播放视频| 亚洲av无码国产精品色在线看不卡| 亚洲AV无码一区二区乱孑伦AS| 最近免费最新高清中文字幕韩国| 亚洲午夜国产精品无码| 免费A级毛片无码无遮挡内射| 中文字幕无码免费久久| 亚洲精品国产日韩无码AV永久免费网 | 亚洲一区精品中文字幕| 中文字幕无码日韩专区| 亚洲AV永久无码精品水牛影视 | 色综合久久中文字幕综合网| 欧美中文在线视频| 无码囯产精品一区二区免费| 中文字幕在线免费| 久久久久亚洲AV无码专区桃色| 人妻丰满熟妇av无码区不卡| 日本中文字幕网站| 亚洲精品无码不卡| 一级电影在线播放无码| 永久免费av无码入口国语片| 在线天堂中文WWW官网| 国产AV无码专区亚洲A∨毛片| 无码人妻一区二区三区免费视频| 在线天堂中文新版www| 中文字幕人妻无码系列第三区| 人妻丰满av无码中文字幕| 中文字幕性| 精品久久久久久无码中文字幕一区 | 天堂资源8中文最新版| 无码任你躁久久久久久老妇| 无码少妇一区二区三区浪潮AV| 最近中文字幕完整版资源| 亚洲高清无码在线观看| 国产亚洲美日韩AV中文字幕无码成人 | 精品久久久久中文字幕一区| 亚洲精品无码久久久| 国产亚洲AV无码AV男人的天堂|