基於樹莓派的智慧型安全門(微控制器)

2021-10-02 08:33:03 字數 2317 閱讀 5782

先用微控制器+薄膜鍵盤做密碼鍵盤的輸入,通過串列埠把獲取到的按鍵值發給樹莓派去識別和操作。這裡用了#號鍵作為密碼輸入結束的確定鍵。微控制器程式和樹莓派程式調通後,列印外殼,焊板子(因為體積關係不可能直接塞個直插封裝的微控制器下去,所以就買了比較方便焊接體積又相對小的dip封裝的微控制器,這裡用了stc15系列的微控制器,可以省掉晶振的焊接)

微控制器讀鍵盤資料的**如下(微控制器使用的是stc15w404as型號)

#include "stc15w404as.h"

#include #define key_port p1 //鍵盤介面定義

sbit key_port_0=key_port^0;

sbit key_port_1=key_port^1;

sbit key_port_2=key_port^2;

sbit key_port_3=key_port^3;

sbit beep=p5^5; //蜂鳴器

sbit open=p5^4; //開門按鍵

/*******************************

stc15w404微控制器一毫秒延時函式

*******************************/

void delay_ms(unsigned int ms)

while (--i);

}}/**************************

串列埠傳送乙個字元

**************************/

void com_send_dat( unsigned char dat)

void init_com(void) //[email protected]

/**************************

鍵盤掃瞄函式

**************************/

unsigned char keyscan(void);

key=0xff; //輸出初始化值

key_port=0x0f; //確定行列位置

if(key_port==0x0f) return(255); //無鍵按下返回0

delay_ms(5); //呼叫延時函式 ,目的是去前沿鍵抖。

if(key_port==0x0f) return(255); //再次判斷。目的是確保檢測正確

else

key=key_port; //取得鍵值

for(;key_port!=0x0f;key_port=0x0f); //等待鍵鬆開,目的是去後沿鍵抖

for(i=0;key_table[i]!=key && i<16;i++); //查表取key的值0-f

key=i;

return(key); //帶鍵值返回主調函式

}} /**************************

鍵盤掃瞄測試主函式

**************************/

void main(void)

if(open==0) //如果從裡面按下了開關則傳送乙個字串}}​

微控制器控制開門的**

#include #include sbit in1=p1^0;      //霍爾感測器1

sbit in2=p1^1; //霍爾感測器2

sbit out=p2^0; //門控制

sbit relay=p2^1; //繼電器

bit oflag = 0; //狀態標記

void delay100ms(unsigned int t)

while (--j);

} while (--i);

}} void main(void)

relay=1;

out=1;

}else if(in2==0)}}

電路圖如下:

基於51微控制器的智慧型溫控風扇

1.功能 本設計為一種溫控風扇系統,具有靈敏的溫度感測和顯示功能,系統選用stc89c52微控制器作為控制平台對風扇轉速進行控制。可在測得溫度值在高低溫度之間時開啟風扇弱風檔,當溫度公升高超過所設定的溫度時自動切換到大風檔,當溫度小於所設定的溫度時自動關閉風扇,控制狀態隨外界溫度而定。2.硬體設計 ...

基於51微控制器的智慧型計算器

其實,說智慧型也不算智慧型,就是在計算器上加上了日曆 時鐘和溫度顯示而已。具體用到的也是51很基礎的模組,乙個鍵盤,乙個1602,溫度顯示那塊用到了ds18b20,硬體除錯的部分也很少,主要是 的書寫。功能簡介 1 開啟電源時,顯示歡迎字樣 2 計算器功能 3 日曆及時鐘功能 4 溫度實時測量 然後...

基於51微控制器的RFID智慧型門禁系統

1.概述 1 本設計採用stc89c52作為主控晶元,專用讀卡器模組用來讀射頻卡的資訊,當有卡進入到讀卡器讀卡的範圍內時就會讀取到相應的卡序列號,並根據得到的卡序列號做出相應的操作。若正確則開門,若不正確則報警並顯示錯誤資訊。2 本設計實現了自動 準確的識別卡序列號,對門禁系統起著重要的作用eepr...