6537| 3
|
[项目] 【掌控】2019年倒计时之新年心声 |
新年好呀 新年好呀 祝贺大家新年好 我们唱歌 我们跳舞 祝贺大家新年好 新的一年,做开心的自己,距2019新年的脚步越来越近了,让我们一起设计一个新年倒计时器来装点2018年的回忆! 春节是中国最富有特色的传统节日,中国人过春节已超过4000多年的历史,关于春节的起源有多种说法,但其中普遍接受的说法是春节由虞舜时期兴起。春节一般指正月初一,是一年的第一天,又叫阴历年,俗称“过年”;但在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九,其中以除夕和正月初一为高潮。 一、作品介绍 作品《2019年倒计时之新年心声》,即当时间2019年2月5日,0时0分0秒到来时,播放音乐《新年好》,同时180个彩灯被掌控板点亮,利用声光电相互结合,烘托出节日气氛,激发对传统文化的热爱! 二、作品的制作步骤 (一)、硬件: 1、掌控板V1.0为主控板、 2、micro:bit电机驱动扩展板 3、炫彩 WS2812 LED灯带(3m) 4、灯带转接头 5、Usb数据线 6、USB转DC 2.1转接线 (二)、软件: http://static.steamaker.cn/files/mPython2_0.2.4_win64.exe (三)、模块介绍 新年倒计时器分四个模块 1、主界面:距2019年新年还有X天X时X分X秒 2、进入新年模块:2019新年快乐!新春吉祥万事如意 3、音乐模块音乐播放《新年好》 新年好编辑代码 = ['c4:2','c','c4:4','g5:4', 'e4:2','e','e4:4','c', 'c4:2','e','g4:4','g', 'f4:2','e','d4:8','d4:2','e4', 'f4:4','f','e4:2','d','e4:4','c','c4:2','e','g4:4','g5:4','b5:2','d4:2','c4:8'] 4、灯光模块:180个LED点亮 #定义引脚 p8 = machine.Pin(26) p13 = machine.Pin(18) p14 = machine.Pin(19) p15 = machine.Pin(21) p16 = machine.Pin(5)np = neopixel.NeoPixel(p15, n=180, bpp=3, timing = 1) # 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率 np.fill((255, 0, 0)) # 填充所有LED像素 r g b 取值0-255 np.write() 5、网络模块:ntp网络 (四)、代码编写 [mw_shl_code=applescript,true]from mpython import * import ntptime import time import music import machine, neopixel p8 = machine.Pin(26) p13 = machine.Pin(18) p14 = machine.Pin(19) p15 = machine.Pin(21) p16 = machine.Pin(5) mylist = ['c4:2','c','c4:4','g5:4', 'e4:2','e','e4:4','c', 'c4:2','e','g4:4','g', 'f4:2','e','d4:8','d4:2','e4', 'f4:4','f','e4:2','d','e4:4','c','c4:2','e','g4:4','g5:4','b5:2','d4:2','c4:8'] mywifi=wifi() mywifi.connectWiFi("XXXXXXX","XXXXXXX") # WiFi设置 try: ntptime.settime() except OSError : oled.DispChar("ntp链接超时,请重启!",0,20) oled.show() else: ntptime.settime() newYear_ticks=time.mktime((2019,2,5,0,0,0,0,0)) while True: tickDiff=time.ticks_diff(newYear_ticks,time.time()) if tickDiff>=0: day=tickDiff//(60*60*24) hour=tickDiff%(60*60*24)//(60*60) min=tickDiff%(60*60*24)%(60*60)//60 sec=tickDiff%(60*60*24)%(60*60)%60 oled.fill(0) oled.DispChar("距2019年新年还有",15,15) oled.DispChar("%d天%d时%d分%d秒" %(day,hour,min,sec),25,35) oled.show() print("剩余:%d天,%d小时,%d分,%d秒" %(day,hour,min,sec)) sleep(1) else: np = neopixel.NeoPixel(p15, n=180, bpp=3, timing = 1) # 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率 np.fill((255, 0, 0)) # 填充所有LED像素 r g b 取值0-255 np.write() display.fill(0) oled.DispChar('2019新年快乐!',24,16) oled.DispChar('新春吉祥万事如意',16,32) oled.show() rgb[0]=((255,0,0)) rgb[1]=((0,255,0)) rgb[2]=((0,0,255)) rgb.write() music.play(mylist) [/mw_shl_code] (五)、实物连线图 (六)、工作原理图(七)、电路图 三、知识拓展 1、乐理知识 音阶由数字表示。0是最低阶,3代表低音阶,4代表中音阶,5代表高音阶,8是最高音阶。 例如: c4:4 c 对应 1 do, 4 对应中音 ,第二个4 对应 1拍 g4:8 g 对应 6 la , 4 对应中音 , 8 对应 2拍 2、掌控板 掌控板由创客教育知名品牌Labplus盛思设计、制造与发行是国内第一款专为编程教育而设计的开源硬件! 掌控是 一块普及STEAM创客教育、人工智能教育、编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED显示屏、RGB灯、加速度计、麦克风、光线传感器、蜂鸣器、按键开关、触摸开关、金手指外部拓展接口,支持图形化及python代码编程,可实现智能机器人、创客智造作品等智能控制类应用。 3、micro:bit电机驱动扩展板 micro:bit电机驱动扩展板不仅引出了9个micro:bit板载GPIO接口,还搭载了4路电机驱动和8个舵机接口,其中4路电机驱动可复用为2路步进电机驱动。 micro:bit电机驱动扩展采用IIC外扩驱动芯片的方式控制电机和舵机,仅占用IIC两个管脚,不占用其他资源,即可完成电机与舵机的双重控制。采用HR8833电机驱动,最大持续工作电流1.5A,可驱动普通小型马达和N20微型金属电机,每一个电机端口还带有正反转指示灯,方便识别电机运行方向,非常适用于学生和创客的一些小制作。扩展的GPIO口和舵机接口均采用DFRobot_Gravity标准接口,支持支持数量众多的模块和传感器,舵机接口更是直接与Vin电源相连,增加供电电流便可支持多个舵机同时工作。扩展板支持3.5V~5.5V电源供电,提供DC2.1插头和接线端子两种电源接口方式,可直接接3节干电池盒。产品附带一根USB转DC2.1转接线,可使用充电宝供电,更加经济环保。 4、WS2812 LED灯带 灯带中一个IC控制一颗LED组成一个回路(一组),控制器通过控制IC对FPCB里面的电路进行控制,从而控制LED灯条变化不同的效果;如闪烁,追逐,跳变,顺时针跑马,逆时针跑马,单色跑马,变色跑马,单颗追逐从头到尾,流水,模拟闪电等 此款灯条的变化效果不限于目前控制器内置的94种效果,可以根据用户需要,自行编写;排成屏的形式可以显示,文字,字母,图片,动画,等等。 环保安全:采用优质高亮SMD5050 LED。具有耗电小、产生热量小、无眩光,耐冲击等特点。低电压直流5V,12伏供电,安全可靠性高。 色彩丰富多样可根据客户需要通过控制器任意调节。平均寿命达5万小时 四、视频回放 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed