[项目]防近视笔筒 精华

查看: 322|回复: 4

[项目] 防近视笔筒

[复制链接]
本帖最后由 章 于 2020-8-16 20:18 编辑

1.jpg

2.jpg




视频演示


       我国青少年的整体视力情况不容不乐观,有数据显示,目前中国近视患者人数多达6亿,几乎占到中国总人口数量的50%,青少年近视率已经高居世界第一,教育部、国家卫健委共同起草了《综合防控儿童青少年近视实施方案(征求意见稿)》,将大力治理中小学生的近视问题。
       造成近视的原因有许多,比如近距离看书、玩手机、作业量过大、小孩挑食厌食导致近视发病率提升等等。尤其是近距离看书写字是形成近视的主要原因。为了有效预防近视,我们要尽量避免长时间、近距离看书、写字,那如果避免这些情况的发生呢,于是就产生了做一个防近视笔筒的想法。

功能描述

       1、外形是一个笔筒,可以用于放置笔、尺子等文具。
       2、自动测量学习环境的温度和湿度,并在OLED显示屏上实时显示。
       3、超声波传感器随时检测人的距离,并在OLED显示屏上实时显示出来,当距离小于设定的某一值时,蜂鸣器会发出警报声,直到人与它的距离大于设定值才停止警报。

【硬件清单】
       DFRduino UNO R3        1
       IO 传感器扩展板 V7.1     1
       DHT11温湿度传感器       1
       超声波传感器                  1
       I2C OLED 显示屏            1
       数字蜂鸣器模块               1
       杜邦线等
       激光切割结构件

【结构设计与搭建】
       1、激光切割件设计
       我们先利用软件在电脑中设计出其外壳,并用激光切割机切割椴木板外壳。
设计图.jpg


       2、把超声波传感器和OLED显示屏安装在侧面板相应的位置,采用热熔胶进行固定,在安装OLED显示屏时注意位置,上下不要安装倒了。如下图所示:

3.JPG


4.JPG


       3、把IO 传感器扩展板 V7.1插在DFRduino UNO R3上,再把它们用热熔胶固定在底板上,固定的时间一定要注意位置,主控板的数据接口与外接电源接口要与围起来的侧面板上的两个孔对齐。安装时可以先把侧面板围起来标上主控板的安装位置记号后再安装。
安装好主控板后再把温湿度传感器和蜂鸣器模块用热熔胶固定在主控板的两侧。如下图:   

5.JPG


       4、用杜邦线把超声波传感器、OLED显示屏、温湿度传感器和蜂鸣器模块与扩展板上相应的针脚连接起来,具体的接线方法见后面的接线路。连接好后如下图所示:

6.JPG


       5、最后把侧面板、中间隔板以及顶部和底部面板进行组装,这样防近视笔筒就组装好了。如下图:

7.JPG


8.JPG



电路连接图

接线图.jpg

程序编写

       1、程序的编写软件是Mind+,打开Mind+软件,切换到上传模式,接着点击拓展打开拓展。

9.png


       2、在主控板选项卡中选择Arduino Uno主控板。

10.png


       3、在传感器选项卡中选择DHT11/22温湿度传感器。

11.png


       4、在显示器选项卡中选择OLED-12864显示屏后,单击返回回到编程界面。

12.png


13.png



       5、接下来开始正式编写程序。开始时先进行一些变量的定义及初始化设置,这一部分程序只在主控板通电后执行一次,程序如下:

14.png


       这里定义了“温度”和“湿度”两个变量,它们的值分别是第一次从温湿度传感器上读取到的值。后面几个积木块都是设置OLED显示屏显示的内容,第一行显示“预防近视笔筒”的内容,第二行显示“距离:”后面接着显示第一次超声波检测到的距离值,这里用了绝对值主要是让其显示整数值,第三四两行分别显示“湿度:”与“湿度:”,后面接着显示变量“温度”和“湿度”值,也就是第一次从温湿度传感器上读取到的值。

       6、接下来写与超声波相关的程序,这一部分程序要放在重复执行的积木块中,程序如下:

15.png


       由于这个超声波传感器有时不是很稳定,偶尔会出现检测到的值是0,所以在这里要么检测到0的值过滤掉,在显示屏上不显示,所以条件当中用了个“非”运算符,如果检测到的距离等于0就不执行显示这两条指令,只有当检测到的距离不是0时也就是大于0时,OLED显示屏距离后面的值才会更随时更新显示。
       在距离报警积木块中用了“重复执行直到”条件积木块,其中条件为检测到的距离等于0或大于40厘米,这里的“或”运算符表示两个条件只要满足其中一个就可以,当检测到的距离值等于0或者大于40厘米就跳过“重复执行直到”积木块中的积木块指令,也就是不发出警报声,如果检测到的距离值大于0而小于等于40厘米的话,就发出警报声提醒我们,现在的距离过近要注意保持相应的距离,直到距离大于40厘米才会停止发出警报声,条件当中加了检测到的距离等于0也是为了避免检测到的值等于0时也响起报警声,条件当中的40厘米我们可以根据自己的情况进行更改。

       7、接下来写在OLED显示屏上实时显示温度的程序,这一部分程序要放在重复执行的积木块中,程序如下:

16.png


       因为在同一环境中温度变化不是很大,所以温度没有变化时,OLED显示屏上温度的值没必要随时更新,只有当温度产生变化时,才更新显示,不然在显示温度值会不停闪动的效果。所以在条件判断中用了比较运算符,只有当当前温度与原来温度不一样时,才再次执行显示温度值的积木块指令,再不当前检测到的温度赋值给变量“温度”,再去重新判断,如果当前检测到的温度与原来一样,则跳过这段积木块指令去执行下面的程序。

       8、湿度显示的程序与温度一样,如下图:

17.png


       9、完整程序如下图所示:

防近视笔筒.png


拓展

       这个防近视笔筒的功能比较简单,我们还可以给它计时报警等功能。硬件可以增加一个按键用来触发开始计时和重新计时,增加一个角度传感器用来设置读书写作业的时间,然后加上计时报警的程序,从而实现以下效果:通过旋转角度传感器设置读书、写作业的时间,比如40分钟,然后按下按键开始计时,当经过了40分钟,蜂鸣器就会发出不同的警报声提醒我们要注意休息,我们也可以随时按下按键重新开始计时。


保护眼睛的儿歌

保护眼睛真重要,小朋友们要记牢;

读书写字坐端正,眼睛离桌一尺遥;

走路坐车和躺着,千万不要把书瞧;

眼保健操天天做,一日两次不可少。




  作者其它帖子  

         ◆ 猜拳机器人
  
       炫彩小夜灯
        麦昆PLUS巡线&避障
         小便池自动冲洗器
         百变乐器
         留言机
         【2020】创意时钟
         爱的传递——AI爱心储物柜
  
       智能储蓄罐
        看得见的心跳
         保险箱
         激光打靶器
         钥匙忘带提醒器
         麦昆智能晾衣架
         DIY留声机
         智能马桶
         坐姿矫正仪
         远程监测温度和亮度
         变色龙
         龙舟
         多脚怪

  

hnyzcj  版主

发表于 2020-8-17 08:04:32

保护眼睛。嗯嗯
回复

使用道具 举报

jXo3tHLz  学徒

发表于 2020-8-17 14:40:01

老师 有没有激光雕刻文件
回复

使用道具 举报

gray6666  初级技神

发表于 2020-8-17 17:01:22

萌萌哒~~~~~
回复

使用道具 举报

_木子_  中级技匠

发表于 2020-8-17 17:41:24

好可爱                  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail