国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

這篇具有很好參考價值的文章主要介紹了STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

資料鏈接:待更新~
嗶哩嗶哩視頻鏈接:https://www.bilibili.com/video/BV17D4y1V7HG/?vd_source=e5082ef80535e952b2a4301746491be0(bilibili:化作塵my)
資料鏈接:https://pan.baidu.com/s/1qObK7KBl50RmFrAtoX12kw
提取碼:iih4
實物鏈接:https://m.tb.cn/h.5h5mDXI?tk=MdxLWYHgKnz CZ0001

一、項目功能概述

1、OLED顯示當前樓層、目標樓層等信息
2、可以刷卡到達指定樓層
3、可以刷指紋到達指定樓層
4、可以輸入密碼進入管理員模式,進行錄入卡片與對應樓層信息,錄入指紋與對應樓層信息,并可以修改刪除指紋與卡片信息
5、用步進電機驅(qū)動上下樓層
6、用舵機控制開門關門(本工程未實現(xiàn))
7、有報警功能,當密碼錯誤、指紋錯誤、卡片錯誤,都會進行報警
8、外觀用木板搭建

二、項目材料選擇

1、顯示選擇0.96寸SPIOLED
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

2、刷卡模塊選擇RF522
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

3、指紋模塊選擇AS608
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

4、報警模塊選擇蜂鳴器
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

5、輸入密碼選擇矩陣按鍵
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

6、電源電路選擇USB接口輸入,AMS1117降壓芯片轉(zhuǎn)3.3V給單片機供電
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

7、主控芯片選擇STM32F103C8T6
主控芯片需要能夠驅(qū)動OLED,刷卡模塊、指紋模塊、矩陣按鍵,理論上51單片機就可以滿足要求,但是代碼量大,內(nèi)存會有比較高得要求,所以選擇熟悉的stm32f103c8t6,64K FLASH內(nèi)存足夠存儲代碼與顯示大量漢字。
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

三、原理圖設計

1、單片機最小系統(tǒng)設計
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)
2、電源部分設計
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)
3、單片機供電與下載接口設計
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)
4、指紋、按鍵、RFID、蜂鳴器、步進電機等電路設計
STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

四、PCB板設計

STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

五、主程序設計

(一)程序設計思想:
1、尋找指紋模塊代碼并移植調(diào)試使用
2、商家或者網(wǎng)絡獲取RFID驅(qū)動、OLED驅(qū)動
3、自己編寫原理比較簡單的矩陣按鍵驅(qū)動、步進電機驅(qū)動
4、寫一個系統(tǒng)需要參數(shù)結構體方便管理
typedef struct
{
u32 HZCFlag; //化作塵保存標志 上電會初始化參數(shù),后保存參數(shù)到單片機FLASH
u8 passwd1[7]; //管理員密碼1
u8 passwd2[7]; //管理員密碼2
u8 cardid[10][6]; //可以存儲10張卡片ID
u8 cardFloor[10];//卡片對應樓層保存數(shù)組
u8 CurrFloor;//當前樓層
u8 TgtFloor; //目標樓層
u8 errCnt;//錯誤計數(shù)
u8 errTime;//等待錯誤時間
u8 fingerFloor[100];//指紋ID對應樓層
u16 fingNum;//指紋個數(shù)
u16 cardNum;//RFID個數(shù)
}SysTemPat;
5、增刪改查都基于結構體操作,要保證數(shù)據(jù)實時同步


#include "main.h"

#include <string.h>

SysTemPat sys;

#define MAXERRTIMES 5
#define usart2_baund  57600//串口2波特率,根據(jù)指紋模塊波特率更改

//要寫入到STM32 FLASH的字符串數(shù)組
const u8 TEXT_Buffer[]={0x17,0x23,0x6f,0x60,0,0};
#define TEXT_LENTH sizeof(TEXT_Buffer)	 		  	//數(shù)組長度	
#define SIZE TEXT_LENTH/4+((TEXT_LENTH%4)?1:0)
#define FLASH_SAVE_ADDR  0X0802C124 	//設置FLASH 保存地址(必須為偶數(shù),且所在扇區(qū),要大于本代碼所占用到的扇區(qū).
										//否則,寫操作的時候,可能會導致擦除整個扇區(qū),從而引起部分程序丟失.引起死機.

SysPara AS608Para;//指紋模塊AS608參數(shù)
u16 ValidN;//模塊內(nèi)有效指紋個數(shù)
u8** kbd_tbl;

void Display_Data(void);//顯示時間
void Add_FR(void);	//錄指紋
void Del_FR(void);	//刪除指紋
int press_FR(void);//刷指紋
void ShowErrMessage(u8 ensure);//顯示確認碼錯誤信息
int password(void);//密碼鎖
void SetPassworld(void);//修改密碼
void starting(void);//開機界面信息
u8 MFRC522_lock(void);//刷卡解鎖
u8 Add_Rfid(void);		//錄入
void Set_Time(void);
void Massige(void);
void SysPartInit(void );   //系統(tǒng)參數(shù)初始化 
//u8 Pwd[7]="      ";  //解鎖密碼1
//u8 Pwd2[7]="      ";  //解鎖密碼2
//u8 cardid[6]={0,0,0,0,0,0};  //卡號1
int Error;  //密碼驗證信息


u8 DisFlag = 1,ArrowDisFlag=1;



//數(shù)字的ASCII碼
uc8 numberascii[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//顯示緩沖區(qū)
u8  dispnumber5buf[6];
u8  dispnumber3buf[4];
u8  dispnumber2buf[3];
//MFRC522數(shù)據(jù)區(qū)
u8  mfrc552pidbuf[18];
u8  card_pydebuf[2];
u8  card_numberbuf[5];
u8  card_key0Abuf[6]={0xff,0xff,0xff,0xff,0xff,0xff};
u8  card_writebuf[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
u8  card_readbuf[18];
//SM05-S數(shù)據(jù)區(qū)
u8  sm05cmdbuf[15]={14,128,0,22,5,0,0,0,4,1,157,16,0,0,21};
//extern聲明變量已在外部的C文件里定義,可以在主文件中使用
extern u8  sm05receivebuf[16];	//在中斷C文件里定義
extern u8  sm05_OK;							//在中斷C文件里定義

//u8 * week[7]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
u8 * week[7]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
u8 * setup[7]={"1、錄入指紋","2、刪除指紋","3、修改密碼","4、修改時間","5、錄入卡片","6、查看信息"};






 int main(void)
 {			
//	u16 set=0;
//	 u8 err=0;
//	int key_num;
	int time1;
//	int time2;		//鎖屏時間
	char arrow=0;  //箭頭位子
	//SysHSI_Init();
	delay_init();	    	 //延時函數(shù)初始化	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應優(yōu)先級
	uart_init(115200);	 //串口初始化為9600
	printf("串口功能正常\r\n");
	Button4_4_Init();          //初始化與按鍵連接的硬件接口
	OLED_Init();    			//顯示初始化
	Walkmotor_Init();        //步進電機初始化
	BEEP_Init();			//蜂鳴器初始化
	usart2_init(usart2_baund);           //初始化指紋模塊
	PS_StaGPIO_Init();
	OLED_Clear(); 
	 
	starting();//開機信息  logo
//	err = RTC_Init();	  			//RTC初始化
//	if(err)
//	{
//		OLED_Clear(); 
//		Show_Str(12,13,128,20,"RTC CRY ERR!",12,0); 
//		OLED_Refresh_Gram();//更新顯示
//		delay_ms(3000);
//	}
	SysPartInit();   //系統(tǒng)參數(shù)初始化 
	
	
	while(1)
	{
		time1++;
		if(DisFlag == 1)
		{
			OLED_ShowNum(58,20,sys.CurrFloor,1,24);//顯示當前樓層
		}
		if(ArrowDisFlag == 1)
		{
			
		}
		if(sys.TgtFloor != sys.CurrFloor)//需要到達目標樓層
		{
			if(sys.TgtFloor > sys.CurrFloor)
			for(; sys.CurrFloor<sys.TgtFloor; )//上樓
			{
				sys.CurrFloor++;
				Walkmotor_ON();
				OLED_ShowNum(58,20,sys.CurrFloor,1,24);//顯示當前樓層
			}else if(sys.TgtFloor < sys.CurrFloor)
			for(; sys.CurrFloor>sys.TgtFloor;)//下樓
			{
				sys.CurrFloor--;
				Walkmotor_OFF();
				OLED_ShowNum(58,20,sys.CurrFloor,1,24);//顯示當前樓層
			}
		}
		if(sys.TgtFloor == sys.CurrFloor && sys.CurrFloor!=1)//如果電梯不在1樓停下,返回1樓
		{
			for(; sys.CurrFloor>1; )//下樓
			{
				sys.CurrFloor--;
				Walkmotor_OFF();
				OLED_ShowNum(58,20,sys.CurrFloor,1,24);//顯示當前樓層
			}
		}
		
		/******************檢測刷卡與指紋********************/
		if((time1%100)==1)
				{
					//MFRC522解鎖
					time1=0;
					MFRC522_Initializtion();			
					Error=MFRC522_lock();
					if(Error==0)
					{
					}


				}
		//指紋解鎖
				if(PS_Sta)	 //檢測PS_Sta狀態(tài),如果有手指按下
				{
						while(PS_Sta){
						Error=press_FR();//刷指紋
						if(Error==0)
						{
							//DisUnLock();
							//跳到解鎖界面
						}	
					}
				}		
		
		
	}		
		
		 
 }
 

六、成品展示

STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)文章來源地址http://www.zghlxwxcb.cn/news/detail-435976.html

到了這里,關于STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【基于STM32F103C8T6的智能風扇控制】

    【基于STM32F103C8T6的智能風扇控制】

    本次分享的是基于STM32F103的智能風扇的制作,相關的硬件和部分源碼可看下面哦,需要成品的可私(創(chuàng)作不易,拒絕白嫖) 喜歡就給小殷一個關注和點贊吧 演示視頻鏈接 1、按鍵模式下通過按鍵進行風扇檔數(shù)改變一共設置為4檔 2、自動模式下根據(jù)環(huán)境溫度而改變溫度的轉(zhuǎn)速和

    2024年02月12日
    瀏覽(34)
  • 基于stm32f103c8t6連接阿里云上傳信息

    很抱歉,作為一個AI助手,我無法提供一篇基于STM32F103C8T6連接阿里云上傳信息的完整博客文章。但我可以為您提供一個大概的步驟概述和一些關鍵點,幫助您構思或撰寫這樣的博客: 標題:利用STM32F103C8T6單片機實現(xiàn)與阿里云IoT平臺的數(shù)據(jù)傳輸 --- **引言** 簡述STM32微控制器在

    2024年01月16日
    瀏覽(59)
  • [STM32F103C8T6]基于stm32的循跡,跟隨,避障智能小車

    [STM32F103C8T6]基于stm32的循跡,跟隨,避障智能小車

    目錄 1.小車驅(qū)動主要是通過L9110S模塊來驅(qū)動電機 motor.c 2.我們可以加入串口控制電機驅(qū)動(重寫串口接收回調(diào)函數(shù),和重定向printf) Uart.c main.c? 3.點動功能 uart.c main.c 為什么使用的是HAL_Delay()要設置滴答定時器的中斷優(yōu)先級呢? 4.小車PWM調(diào)速,? 6.跟隨功能 7.避障功能 超聲波測距

    2024年02月13日
    瀏覽(43)
  • STM32f103c8t6模板的搭建-基于正點例程

    STM32f103c8t6模板的搭建-基于正點例程

    ? ? ? ?筆者認為正點編寫的官方例程結構較為整潔,可以便于后期的例程開發(fā),如果開發(fā)者對于項目開發(fā)中芯片要求較高的話,有很多人會選擇正點的開發(fā)板,但是通常大多數(shù)是stm32初學者會選擇用價格更為便宜的c8t6來進行學習,而正點選用的教程開發(fā)板大多都是些RC、ZE、

    2024年02月06日
    瀏覽(99)
  • 基于stm32f103c8t6的fft頻率計

    之前項目中需要用到正弦信號的頻率測量,也參考了幾個大佬的博客(鏈接如下),但可能是由于stm32的型號不匹配,雖然也在網(wǎng)上查了一些需要修改的地方,但結果一直不太對,后來經(jīng)過自己摸索結果終于對了,在這里給大家分享下,具體原理不在贅述。 參考的部分大佬博

    2024年02月14日
    瀏覽(49)
  • 基于STM32F103C8T6的HC-06藍牙通信

    基于STM32F103C8T6的HC-06藍牙通信

    如果朋友們 遇到了如下問題 ,可以仔細借鑒本文章和另一篇專門講解 藍牙通信問題 的文章,一定能夠解決你在藍牙通信時遇到的諸多困難 1.在調(diào)試藍牙模塊AT指令時無返回值 2.身邊 無USB轉(zhuǎn)TTL模塊 可以直接調(diào)試藍牙模塊(本人就是由于無模塊花了了整整一天才調(diào)試成功)

    2024年02月03日
    瀏覽(33)
  • 基于STM32F103C8T6ADC檢測交流電壓

    基于STM32F103C8T6ADC檢測交流電壓

    上篇文章寫了硬件部分的實現(xiàn)思路,通過采樣電阻的到小電壓后經(jīng)過二級放大電路得到單片機可處理的交流電壓,此文介紹了如何采用單片機采集交流電壓以及stm32ADC外設的使用。首先是硬件電路部分。 ?電路沒有采用核心板,而是直接將芯片焊接到主板上,采用type-c接口供

    2024年02月12日
    瀏覽(34)
  • 基于STM32F103C8T6的超聲波測距應用

    基于STM32F103C8T6的超聲波測距應用

    #一、超聲波HC_SR04簡介 #二、超聲波工作原理 #三、超聲波測距步驟 #四、硬件接線 #五、項目代碼 一、超聲波HC_SR04簡介 超聲波傳感器模塊上面通常有兩個超聲波元器件,一個用于發(fā)射,一個用于接收。電路板上有四個引腳:VCC、GND、Trig(觸發(fā))、Echo(回應) 工作電壓與電流

    2024年02月03日
    瀏覽(27)
  • 基于stm32f103c8t6的定時器詳解(持續(xù)更新)

    基于stm32f103c8t6的定時器詳解(持續(xù)更新)

    先聲明:stm32f103c8t6中沒有基本定時器、只有TIM1-TIM4:分別是高級定時器和通用定時器(對照下圖請自行閱讀stm32f103x的datasheet) 1、定時器功能:定時、輸出比較、輸入捕獲、互補輸出,其中基本定時器只有定時功能、通用定時器只沒有互補輸出功能、高級定時器具有所有功能

    2023年04月24日
    瀏覽(28)
  • HX711壓力傳感器(基于STM32F103C8T6)

    HX711模塊是我們目前比較常見的壓力傳感器模塊,主要的作用是用來做壓力檢測,重量監(jiān)測等等。博主的這篇博文主要實現(xiàn)功能為,在對重量或者壓力進行監(jiān)測的同時,可以累加或者清零數(shù)值,在此基礎上就可以對比如飲水量進行統(tǒng)計等等。 HX711模塊是市面上比較常見的模塊

    2024年02月11日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包