打印
[STM32F1]

基于STM32芯片的一款智能台灯

[复制链接]
楼主: junpeng324
手机看帖
扫描二维码
随时随地手机跟帖
21
junpeng324|  楼主 | 2017-11-8 22:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
本帖最后由 junpeng324 于 2017-11-8 22:40 编辑

硬件电路之三:
5、HC-SRO4超声波模块。超声波测距模块一般有发射、接收和信号处理三个部分。工作时超声波发射器只需要在触发端给一个至少10微秒的高电平信号,它就会自动发送8个40KHz的方波,自动检测是否有返回的信号。用超声波模块主要用于纠正坐姿需要,我们会通过超声波的测距功能来时刻提醒用户在工作学习时要保持正确的坐姿,一旦用户坐姿偏差太大台灯将会发出报警提醒声,让用户培养良好的坐姿习惯。
6、人体热释电探头。用人体热释电模块能够实时检测到是否有人经过,如果有返回信号则台灯自动开启,能够方便用户第一时间的使用并可以记录入座时间及时给予反馈信息提醒。同时有利于用户的夜间使用,当感应到有人经过它便会自动开灯,方便夜间人们的生活且不影响家人的正常休息。对于害怕黑夜的人来说台灯夜间有一个小夜灯模式,能够让用户安心入睡,保障更好地睡眠质量。我们还运用四个热释电探头做了一个手势控制台灯亮度的功能,通过手速的快慢及方向来改变灯光亮灭。

使用特权

评论回复
22
junpeng324|  楼主 | 2017-11-8 22:41 | 只看该作者
硬件电路之四:
7、DHT11温湿度模块。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为同类应用场合的最佳选择。所以此次我们选择了这一模块用来实时监测台灯周围的环境变化,用于给用户提供更加健康、舒适的工作学习环境。
8、MQ-2烟雾、甲烷、液化气、可燃气模块。MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。现在家庭很多在使用天然气、煤气,在为人们生活提供方便的同时,但也存在着一些安全隐患。因此,我们采用该模块对家庭室内环境实时检测,也是为了给用户提供更加安全健康的生活场所。

使用特权

评论回复
23
junpeng324|  楼主 | 2017-11-8 22:44 | 只看该作者
硬件电路之五:
9、时钟显示PCF8563模块。PCF8563是低功耗的CMOS实时时钟日历芯片它提供一个可编程时钟输出一个中断输出和掉电检测器所有的地址和数据通过I2C总线接口串行传递最大总线速度为400Kbits/s每次读写数据后内嵌的字地址寄存器会自动产生增量。该模块为我们获取实时时间提供了保障,可以使手机APP页面端实时更新数据提供可靠地时间参考依据。
通过以上模块的协作,我们将各模块收集的数据上传至云端与手机APP之间进行打通连接,让这台台灯拥有了“思想”,它能尽可能多的满足人们的生活需求,提高人们的生活质量,同时适应科技创新、智能化、物联化、未来化的发展方向,为智能家居的发展注入了了新的活力。

使用特权

评论回复
24
junpeng324|  楼主 | 2017-11-8 22:51 | 只看该作者
APP软件设计(局部)
/**
    * 发送指令,下发单个数据点的命令可以用这个方法
    * 注意
    * 下发多个数据点命令不能用这个方法多次调用,一次性多次调用这个方**导致模组无**确接收消息,参考方法内注释。
    *
    * @param key   数据点对应的标识名
    * @param value 需要改变的值
    */
   public static void sendCommand(String key, Object value) {
       if (value == null) {
           return;
       }
       int sn = 5;
       ConcurrentHashMap<String, Object> hashMap = newConcurrentHashMap<String, Object>();
       hashMap.put(key, value);
       // 同时下发多个数据点需要一次性在map中放置全部需要控制的keyvalue
        // hashMap.put(key2, value2);
       // hashMap.put(key3, value3);
       mDevice.write(hashMap, sn);
       Log.i("liang", "下发命令:" + hashMap.toString());
}
[size=21.3333px]  

  


使用特权

评论回复
25
junpeng324|  楼主 | 2017-11-8 22:53 | 只看该作者
APP软件设计(局部)
/**
*更新界面数据显示
**/
    protected void updateUI() {
        myPowerCheckBox.setChecked(Lamp_Power);
       myAutoCheckBox.setChecked(Lamp_Auto_Control);
        tv_data_Lamp_Size.setText(Lamp_Size +"");
        sb_data_Lamp_Size.setProgress((int)((Lamp_Size - LAMP_SIZE_ADDITION) / LAMP_SIZE_RATIO - LAMP_SIZE_OFFSET));
        tv_data_Today_Humidity.setText("湿度:" + Today_Humidity +"");
        tv_data_Today_Temp.setText(Today_Temp +"°C");
       tv_data_lamp_illumination.setText("光强度:" + Light_Intensity);
       tv_data_have_CombustibleGas.setText((Have_CombustibleGas) ? "有可燃气体" : "无可燃气体");
       tv_data_sitting_posture.setText((Sitting_Posture) ? "坐姿正确" : "坐姿不正确");
        HashMap<String, String>HMSataHashMap = DateTimeUtils.getIntTimeToHMS(Now_Time);
       tv_data_time.setText(HMSataHashMap.get("h") + ":" +HMSataHashMap.get("m"));
        initViewPager();
        HashMap<String, Double>stringDataHashMap = new HashMap<>();
       stringDataHashMap.put("Today_Study", Today_Study);
        stringDataHashMap.put("Last1day_Study",Last1day_Study);
       stringDataHashMap.put("Last2day_Study", Last2day_Study);
       stringDataHashMap.put("Last3day_Study", Last3day_Study);
       stringDataHashMap.put("Last4day_Study", Last4day_Study);
        stringDataHashMap.put("Last5day_Study",Last5day_Study);
       stringDataHashMap.put("Last6day_Study", Last6day_Study);
        //设置温度折线图
       studyTimeContentPager.setData(stringDataHashMap, Today_Date);
        /**
         * 如果灯关了,强制顶部图片最暗
         */
        if (Lamp_Power)setTopLampLight(Lamp_Size);
        else setTopLampLight(-255);
    }

使用特权

评论回复
26
junpeng324|  楼主 | 2017-11-8 22:55 | 只看该作者
STM32硬件代码(局部)


1.png (46.89 KB )

1.png

使用特权

评论回复
27
junpeng324|  楼主 | 2017-11-8 22:56 | 只看该作者
STM32硬件代码(局部)


2.png (57.49 KB )

2.png

使用特权

评论回复
28
mcuzone| | 2017-11-9 10:54 | 只看该作者
堆料!

使用特权

评论回复
29
junpeng324|  楼主 | 2017-11-9 23:08 | 只看该作者
APP页面:局部图 灯光控制主界面


1.png (123.48 KB )

1.png

使用特权

评论回复
30
junpeng324|  楼主 | 2017-11-9 23:14 | 只看该作者
APP时钟设置界面图,可以通过APP来控制台灯上面的数码管时钟实现网络时间的同步与时间调节。

2.png (215.66 KB )

2.png

使用特权

评论回复
31
junpeng324|  楼主 | 2017-11-9 23:16 | 只看该作者
设置日期和时间界面图

3.png (248.94 KB )

3.png

使用特权

评论回复
32
junpeng324|  楼主 | 2017-11-9 23:18 | 只看该作者
APP智能台灯模式选择界面图

4.png (142.91 KB )

4.png

使用特权

评论回复
33
aizaixiyuanqian| | 2017-11-9 23:25 | 只看该作者

这么多光电开关是用来干嘛的?

使用特权

评论回复
34
aizaixiyuanqian| | 2017-11-9 23:25 | 只看该作者
猫耳朵时钟好可爱啊

使用特权

评论回复
35
aizaixiyuanqian| | 2017-11-9 23:26 | 只看该作者
junpeng324 发表于 2017-11-9 23:08
APP页面:局部图 灯光控制主界面

APP很漂亮,楼主自己开发的吗?

使用特权

评论回复
36
junpeng324|  楼主 | 2017-11-10 10:39 | 只看该作者
aizaixiyuanqian 发表于 2017-11-9 23:26
APP很漂亮,楼主自己开发的吗?

是的,我们队里有个会写APP的很棒的。

使用特权

评论回复
37
junpeng324|  楼主 | 2017-11-10 10:39 | 只看该作者
aizaixiyuanqian 发表于 2017-11-9 23:25
猫耳朵时钟好可爱啊

这个本来是个机械的表,我们把它改成数码管显示的表了。

使用特权

评论回复
38
junpeng324|  楼主 | 2017-11-10 10:40 | 只看该作者
aizaixiyuanqian 发表于 2017-11-9 23:25
猫耳朵时钟好可爱啊

里面的电路全部手工制作。

使用特权

评论回复
39
junpeng324|  楼主 | 2017-11-10 10:40 | 只看该作者
aizaixiyuanqian 发表于 2017-11-9 23:25
这么多光电开关是用来干嘛的?

做了一款手势感应的装置,用于控制台灯。

使用特权

评论回复
40
junpeng324|  楼主 | 2017-11-10 10:43 | 只看该作者
创新点
现如今社会LED灯以高节能,长寿命,促环保的优点在社会上面占据着强大的市场,也因此是大家关注的焦点。这几年高亮度的LED光源因科技的迅速发展,制作技术方面突飞猛进,同时造价成本的降低,如今台灯得以使用LED光源作为高亮度,高效率而又省电无碳排放的节能光源。
团队秉持着创新智能、简约实用为主题来设计这款台灯。台灯在现如今的生活比重越来越重,社会大众对台灯的功能要求也越来越高,为适应更加宽广的人群要求,我们在这款设计方面加入了许多新颖的创新理念和设计要求:
1、用手机APP实现对台灯进行远程监控,使用方便并可以实时了解家庭环境的最新情况;
2、自动调光、语音调光、手动调光时刻为了您的方便与快捷作出努力;
3、手势调节光照亮度,通过扫描手速的快慢与方向来改变光亮;
4、对于坐姿的纠正有一定帮助,可以使您培养良好的坐姿习惯,促进身体健康;
5、久坐提醒、定时提醒、小夜灯等为您的健康生活提供便利和保障。

科学技术是第一生产力,创新是科技不断进步的力量源泉。创新要更好地服务于人类的生活,提高人们的生活水平,我们的创新想法是来自于人们生活中的真实需要,我们努力用所学的知识去创造价值,用求知的心态去探索世界,每一次小小的进步都是我们不断前行的动力,我们热爱着生活、我们热爱着科学、我们热爱着无限的创造力。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则