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

上传人:b****8 文档编号:11010026 上传时间:2023-02-24 格式:DOCX 页数:13 大小:667.55KB
下载 相关 举报
媒体装置艺术设计说明1.docx_第1页
第1页 / 共13页
媒体装置艺术设计说明1.docx_第2页
第2页 / 共13页
媒体装置艺术设计说明1.docx_第3页
第3页 / 共13页
媒体装置艺术设计说明1.docx_第4页
第4页 / 共13页
媒体装置艺术设计说明1.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

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

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

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

媒体装置艺术设计说明1

媒体装置艺术-设计说明

(1)

第一章新媒体装置艺术1

1.1作品设计的意义1

1.2作品主要内容1

1.3制作方法及流程2

1.4成果2

1.5价值和影响2

1.6创新点3

第二章结论3

2.1技术层面3

2.2艺术层面3

2.3不足及展望4

谢辞4

参考文献4

附录4

图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-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1