2019-1-12 14:51:06 [显示全部楼层]
4217浏览
查看: 4217|回复: 1

[入门教程] 物联网------2019声控音乐灯笼

[复制链接]
本帖最后由 rzegkly 于 2019-1-12 22:49 编辑

物联网------2019声控音乐灯笼图1
一阳初夏中大吕,谷粟为粥和豆煮。
应时献佛矢心虔,默祝金光济众普。
盈几馨香细细浮,堆盘果蔬纷纷聚。
共尝佳品达沙门,沙门色相传莲炬。
童稚饱腹庆州平,还向街头击腊鼓。
     腊八节,俗称“腊八” ,冬至后第三个戌日,即农历十二月初八,古人有祭祀祖先和神灵的祭祀仪式,祈求丰收和吉祥。明天就是腊八节了,读了裘炯涛老师的文章,我被深深的吸引了,于是制作一个《2019声控音乐灯笼》作品分享给大家!
一、工作原理:
物联网------2019声控音乐灯笼图2
1. 通过手机Blynk App,创建组件;
2. 在Blynk物联网服务器平台注册个人用户;
3. Mixly For IoT图形化物联网编程软件编写代码;
4. Blynk物联网开发平台与掌控板实现数据通信;
二、作品思路
1、通过手机Blynk App发出“红灯笼”,掌控板点亮灯带,播放《Happy New Year》;
2、通过手机Blynk App发出“绿灯笼”,掌控板点亮灯带,播放《Wedding》;
3、通过手机Blynk App发出“蓝灯笼”,掌控板点亮灯带,播放《Birthday》;
物联网------2019声控音乐灯笼图4
三、代码编写
[mw_shl_code=python,true]import network,BlynkLib,time,music
from mpython import *
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']
oled.fill(0)
oled.DispChar('2019声控音乐灯笼', 16, 16)
oled.show()
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
  print('connecting to network...')
  wlan.connect('XXXXXXX', 'XXXXXXX')   #wifi信息
  while not wlan.isconnected():
    pass
print('network config:', wlan.ifconfig())#输出wifi连接信息
BLYNK_AUTH = 'XXXXXXX29'#Blynk授权码
blynk = BlynkLib.Blynk(BLYNK_AUTH)# 初始化Blynk连接
@blynk.VIRTUAL_WRITE(0)
def v0_write_handler(value):#从Blnyk的V0管脚获取文本
        if value[0]=="红灯笼。":
                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)
                music.play(mylist)
        elif value[0]=="绿灯笼。":
                np = neopixel.NeoPixel(p15, n=180, bpp=3, timing = 1)
                # 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率
                np.fill((0,255, 0))  # 填充所有LED像素 r g b 取值0-255
                np.write()
                music.play(music.WEDDING)
        elif value[0]=="蓝灯笼。":
                np = neopixel.NeoPixel(p15, n=180, bpp=3, timing = 1)
                # 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率
                np.fill((0, 0, 180))  # 填充所有LED像素 r g b 取值0-255
                np.write()
                music.play(music.BIRTHDAY)
        elif value[0]=="关灯。":
                np = neopixel.NeoPixel(p15, n=180, bpp=3, timing = 1)
                # 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率
                np.fill((0, 0, 0))  # 填充所有LED像素 r g b 取值0-255
                np.write()      
while True:
        blynk.run()#一直运行blynk
        pass
[/mw_shl_code]
物联网------2019声控音乐灯笼图5
四、知识拓展
1、授权码(Auth Token)
     授权码是手机连接硬件需要用到的一个唯一的认证码。每一个新创建的项目都会自动生成一个授权码,该授权码会自动发送到你的邮箱,当然也可以在手机端的项目设置页面中复制授权码。
物联网------2019声控音乐灯笼图6
2、Blynk
    Blynk是iot应用物联网开发平台,支持的硬件平台多,代码部署简单,而且函数调用接口也是统一的,硬件端只需要设置认证字符串,然后Blynk.begin和Blynk.run就可以运行了,用户不需要关心通信协议问题,上手容易。
3、搭建环境   请参考裘炯涛老师教程   https://mc.dfrobot.com.cn/forum.p ... 3946&fromuid=820560
物联网------2019声控音乐灯笼图3

五、视频回放

rzyzzxw  版主

发表于 2019-1-13 09:36:06

康老师教程质量很高啊。
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail