资料转发分享基于STM32智能路灯灯光自动控制系统设计-基于STM32无刷电机BLDC速度控制器系统设计-基于STM32热释人体感应智能门禁报警系统设计-基于STM32居家加湿器控制仿真系统设计
Posted Mr song song
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了资料转发分享基于STM32智能路灯灯光自动控制系统设计-基于STM32无刷电机BLDC速度控制器系统设计-基于STM32热释人体感应智能门禁报警系统设计-基于STM32居家加湿器控制仿真系统设计相关的知识,希望对你有一定的参考价值。
1604基于STM32智能路灯灯光自动控制系统设计-毕设课设资料
实现的功能如下,下图是仿真原理图:
通过ARM内部的ADC采集光敏电阻电压,判断电压值
电压值低于设定的值,表示光强太弱,开路灯
光强合适,显示OK灯不亮
stm32内部ADC采集电压
光敏电阻,调节光强
#include "stm32f10x.h"
#include "bsp-lcd1602.h"
#include "delay.h"
#include "sys.h"
#include "adc.h"
int main(void)
int ADC_num;
float temp;
ADC1_GPIO_Config();
ADC_Config();
delay_init(); //延时函数初始化
LCD1602_Init();
LCD1602_ShowStr(0,0,"Intelligent LED",15);
LCD1602_ShowStr(0,1," LED:",8);
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
while(1)
ADC_num=ADC_GetConversionValue(ADC1);
temp=ADC_num*(3.4/4096)*10;
//表示光线太弱
if( temp < 8 )
LCD1602_ShowStr(8,1,"Low ",4);
GPIO_ResetBits( GPIOC,GPIO_Pin_0 );
以上提供设计思路,也可以从结尾进行资料网盘下载
1605基于STM32无刷电机BLDC速度控制器系统设计-毕设课设资料
- 可调转速通过可调电阻和STM32的ADC功能,实现500-4596范围的速度调节。
- 通过定时器1的PWM互补输出六路PWM控制电机的转动,驱动器使用L293D和IRF540 MOS管。
- 换向使用的是外部中断,测速使用的是定时器2的三鹿输入捕获,这里有一个坑,proteus中三路输入捕获无法同时工作,本来打算三路都做测速逻辑,但是速度变化很大,所以最后只使用了一路作为测速通道。
- 正反转使用的是外部中断。
- 显示转速和目标转速使用的是lcd1602,在proteus仿真中,显示转速有一定的延时和误差
实现功能:
- 可调转速
- 可控转动方向
- 显示转速和目标转速
下面是原理图和程序
#include "main.h"
#include "adc.h"
#include "tim.h"
#include "gpio.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "includes.h"
#include "lcd.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define HALL_GPIO GPIOA
//START 任务
//设置任务优先级
#define START_TASK_PRIO 10 //开始任务的优先级设置为最低
//设置任务堆栈大小
#define START_STK_SIZE 64
//任务堆栈
OS_STK START_TASK_STK[START_STK_SIZE];
//任务函数
void start_task(void *pdata);
//LED0任务
//设置任务优先级
#define LED0_TASK_PRIO 2
//设置任务堆栈大小
#define LED0_STK_SIZE 64
//任务堆栈
OS_STK LED0_TASK_STK[LED0_STK_SIZE];
//任务函数
void led0_task(void *pdata);
//Speed_ADC 任务
//设置任务优先级
#define SPEED_ADC_TASK_PRIO 1
//设置任务堆栈大小
#define SPEED_ADC_STK_SIZE 64
//任务堆栈
OS_STK SPEED_ADC_TASK_STK[SPEED_ADC_STK_SIZE];
//任务函数
void speed_adc_task(void *pdata);
以上提供设计思路,也可以从结尾进行资料下载
1606基于STM32热释人体感应智能门禁报警系统设计-毕业设计资料
1、通过热释红外传感器检测是否有人,如果有人靠近门时,液晶屏提示亮并显示欢迎词:Welcome to home!,夜间探测到有人时开灯,灯用9个高亮LED灯设计,无人时,关灯。
2、主人可设定门禁系统工作状态,家里有人和无人两种状态。通过一个拨动开关设置,拨上去,液晶显示有人:Somebody!,拨下来液晶显示没人:Nobody!有人时,客人按下门铃,蜂鸣器鸣叫提示,无人时,客人按下门铃,无任何反应。
3、门外人员逗留时间超过一定时间则发出报警信息。
4、检测到有人或者没有人,有状态指示灯指示。
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "key.h"
#include "led.h"
#include "lcd1602.h"
u8 lighFlag=0; //光照 标志
u8 doorFlag=0; //门检测 标志
u8 manFlag=0; //人检测 标志
u8 menlingFlag=0; //门铃检测 标志
u8 baojFlag=0; //报警 标志
int main(void)
u32 time10ms=0;
delay_init(); //延时函数初始化
KEY_Init(); //初始化 按键
LED_Init(); //初始化电机引脚 作为输出 类似led
delay_ms(1);
Lcd_GPIO_init(); //初始化lcd引脚
Lcd_Init(); //初始化lcd屏幕
delay_ms(20);
Lcd_Puts(0,0,"Waitting for you"); //初始化显示
Lcd_Puts(0,1,"Nobody! ");
以上提供设计思路,也可以从结尾进行资料网盘下载
1607基于STM32居家加湿器控制仿真系统设计-电子设计资料
#include "stm32f10x.h"
#include "bsp_SysTick.h"
uint8_t table[]=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;
int main(void)
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|\\
GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|\\
GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2);
SysTick_Init();
while(1)
uint8_t i;
for(i=0;i<10;i++)
GPIO_Write(GPIOB, ~table[i]);
Delay_ms(200);
if( i>= 5 )
目录
1604基于STM32智能路灯灯光自动控制系统设计-毕设课设资料
1605基于STM32无刷电机BLDC速度控制器系统设计-毕设课设资料
1606基于STM32热释人体感应智能门禁报警系统设计-毕业设计资料
1607基于STM32居家加湿器控制仿真系统设计-电子设计资料
创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖以上可以按照这个思路进行自行设计,也可以通过一下百度网盘列表下载现成的
https://www.aiesst.cn/baidu.html
以上是关于资料转发分享基于STM32智能路灯灯光自动控制系统设计-基于STM32无刷电机BLDC速度控制器系统设计-基于STM32热释人体感应智能门禁报警系统设计-基于STM32居家加湿器控制仿真系统设计的主要内容,如果未能解决你的问题,请参考以下文章
基于单片机家具窗帘控制系统设计基于单片机路灯教室灯光家具智能控制设计-基于单片机简易电饭煲电饭锅仿真系统设计基于单片机酒精检测控制系统仿真设计-设计资料
资料转发分享基于8086和LCD12864液晶显示仿真设计基于8086计算器系统仿真设计基于8086家具房间灯光控制设计-设计资料
转发分享:基于STM32景区人流检测控制系统设计(仿真,程序)
基于STM32的智能温室控制系统仿真电路设计(温控补光)-基于STM32的智能蓝牙温控风扇控制系统设计-基于STM32的无线蓝牙心电监护仪系统设计毕设课设分享