所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
#创意# 母亲节的礼物——掌控板感应灯
rzegkly rzegkly 2020-05-11 15:11:23
0
1
简单
projectImage

一、【项目介绍 】

《游子吟》

 唐•孟郊 

慈母手中线,游子身上衣。 

临行密密缝,意恐迟迟归。 

谁言寸草心,报得三春晖 。

      今天是母亲节,首先祝愿天下的母亲身体健康,事事顺心! 她们的世界越来越小,我们的世界越来越大。抽时间陪陪妈妈,让我们动动手一起制作项目母亲节的礼物——《掌控板感应灯》,让妈妈起夜更便捷!让我们一起来探索创造的乐趣吧! 

projectImage

二、【解决方案】 

1、 每当深夜妈妈起夜的时候,如果直接开灯,光线太强,影响妈妈的眼睛,通过制作感应灯方便解决这个问题;

2、 当妈妈进入人体感应传感器的检测范围时,输出高电平1,掌控板自动打开灯带灯,方便妈妈照明,

3、 当妈妈离开人体感应传感器的检测范围时,输出低电平0,掌控板自动关闭灯带灯,节约能源 。

projectImage

三、【作品演示】

材料清单 材料清单
1x
掌控板编程板
1x
掌控宝(拓展板)
1x
人体感应传感器
1x
laserMaker创立方切割套件
1x
数据线、IIC杜邦线、固定螺丝等

四、制作的过程

projectImage

(一) 编程环境

1.软件 :mPython0.3.9

2.下载:https://www.labplus.cn/software

projectImage

(二)组装 

projectImage

1. 感应灯的外壳由六块激光切割板搭建而成; 

projectImage

2.利用四个黑色卡扣分别来固定掌控板和人体感应传感器 ;

projectImage

3.接线说明:

 人体感应传感器D0接掌控宝P13;光环板IN接掌控宝P2 

(三)环境配置

projectImage
步骤1 步骤1
连接掌控板

通过数据线连接掌控板和计算机,打开mPython0.3.9,在菜单栏切换为“图形模式”下,选择连接设备:串口com17;

projectImage
步骤2 步骤2
烧录固件

烧录固件 在设置菜单中,烧录最新固件,选择一个固件掌控板官方固件(2020-01-16),确定;

projectImage
步骤3 步骤3
添加模块
projectImage

1、扩展块中添加Neopixel,添加灯带 ; 


projectImage

2、在显示块,添加母亲节图片:003.pbm 4.pbm

说明:文件菜单上传文件上传功能到掌控板。

projectImage

 3、在高级块,引脚块中添加数字接口p2 ;

projectImage
步骤4 步骤4
程序编写
projectImage

五、【项目总结】

      掌控板感应灯项目搭建方便,感应距离达到7米,灵敏度很高,作为送给妈妈的礼物,每当深夜妈妈起夜的时候,红色的感应灯点亮,方便妈妈的生活;但如果光线传感器和人体传感器配合使用,加入AI功能的掌控板2.0语音提示功能,配备太阳能电池板为感应灯提供电源,效果更好!

projectImage

六【相关资料】

代码 代码
	                    					from mpython import *

import time

import neopixel

my_rgb = neopixel.NeoPixel(Pin(Pin.P13), n=24, bpp=3, timing=1)

p2 = MPythonPin(2, PinMode.IN)

image_picture = Image()
night = 0
rgb.fill( (0, 0, 0) )
rgb.write()
time.sleep_ms(1)
while True:
    print(night)
    night = p2.read_digital()
    oled.fill(0)
    oled.blit(image_picture.load('face/003.pbm', 1), 0, 0)
    oled.blit(image_picture.load('face/4.pbm', 1), 0, 20)
    oled.show()
    if night == 1:
        my_rgb.fill( (255, 0, 0) )
        my_rgb.write()
        rgb.fill( (int(0), int(100), int(0)) )
        rgb.write()
        time.sleep_ms(1)
        time.sleep(1)
    else:
        rgb.fill( (0, 0, 0) )
        rgb.write()
        time.sleep_ms(1)
        my_rgb.fill( (0, 0, 0) )
        my_rgb.write()

	                    				
Makelog作者原创文章,未经授权禁止转载。
0
1
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]