扫描二维码,快速下载本应用说明文档(免费)
大小:419.2KB
价格:0.00元
更新日期:2016-07-08
开发者:小R科技
【魔术光杯】 应用介绍
STMduino-魔术光杯
实验概述
水银开关多了一个独立的LED,俩组可以组成魔术光杯,从本实验可以学到不同的传感器可以组合成不同的玩法。
实验原理
利用水银开关来检测模块的倾斜状态,用PWM波来控制独立的LED,使其可以有由亮暗的不同程度的变化,俩者结合当水银开关检测倾斜时,LED灯会越来越暗,另一个灯会越来越亮,使之像心跳一样!
实验步骤
将魔术光杯其中一个模块的S脚接STMduino电源板上面的A5引脚,LED控制接数字引脚3(实现PWM功能)另一个模块 S接A4,LED控制数字引脚4。
代码解析
首先我们定义了俩个led和模块引脚分别为3,4,A5和A4,GPIO_Config()里面将魔术光杯的水银开关引脚初始化为输入模式,
在Timer.c文件中TIM3_GPIO_Cconfig(void)函数将定时器的俩个通道GPIO初始化
在TIM3_Mode_Config(void)函数中将配置定时器的周期,分频系数及计数模式
主循环里面,我们做了俩个判断,当读取到A模块引脚有电平信号时,LED的PWM信号不是最大时,PWM信号增加,读取到模块B引脚有电平信号时,LED的PWM信号不是最小时,PWM信号减小,然后将PWM信号赋值到LED A 将PWM信号的反差值赋值到LED B,俩个LED此消彼长。
实验现象
打开STMduino开发板的开关,上传代码后,当一个水银开关倾斜时,自己的LED灯会越来越暗,另一个灯会越来越亮,像心跳一样!