川山甲的壳 发表于 2018-6-21 10:31:46

我的灯笼会唱歌

我的灯笼会唱歌
一盏小灯,不能满足你的大House,却能,满足你的心灵。当我第一次见到“它”的时候,以为它就是一个储物盒。因为看了爱奇艺IP大剧《冒险王卫斯理之支离人》,觉得里面的古盒承包了整部剧“最精致”(反话)的镜头。
后面发现朋友做了一个六边形的音乐灯笼和它有点相似,于是就借来玩一玩。
                                                                                             
看外形除了同是六边形,其他地方没有什么和古盒相似。虽然是这样的结果,我还是手贱的拆了它。拆开后,发现做一盏音乐灯笼,需要以下材料:
喇叭×1(某宝)Dreamer Nano V4.0×1数字触摸开关Touch ×1Voice Module 语音模块×1RGB 背光板 ×6铜箔(某宝)
因为灯笼的体积较小巧,所以选用了DreamerNano V4.0主板。Dreamer Nano V4.0 是一款基于Arduino Leonardo的小尺寸Leonardo控制板,兼容Leonardo的全部功能,在接口上面采用了和手机通用的micro USB接口。使用起来更加方便。
为了给灯笼增加点生命力,可以说是“绞尽脑汁”啊。将数字触摸开关和声音模块相结合;通过触摸开关,我的灯笼就会唱歌了。数字触摸开关Touch触摸开关是基于电容感应原理,就算隔着塑料,玻璃等材料也能被感应到,其感应灵敏度随着接触面的大小和覆盖材料的厚度而变化。为了方便触摸,用一根线引出来,接在用铜箔做的灯穗上,这样一触摸灯穗,就能播放音乐了。听说DIY和音乐很配哦。所以每次当我DIY制作时,我都会加上音乐。以前我加音乐的方式,就是手机播放音乐。而现在有了音效模块,就可以淘汰到手机了。

音效模块此模块可以储存8M的音效文件,可以存放200多个音效,它的储存方式简单;使用简单,运用DF gravity接口,减少了接线的麻烦;在播放上可以指定播放,循环播放,还可以调节音乐的大小。
后面就要介绍灯笼的灵魂配件了,那就是RGB 背光板。将有黑边这面朝上摆放,从左到右一次为:红(电源负极),电源正极,绿(电源负极),蓝(电源负极)。
想要相应的颜色,就接相应的引脚。当三个引脚同时接电源负极的时候,显示为白色。同时还可能通过编程,显示多种颜色。灯笼一共采用6块RGB 背光板,然后将6块RGB 背光板分成A,B两组,当音乐响起的时候,可以交叉显示不同的颜色。(视频如下)https://v.youku.com/v_show/id_XMzU5MjIxMTk4OA==.html?spm=a2hzp.8244740.0.0
【连线图】

线虽多,但是连接的时候很简单。

俗话说:好马配好鞍,一盏好看的灯笼肯定要配一根好看的灯笼提手了。所以我就找了一张过年剩下的福字,卷了一根提手。
而长得像六边形的这个外壳,则是3D打印的。不方便打印的小伙伴,可以自己发挥想象力,用一些替代品,比如说硬纸板之类的。【成品图】【程序代码】const int buttonPin = 12;
int buttonState = 0;
int analogPin = 2;
int busy = 0;
int randNumber;
int ar=0;
int ag=0;
int ab=0;
int br=0;
int bg=0;
int bb=0;
unsigned char order = {0xAA,0x06,0x00,0xB0};
void volume( unsigned char vol)
{
unsigned char volume = {0xAA,0x13,0x01,vol,vol+0xBE};
Serial1.write(volume,5);
}
void A(int ar,int ag,int ab)
{
analogWrite(3,(255-ar));
analogWrite(5,(255-ag));
analogWrite(6,(255-ab));
}
void B(int br,int bg,int bb)
{
analogWrite(9,(255-br));
analogWrite(10,(255-bg));
analogWrite(11,(255-bb));
}
void play(unsigned char Track)
{
unsigned char play = {0xAA,0x07,0x02,0x00,Track,Track+0xB3};
Serial1.write(play,6);
}
void setup()
{
Serial1.begin(9600);
pinMode(analogPin,INPUT);
pinMode(3,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
volume(0x1E);//音量设置0x00-0x1E
}


void loop()
{
buttonState = digitalRead(buttonPin);
if(buttonState == HIGH){
    play(0x04);
    show1();
    delay(1000);
}
A(255,0,0);
B(255,0,0);
}

void show()
{
for(int a=0; a<7;a++){                //循环语句,控制PWM亮度的增加
    A(255,0,0);
    B(200,0,0);
    delay(300);
    A(0,200,0);
    B(0,255,0);
    delay(300);
    A(0,0,255);
    B(0,0,200);
    delay(300);                                    
}
}
void show1()
{
volume(0x1E);//音量设置0x00-0x1E
for(int a=0; a<9;a++){
    A(255,0,0);
    delay(100);
    B(0,255,0);
    delay(300);
    A(255,0,255);   
    delay(100);
    B(0,0,255);
    delay(300);
    A(255,0,0);
    delay(100);
    B(0,0,255);
    delay(300);
    A(0,255,255);
    B(255,255,0);
    A(0,0,255);
    B(255,255,255);
    delay(300);
    A(200,105,0);
    B(70,0,50);
    delay(300);
    A(50,100,60);
    B(0,200,50);
    delay(300);
    A(0,105,255);
    B(70,200,0);
    delay(300);
    A(255,255,255);
    B(255,0,0);
    delay(300);   
}
}
【打印文件】

rzyzzxw 发表于 2018-6-21 12:25:06

老师666

dt 发表于 2018-6-21 21:49:27

背光板 又学到一招。触摸传感器的应用,眼前一亮 赞一个

跑跑-1 发表于 2018-7-26 14:59:50

{:5_124:}:o:))

DFr1LMdSSxm 发表于 2018-9-4 23:35:56

老师,请问用mixly能用吗?

川山甲的壳 发表于 2018-9-5 09:37:27

DFr1LMdSSxm 发表于 2018-9-4 23:35
老师,请问用mixly能用吗?

用mixly做什么?

DFr1LMdSSxm 发表于 2018-9-5 10:28:10

川山甲的壳 发表于 2018-9-5 09:37
用mixly做什么?

做一个从语音模块中提取固定语音的实验,面对小学生,所以用mixly

DFr1LMdSSxm 发表于 2018-9-5 10:32:33

DFr1LMdSSxm 发表于 2018-9-5 10:28
做一个从语音模块中提取固定语音的实验,面对小学生,所以用mixly

ProductLink Voice Module 语音模块

川山甲的壳 发表于 2018-9-11 11:42:40

DFr1LMdSSxm 发表于 2018-9-5 10:32
ProductLink Voice Module 语音模块

也是可以的。虽然我没试过,但是你们可以试一试:lol:))

川山甲的壳 发表于 2020-10-14 17:28:55

川山甲的壳 发表于 2018-9-11 11:42
也是可以的。虽然我没试过,但是你们可以试一试:lol:))

用mind+图形化编程可以做的!

赤星三春牛! 发表于 2022-3-10 22:03:25

哇哇哇哇哇哇哇哇

赤星三春牛! 发表于 2022-3-10 22:23:57

厉害厉害

赤星三春牛! 发表于 2022-3-12 14:35:26

背光板怎么用?

赤星三春牛! 发表于 2022-3-12 14:37:47

怎么接到Arduino UNO的V7扩展板上?

赤星三春牛! 发表于 2022-3-12 14:42:35

电源正接正极,剩下的三个引脚怎么接?接负极还是数据?可不可以用PWM输出来更换颜色?

赤星三春牛! 发表于 2022-3-12 14:44:05

发一下接线图,谢谢

赤星三春牛! 发表于 2022-3-12 14:48:01

66666666666

赤星三春牛! 发表于 2022-3-12 14:49:03

想买背光板,但是不知道怎么用mind+编程,不知道怎么接Arduino UNO 接线。

川山甲的壳 发表于 2022-4-24 16:55:58

赤星三春牛! 发表于 2022-3-12 14:37
怎么接到Arduino UNO的V7扩展板上?

这个没有研究过,不能给你很好的建议

川山甲的壳 发表于 2022-4-24 16:57:28

赤星三春牛! 发表于 2022-3-12 14:42
电源正接正极,剩下的三个引脚怎么接?接负极还是数据?可不可以用PWM输出来更换颜色? ...

可以啊。可以把RGB三个脚,分别接在不同pwm脚上试一试

赤星三春牛! 发表于 2022-4-24 22:08:15

川山甲的壳 发表于 2022-4-24 16:57
可以啊。可以把RGB三个脚,分别接在不同pwm脚上试一试

谢谢!!
页: [1]
查看完整版本: 我的灯笼会唱歌