媒体装置艺术设计说明1.docx

上传人:b****8 文档编号:12398528 上传时间:2023-06-05 格式:DOCX 页数:11 大小:641.79KB
下载 相关 举报
媒体装置艺术设计说明1.docx_第1页
第1页 / 共11页
媒体装置艺术设计说明1.docx_第2页
第2页 / 共11页
媒体装置艺术设计说明1.docx_第3页
第3页 / 共11页
媒体装置艺术设计说明1.docx_第4页
第4页 / 共11页
媒体装置艺术设计说明1.docx_第5页
第5页 / 共11页
媒体装置艺术设计说明1.docx_第6页
第6页 / 共11页
媒体装置艺术设计说明1.docx_第7页
第7页 / 共11页
媒体装置艺术设计说明1.docx_第8页
第8页 / 共11页
媒体装置艺术设计说明1.docx_第9页
第9页 / 共11页
媒体装置艺术设计说明1.docx_第10页
第10页 / 共11页
媒体装置艺术设计说明1.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

媒体装置艺术设计说明1.docx

《媒体装置艺术设计说明1.docx》由会员分享,可在线阅读,更多相关《媒体装置艺术设计说明1.docx(11页珍藏版)》请在冰点文库上搜索。

媒体装置艺术设计说明1.docx

媒体装置艺术设计说明1

第一章新媒体装置艺术

1.1作品设计的意义

这个作品是一个可以根据温度的变化,然后颜色产生变化的智能水杯。

这样就可以准确的测出水温的范围,减少喝水的人被热水烫到的可能性。

而且彩色的灯光也能让使用者觉得新颖,从而喜欢上喝水。

1.2作品主要内容

当水杯中水的温度在小于31摄氏度时,杯子就会发出蓝色的光。

因为这个温度低于人体温度,所以在颜色的选择上就会使用冷色光。

当温度在32摄氏度到40摄氏度之间的时候,杯子就会发出黄色的光。

当温度超过40摄氏度时,杯子就会发出红色的光。

因为这时的温度,有可能会烫伤喝水的人,所以杯子会发出红光去提醒喝水的人,要注意水的温度。

1.3制作方法及流程

这个作品使用到的元器件有:

Arduino开发板、跳线、面包板、470欧姆电阻、红色LED小灯泡、黄色LED小灯泡、蓝色LED小灯泡、lm35温度传感器。

首先,我在网上查找关于这个实验的代码,和需要用到的温度传感器。

因为实验盒里没有温度传感器,所以我在网上购买了lm35温度传感器。

因为想将灯的闪烁形式变成呼吸灯的形式,所以对网上查到的代码进行了修改,运用了呼吸函数。

然后就到了制作阶段,需要先将所有元器件都连接起来。

如下列图1—1所示。

图1—1

当把元器件都接起来之后,就要开始对程序进行编辑。

一开始灯的闪烁形式是常亮的状态。

但是发现在转换灯颜色的时候会有轻微的闪烁。

所以就想着将灯变成呼吸灯的闪烁模式,这样会更加吸引使用杯子的人。

在对代码进行编辑完成之后,就要将代码传输到Arduino开发板上进行测试。

一开始,灯的颜色没有变化,以为是程序出了问题。

后来打开端口监视器一看,原来是水的温度没有到达要求。

因为串口监视器上,可以直观的看到温度的变化,和当下的温度值是多少。

知道了这个问题之后,就测试成功了。

1.4成果

这个作品成果是一个会随着温度变化,随之发出不同颜色光的水杯。

这样可以有效的方式使用者喝水的时候被开水烫伤。

对于杯子上方的圆点是想做出透光效果,从而更加炫目。

成果图如图1-2所示。

图1-2

1.5价值和影响

对于刚上小学的孩子,他们在学校喝水的时候有可能因为着急,从而不去试一试水温再喝水。

这样就容易发生被开水烫伤的可能性。

如果用了这个杯子,看到杯子上红灯亮起来的时候,这个时候使用杯子的人就会注意到杯子里水的温度,从而可以减少被开水烫伤的可能性。

如果孩子有了这样一个智能水杯,家长也不用担忧孩子容易被开水烫伤了。

1.6创新点

从外形上来说,在杯子的上方,有一些透光的小孔。

这些小孔可以更好的透出小灯泡发出的光,这样可以让杯子更加绚丽,让使用者喜欢上用这个水杯喝水。

在灯泡的闪烁形式上来说,是采用的呼吸灯的形式。

这样的形式比常亮的形式,更加吸引用户。

第二章结论

2.1技术层面

这个作品是通过Arduino开发版来完成的,先在Arduino软件中编辑程序,再传入开发板,接下来把线路连接正确。

就可以实现想要的效果了。

Arduino是一款便捷灵活、方便上手的开源电子原型平台。

包含硬件和软件。

Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。

板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。

对Arduino的编程是利用Arduino编程语言和Arduino开发环境来实现的。

基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信来实现。

2.2艺术层面

因为制作的是一个可以测量水温的智能水杯,所以这个装置在包装上还是采用的杯子的原型。

但是这个杯子的形状是与普通水杯有区别的。

这个杯子的中间部分是突出的,这样做的目的,是想将杯子做成双层的,中间突出的部分可以将装置放入,也可以防止用户将手烫伤。

在杯子的上半部分有一些镂空的小孔,是为了让杯子的透光性更好。

给人一种不一样的设计感觉。

随着用户在喝水的同时,看着灯光的闪烁,心情也会随之愉悦一些。

在这个作品中,智能水杯是用两个透明一次性纸杯做成的。

如果直接用透明纸杯的话,会看见里面的装置,所以在做的时候,在透明纸杯的外面涂上了丙烯,这样透光性不会太好也不会太差,给人一种朦胧的感觉。

2.3不足及展望

在这个作品当中,测量温度的温度段,只有三段,如果能有更多的温度段的话,就可以让温度测量的更加具体。

这样,可以让使用者更加了解杯子里水温的状况,会更加方便一些。

在杯子的外形上,可以采用磨砂玻璃的,这样透光性会好,而且会有一种朦胧感。

这个作品可以在生活中,给年龄小一些的孩子,这样可以防止他们被开水烫伤的可能性,可以让他们觉得,其实喝水也是一件很开心的事。

谢辞

在此,我要特别感谢,教这门课的胡鹏老师。

胡老师导我们如何去编写程序,并且告诉我们每句代码的含义是什么,方便我们去理解和学习。

胡老师还教会了我们如何连接电路,应该怎么去区分正负极,还有Arduino版上端口与端口之间的区别。

此外,还要感谢我身边的朋友和同学,感谢他们在制作过程中对我的指导、帮助和支持,感谢他们的珍贵建议,感谢所有关心、支持、帮助过我的良师益友。

参考文献

[1]ArduinoXX百科.[j]

[2]极客工坊.[j]

附录

源程序

#defineR_LIGHT9

#defineG_LIGHT10

#defineB_LIGHT11//#define是C中用来定义宏的语法,定义三个灯的端口

#defineFADE_STEP5//这是呼吸灯光线变强变弱的单位数,可以调节,越小,光线的变化越细腻

#defineFADE_TIME30//30ms

intrgb_value[3];//这是一个数组,用来存储每次R/G/B_LIGHT三个灯的亮度值

voidinit_rgb_value()

{

rgb_value[0]=0;

rgb_value[1]=0;

rgb_value[2]=0;//这个函数是在setup中,把上面声明的数组,初始化一下,都变成0

}

voidinit_rgb()

{

analogWrite(R_LIGHT,rgb_value[0]);

analogWrite(G_LIGHT,rgb_value[1]);

analogWrite(B_LIGHT,rgb_value[2]);//模拟量的写入

}

voidfade_on(intport)

{

intv;

if(port==R_LIGHT)

v=0;

elseif(port==G_LIGHT)

v=1;

elseif(port==B_LIGHT)

v=2;

for(intfadeValue=rgb_value[v];fadeValue<=0xff;fadeValue+=FADE_STEP){

analogWrite(port,fadeValue);

delay(FADE_TIME);

}

rgb_value[v]=0xff;//呼吸灯慢慢变亮

}

voidfade_off(intport)

{

intv;

if(port==R_LIGHT)

v=0;

elseif(port==G_LIGHT)

v=1;

elseif(port==B_LIGHT)

v=2;

for(intfadeValue=rgb_value[v];fadeValue>=0;fadeValue-=FADE_STEP){

analogWrite(port,fadeValue);

delay(FADE_TIME);

}

rgb_value[v]=0;//呼吸灯慢慢变暗

}

voidfade_flash(intport)//不停的呼吸效果

{

fade_on(port);

fade_off(port);

}

voiddirect_fade_off(intport)//呼吸函数,直接变暗

{

intv;

if(port==R_LIGHT)

v=0;

elseif(port==G_LIGHT)

v=1;

elseif(port==B_LIGHT)

v=2;

analogWrite(port,0);

rgb_value[v]=0;

}

voiddirect_fade_on(intport)//呼吸函数,直接变暗

{

intv;

if(port==R_LIGHT)

v=0;

elseif(port==G_LIGHT)

v=1;

elseif(port==B_LIGHT)

v=2;

analogWrite(port,255);

rgb_value[v]=0xff;

}

voidturn_off(intport)//直接关灯函数

{

direct_fade_off(port);

}

voidturn_on(intport)//直接开灯函数

{

direct_fade_on(port);

}

 

voidsetup()

{

pinMode(R_LIGHT,OUTPUT);

pinMode(G_LIGHT,OUTPUT);

pinMode(B_LIGHT,OUTPUT);////3个端口初始化为OUTPUT(输出)

init_rgb_value();

init_rgb();

Serial.begin(9600);//串口初始化,9600波特率

}

voidcheck_temp_loop()//读温度传感器

{

intvol=analogRead(A0)*(5.0/1023.0*100);

Serial.println(vol);//串口输出当前读取的值

if(vol<=31)

{

fade_flash(B_LIGHT);

turn_off(R_LIGHT);

turn_off(G_LIGHT);

}

elseif(vol>=32&&vol<=40)

{

turn_off(B_LIGHT);

fade_flash(G_LIGHT);

turn_off(R_LIGHT);

}

elseif(vol>=41)

{

turn_off(B_LIGHT);

turn_off(G_LIGHT);

fade_flash(R_LIGHT);

}

}

voidloop(){

check_temp_loop();//不停的运行这个函数到达不停的读取温度变化的功能

}

接线图

图5-1

图5-2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2