一、序言
話不多說,先上圖
1.我只是做著玩,怎麼方便怎麼來,電路亂但我看著爽,懶得整理。
2.我一點也不懂電路,用的都是某寶買的模組,真的不會什麼放大電路,電源也不會做,求說我浪費的大大繞個路,模組都是我用獎學金買的,我自己覺得開心就好。
3.做這個的目的是,舍友一直忘記帶鑰匙,可以增加一種開門的選擇,純屬好玩。我們寢室平時都不斷電,只有在半夜11點才斷電。假如有哪一天,四個人都忘了帶鑰匙,並且寢室碰巧斷電,那我也認了,只能硬著頭皮去找宿管大爺了qaq
4.說我亂拉電線、損壞公物什麼什麼的,我們寢室已經很破了,如果學校真讓我們賠錢換個新門,我一點也不介意,就當是造福下一代了。什麼通告批評、處分之類的我不怕的。。。
二、我用了一些什麼東西
以前用舊的微控制器開發板、指紋模組、電磁鐵、繼電器、聲音錄放模組、開關電源、排插、螺絲、螺絲刀、電線、電鑽(只能鑽門了=。=)。
三、模組分析
想了想,我這個東西可以大概分為三個模組: 聲音模組、指紋模組、開鎖模組,中控用的是51微控制器開發板,我知道用一整個板子很浪費,用乙個最小系統就好了,但是我平常幾乎不用微控制器,所以放那裡也是浪費,這點大家就不用噴我啦。
a.聲音模組
b.指紋模組
先看一下實物圖
我買的這個指紋模組有6個介面,從左到右分別是:
探測手指電路電源、模組電源正輸入端、txd、rxd、gnd、手指探測訊號輸出
解釋一下:手指探測電路,也就是介面1和介面6是為了減小指紋模組的損耗,在實際使用中不用也行,程式設計時候只要迴圈獲取手指影象就好了,但這麼好的功能怎麼能不用呢!有一點需要注意一下,介面6在探測到手指時,會開漏輸出低,需要接上拉電阻,然後接到微控制器的外部中斷0處就好了。
c.開鎖模組
三、so easy的程式設計
微控制器的程式設計很簡單,會編寫串列埠通訊那部分就好了,指紋模組購買之後,賣家會給你它的使用文件,裡面有通訊協議。什麼是通訊協議呢,就是你的指紋模組收到什麼指令會進行採集影象,收到什麼指令會進行指紋比對等等。那指令只能靠單片的txd發啦。我們來整理一下程式設計思路:
四、下面貼出主要原始碼
#include
#include "qxmcs51_config.h"
#include "delay.h"
#include "uart.h"
#include
#include
unsigned
char fp_pack_head[6] = ;
//協議包頭
unsigned
char fp_get_img[6] = ;
//獲得指紋圖像
unsigned
char fp_img_to_buffer1[7]=;
//將影象放入到buffer1
unsigned
char fp_img_to_buffer2[7]=;
//將影象放入到buffer2
unsigned
char fp_search[11]=;
//搜尋指紋搜尋範圍0 - 929
//以上可以根據通訊協議寫出
extern
unsigned
char recevice_buffer[24];
sbit beep = p2^3;
sbit door = p1^2;
sbit voice = p1^3;
void getimage() //獲取指紋圖像
void genchar() //提取指紋特徵
void search() //在指紋庫中進行比對
else
}
#include
#include
#include "delay.h"
#define uchar unsigned char
#define uint unsigned int
volatile
unsigned
char recevice_buffer[24];
void uart_init()
void send_uart(unsigned
char c)
unsigned
char receive_uart()
void recevice_data(unsigned
char length)
void int0() interrupt 0
五、總結一下下
over。。。
如何將U盤變成CD ROM
自從ubuntu9.04停止官方支援,軟體源都失效了,更新特別麻煩,於是想轉而試試其老祖宗debian,於是下了乙個,但是kfce版的就800多m,用cd太小,又太浪費,所以想用u盤安裝系統.先是使用ultraiso將映象刻到u盤,但是開機選擇從u盤啟動,卻在出現兩行英文資訊後就不動了,試了好幾次都...
CloudCC 如何將CRM變成企業發展戰略
本文講的是 cloudcc 如何將crm變成企業發展戰略,it168 資訊 當前,隨著 以客戶為中心 的理念逐漸普及,雖然crm已經為越來越多的企業所採用,但企業更多地是把它當做一款軟體或工具來使用,而忽視了它作為企業客戶關係管理戰略的這一更為本質的一面。在這個雲計算 大資料技術與客戶關係管理緊密聯...
如何將Windows 7變成無線路由器
如何將windows 7變成無線路由器 1.以管理員身份執行命令提示符 因為下面的步驟必須在管理員許可權下執行,因此我們從開始選單找到 命令提示符 或直接鍵入cmd快速搜尋,右鍵單擊它,選擇 以管理員身份執行 在彈出的使用者控制視窗中單擊 是 還有一種方法就是按住ctrl和shift鍵直接單擊該快捷...