发表于 2020-8-16 20:10:44

防近视笔筒

本帖最后由 章 于 2020-8-16 20:18 编辑






【视频演示】
https://v.qq.com/txp/iframe/player.html?vid=f3131wygxfo" allowFullScreen="true"
       我国青少年的整体视力情况不容不乐观,有数据显示,目前中国近视患者人数多达6亿,几乎占到中国总人口数量的50%,青少年近视率已经高居世界第一,教育部、国家卫健委共同起草了《综合防控儿童青少年近视实施方案(征求意见稿)》,将大力治理中小学生的近视问题。       造成近视的原因有许多,比如近距离看书、玩手机、作业量过大、小孩挑食厌食导致近视发病率提升等等。尤其是近距离看书写字是形成近视的主要原因。为了有效预防近视,我们要尽量避免长时间、近距离看书、写字,那如果避免这些情况的发生呢,于是就产生了做一个防近视笔筒的想法。
【功能描述】
       1、外形是一个笔筒,可以用于放置笔、尺子等文具。       2、自动测量学习环境的温度和湿度,并在OLED显示屏上实时显示。       3、超声波传感器随时检测人的距离,并在OLED显示屏上实时显示出来,当距离小于设定的某一值时,蜂鸣器会发出警报声,直到人与它的距离大于设定值才停止警报。
【硬件清单】       DFRduino UNO R3      1       IO 传感器扩展板 V7.1   1       DHT11温湿度传感器       1       超声波传感器                  1       I2C OLED 显示屏            1       数字蜂鸣器模块               1       杜邦线等       激光切割结构件
【结构设计与搭建】       1、激光切割件设计       我们先利用软件在电脑中设计出其外壳,并用激光切割机切割椴木板外壳。

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




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


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


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





【电路连接图】

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


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


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


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





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


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


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


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


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


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

【保护眼睛的儿歌】
保护眼睛真重要,小朋友们要记牢;
读书写字坐端正,眼睛离桌一尺遥;
走路坐车和躺着,千万不要把书瞧;
眼保健操天天做,一日两次不可少。



作者其它帖子

         ◆ 猜拳机器人
       ◆ 炫彩小夜灯        ◆ 麦昆PLUS巡线&避障       ◆ 手势控制MP3播放器&万能遥控器       ◆ 小便池自动冲洗器       ◆ 百变乐器       ◆ 留言机       ◆ 【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

好可爱                  

Anonymous 发表于 2025-3-20 14:52:04

作者大大,有没有激光雕刻的源文件啊
页: [1]
查看完整版本: 防近视笔筒