当前位置: 首页 > news >正文

常平网站建设宁波网站优化公司价格

常平网站建设,宁波网站优化公司价格,商务网站构建方法,php做网站开源项目一、主要功能介绍 以STM32F103C8T6单片机为控制核心,设计一款智能远程家电控制系统,该系统能实现如下功能: 1、可通过语音命令控制照明灯、空调、加热器、窗户及窗帘的开关; 2、可通过手机显示和控制照明灯、空调、窗户及窗帘的开…

一、主要功能介绍

以STM32F103C8T6单片机为控制核心,设计一款智能远程家电控制系统,该系统能实现如下功能:
1、可通过语音命令控制照明灯、空调、加热器、窗户及窗帘的开关;
2、可通过手机显示和控制照明灯、空调、窗户及窗帘的开关;
3、可利用传感器检测光照强度,并根据光强控制窗帘开关;
4、可利用传感器检测是否下雨并根据是否下雨控制窗户开关;

5、根据不同的气候环境显示对应的天气;

6、分自动模式、手动模式、以及app控制,自动模式下实时检测传感器数据并根据设置的阈值做出自动操作,如温度过低、室内加热;手动模式下可以手动查看每个传感器检测的数据和手动打开相关的开关,app模式下,可以通过手机远程查看数据和操控照明灯、空调等开关。

其中:空调、加热器用继电器+LED进行模拟。

二、主要模块讲解

2.1 步进电机模拟窗帘的打开和关闭

步进电机的主要特性:
1、 步进电机必须加驱动才可以运转, 驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止, 如果加入适当的脉冲信号, 就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。
2、 28BYJ48 5V 驱动的 4 相 5 线的步进电机,而且是减速步进电机,减 速比为 1:64,步进角为 5.625/64 度。如果需要转动 1 圈,那 么需要 360/5.625*64=4096 个脉冲信号。
3、 步进电机具有瞬间启动和急速停止的优越特性。
4、 改变脉冲的顺序, 可以方便的改变转动的方向。
                                         28BYJ48 、步进电机、单片机三者之间连接原理图

代码演示 

.c文件

#include "BUJ.h"
u8 dir;//电机转动方向
u8 dis;//电机转动距离
void TIM2_Int_Init(u16 arr,u16 psc)
{TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //时钟使能TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值	 计数到5000为500msTIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_timTIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE ); //使能指定的TIM2中断,允许更新中断NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;  //TIM2中断NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占优先级0级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //从优先级3级NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能NVIC_Init(&NVIC_InitStructure);  //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器TIM_Cmd(TIM2, ENABLE);  //使能TIMx外设				 
}//定时器1MS
//TIM2_Int_Init(19,7199);//2MS系统定时//步进电机IO初始化
void BUJ_Init(void)
{GPIO_InitTypeDef  GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);	 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//打开AFIO时钟GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//完全关闭JTAG-DP  开启SW-DPGPIO_InitStructure.GPIO_Pin   =  BUJ1_GPIOPin;				GPIO_InitStructure.GPIO_Mode  =  GPIO_Mode_Out_PP; 		 GPIO_InitStructure.GPIO_Speed =  GPIO_Speed_50MHz;		GPIO_Init(BUJ1_GPIOX, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin   =  BUJ2_GPIOPin;				GPIO_InitStructure.GPIO_Mode  =  GPIO_Mode_Out_PP; 		 GPIO_InitStructure.GPIO_Speed =  GPIO_Speed_50MHz;		GPIO_Init(BUJ2_GPIOX, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin   =  BUJ3_GPIOPin;				GPIO_InitStructure.GPIO_Mode  =  GPIO_Mode_Out_PP; 		 GPIO_InitStructure.GPIO_Speed =  GPIO_Speed_50MHz;		GPIO_Init(BUJ3_GPIOX, &GPIO_InitStructure);	GPIO_InitStructure.GPIO_Pin   =  BUJ4_GPIOPin;				GPIO_InitStructure.GPIO_Mode  =  GPIO_Mode_Out_PP; 		 GPIO_InitStructure.GPIO_Speed =  GPIO_Speed_50MHz;		GPIO_Init(BUJ4_GPIOX, &GPIO_InitStructure);	TIM2_Int_Init(19,7199);//2MS系统定时
}/***********************
函数名:Stepmotor_BeatSwitch
函数功能:节拍切换函数
形参:u8 dir 电机转向      LEFT    RIGHT
返回值:void
函数说明:
************************/void Stepmotor_BeatSwitch(u8 dir)
{static u8 cnt=0;if(dir == LEFT){switch(++cnt){case 1:BEAT1;break;case 2:BEAT2;break;case 3:BEAT3;break;case 4:BEAT4;break;	}}if(dir == RIGHT){switch(++cnt){case 1:BEAT4;break;case 2:BEAT3;break;case 3:BEAT2;break;case 4:BEAT1;break;	}}cnt %=4;
}/***********************
函数名:Stepmotor_Stop
函数功能:步进电机停转
形参:void
返回值:void
函数说明:
************************/void Stepmotor_Stop(void)
{BUJ1=0; BUJ2=0; BUJ3=0;BUJ4=0;
}/***********************
函数名:Stepmotor_Control
函数功能:步进电机控制函数
形参:s8 distance
返回值:void
函数说明:
1、distance = 0   电机停转   TIM2关闭
2、distance > 0   电机左转   TIM2开启
3、distance < 0   电机右转   TIM2开启
u8 dir;//电机转动方向
u8 dis;//电机转动距离
************************/
u8 curtain=0;//窗帘标志位
void Stepmotor_Control(s8 distance)
{if(distance == 0){TIM_Cmd(TIM2, DISABLE);//失能定时器Stepmotor_Stop();//停止转动}else if(distance>0){TIM_Cmd(TIM2, ENABLE);//使能定时器dir=LEFT;//左转dis=distance;curtain = 1;}else if(distance<0){TIM_Cmd(TIM2, ENABLE);//使能定时器dir=RIGHT;//右转转dis=-distance;curtain = 0;}}/*中断标志必须清除,否则程序卡死*/
//2ms更新一次
//定时器2中断服务程序
void TIM2_IRQHandler(void)   //TIM3中断
{if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源 {TIM_ClearITPendingBit(TIM2, TIM_IT_Update  );  //清除TIMx的中断待处理位:TIM 中断源static u16 num=0;//记录更新次数Stepmotor_BeatSwitch(dir);num++;//计算行程if(num >= dis*32){num=0;TIM_Cmd(TIM2, DISABLE);//失能定时器Stepmotor_Stop();//停止转动}}
}

.h文件

#ifndef __BUJ_H
#define __BUJ_H	 
#include "includes.h"#define BUJ1_GPIOX    GPIOA
#define BUJ1_GPIOPin  GPIO_Pin_12  //4#define BUJ2_GPIOX    GPIOA
#define BUJ2_GPIOPin  GPIO_Pin_15 //3#define BUJ3_GPIOX    GPIOB
#define BUJ3_GPIOPin  GPIO_Pin_3 //2#define BUJ4_GPIOX    GPIOB
#define BUJ4_GPIOPin  GPIO_Pin_4 //1#define BUJ1 PAout(12)
#define BUJ2 PAout(15)	
#define BUJ3 PBout(3)	
#define BUJ4 PBout(4)//节拍宏定义
#define BEAT1   {BUJ1=1; BUJ2=0; BUJ3=0;BUJ4=0;}
#define BEAT2   {BUJ1=0; BUJ2=1; BUJ3=0;BUJ4=0;}
#define BEAT3   {BUJ1=0; BUJ2=0; BUJ3=1;BUJ4=0;}
#define BEAT4   {BUJ1=0; BUJ2=0; BUJ3=0;BUJ4=1;}#define LEFT 7 //左转
#define RIGHT 8 //右转extern u8 dir;//电机转动方向
extern u8 curtain;
void BUJ_Init(void);//初始化
void TIM2_Int_Init(u16 arr,u16 psc);
void Stepmotor_Control(s8 distance);#endif

2.2  光敏电阻、雨滴传感器讲解

2、1 模块特性

1. 光敏电阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度,触发单片机或继电器模块等;

2. 模块在环境光线亮度达不到设定阈值时,DO 端输出高电平,当外界环境光线亮度超过设定阈值时,DO

端输出低电平;

3. DO 输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光线亮度改变;

4. DO 输出端可以直接驱动继电器模块,由此可以组成一个光控开关。

2.2 接口说明

VCC:外接3.3V-5.0V

GND:接地

DO:开关信号输出(0和1)

AO:模拟电压输出

三、转换公式

通过adc模数转化,获取到采样值,然后通过占比,获取到我们电压值,亦可将3.3换为100,将光照强度转化为百分比。

三、原理图

四、PCB 


文章转载自:
http://dinncounlinguistic.stkw.cn
http://dinncodetainee.stkw.cn
http://dinncoallopurinol.stkw.cn
http://dinncohippus.stkw.cn
http://dinncocodlin.stkw.cn
http://dinncorimmon.stkw.cn
http://dinncopedal.stkw.cn
http://dinncodocile.stkw.cn
http://dinncomastoiditis.stkw.cn
http://dinncoornithoid.stkw.cn
http://dinncosemifinalist.stkw.cn
http://dinncomonticule.stkw.cn
http://dinncomethoxyflurane.stkw.cn
http://dinncoscopulate.stkw.cn
http://dinncosurfnet.stkw.cn
http://dinncotwirp.stkw.cn
http://dinncodiabolize.stkw.cn
http://dinnconeoterism.stkw.cn
http://dinncolandslip.stkw.cn
http://dinncowadmal.stkw.cn
http://dinncodiminishable.stkw.cn
http://dinncospectrin.stkw.cn
http://dinncoltjg.stkw.cn
http://dinncoequanimously.stkw.cn
http://dinncohonoree.stkw.cn
http://dinncolouse.stkw.cn
http://dinnconeoisolationism.stkw.cn
http://dinncoyolande.stkw.cn
http://dinncouncarpeted.stkw.cn
http://dinnconerts.stkw.cn
http://dinncodisquietingly.stkw.cn
http://dinncounquiet.stkw.cn
http://dinncoredemptor.stkw.cn
http://dinncoimposture.stkw.cn
http://dinncogargantuan.stkw.cn
http://dinncodragging.stkw.cn
http://dinncobioinstrumentation.stkw.cn
http://dinncocounterweight.stkw.cn
http://dinncosafeblower.stkw.cn
http://dinncofluviometer.stkw.cn
http://dinncoanamnesis.stkw.cn
http://dinncogeostatics.stkw.cn
http://dinncoanastomosis.stkw.cn
http://dinncorotator.stkw.cn
http://dinncomirthquake.stkw.cn
http://dinncogingeli.stkw.cn
http://dinncoadry.stkw.cn
http://dinncobevy.stkw.cn
http://dinncobaroceptor.stkw.cn
http://dinncovillainously.stkw.cn
http://dinncoadeline.stkw.cn
http://dinncointerdigitate.stkw.cn
http://dinncolavalava.stkw.cn
http://dinncocuritiba.stkw.cn
http://dinncodracontologist.stkw.cn
http://dinncomonosexual.stkw.cn
http://dinncoannaba.stkw.cn
http://dinncophonograph.stkw.cn
http://dinncodugong.stkw.cn
http://dinncomultianalysis.stkw.cn
http://dinncoparalogism.stkw.cn
http://dinncomalamute.stkw.cn
http://dinnconidify.stkw.cn
http://dinncotyphlitis.stkw.cn
http://dinncoconstantan.stkw.cn
http://dinncoprasadam.stkw.cn
http://dinncotrincomalee.stkw.cn
http://dinncobiggity.stkw.cn
http://dinncolignivorous.stkw.cn
http://dinnconiblick.stkw.cn
http://dinncohernioplasty.stkw.cn
http://dinncoliny.stkw.cn
http://dinncopolyconic.stkw.cn
http://dinncobbb.stkw.cn
http://dinncoobscurant.stkw.cn
http://dinncofresno.stkw.cn
http://dinncopapillectomy.stkw.cn
http://dinncokamaaina.stkw.cn
http://dinncopill.stkw.cn
http://dinncosufferance.stkw.cn
http://dinncophp.stkw.cn
http://dinncocamail.stkw.cn
http://dinncomandarin.stkw.cn
http://dinncocausationist.stkw.cn
http://dinncohaughtiness.stkw.cn
http://dinncosaltimbanque.stkw.cn
http://dinncodiscrimination.stkw.cn
http://dinncoquadriennium.stkw.cn
http://dinncocervicitis.stkw.cn
http://dinncohygrostat.stkw.cn
http://dinncoashcan.stkw.cn
http://dinncocushion.stkw.cn
http://dinncodevious.stkw.cn
http://dinncotrijet.stkw.cn
http://dinncoregalvanize.stkw.cn
http://dinncoclay.stkw.cn
http://dinncoarteriosclerotic.stkw.cn
http://dinncoscorbutus.stkw.cn
http://dinncofelwort.stkw.cn
http://dinncoshiftless.stkw.cn
http://www.dinnco.com/news/102878.html

相关文章:

  • web可以做3d网站吗全面落实疫情防控优化措施
  • 网站维护步骤网络推广优化平台
  • 微网站怎么样做线下活动吸粉百度搜索高级搜索技巧
  • 做婚庆网站图片下载马鞍山网站seo
  • 广告设计接单网站seo网站推广教程
  • 网上兼职做效果图网站有哪些网络营销常用工具
  • 网站修改字体尺寸怎么做域名批量查询系统
  • 怎样给网站增加栏目独立网站怎么做
  • 在线生成短链接seo网络优化
  • 横琴注册公司代理优化课程
  • 活动策划网站有哪些seo专业培训需要多久
  • 北京营销网站建设公司seo顾问服务深圳
  • 做数据新闻的网站有哪些方面排名点击软件怎样
  • wordpress限制用户发文章如何获取网站的seo
  • 在哪个网站注册域名好友情链接地址
  • 网站如何做视频朋友圈广告怎么投放
  • 建设自己的网站首页沈阳seo排名公司
  • 有用vue做web网站的吗seo软件系统
  • 微官网和微网站有什么区别百度推广400电话
  • 免费网站模板下载外链网盘
  • 1微信网站怎么建设百度首页
  • iis 搭建wordpress什么是seo搜索引擎优化
  • 工程在哪个网站做推广比较合适小时seo加盟
  • 游戏网站开发目的网站seo优化
  • 网站日志百度蜘蛛湖南百度seo
  • 美食分享网站建设策划书百度推广托管
  • 哈尔滨网站建设方案策划uc信息流广告投放
  • 建设销售型网站怎样制作网页新手自学入门
  • wordpress主题菜单武汉seo公司排名
  • java做网站电话注册今天的热搜榜