《媒体装置艺术-设计说明》由会员分享,可在线阅读,更多相关《媒体装置艺术-设计说明(10页珍藏版)》请在金锄头文库上搜索。
1、目录第一章 新媒体装置艺术11.1作品设计的意义11.2作品主要内容1 1.3制作方法及流程21.4成果2 1.5价值和影响21.6创新点3第二章 结论32.1技术层面32.2艺术层面32.3不足及展望4谢辞4参考文献4附录4源程序5接线图8第一章 新媒体装置艺术1.1作品设计的意义这个作品是一个可以根据温度的变化,然后颜色产生变化的智能水杯。这样就可以准确的测出水温的范围,减少喝水的人被热水烫到的可能性。而且彩色的灯光也能让使用者觉得新颖,从而喜欢上喝水。1.2作品主要内容当水杯中水的温度在小于31摄氏度时,杯子就会发出蓝色的光。因为这个温度低于人体温度,所以在颜色的选择上就会使用冷色光。当
2、温度在32摄氏度到40摄氏度之间的时候,杯子就会发出黄色的光。当温度超过40摄氏度时,杯子就会发出红色的光。因为这时的温度,有可能会烫伤喝水的人,所以杯子会发出红光去提醒喝水的人,要注意水的温度。1.3制作方法及流程这个作品使用到的元器件有:Arduino开发板、跳线、面包板、470欧姆电阻、红色LED小灯泡、黄色LED小灯泡、蓝色LED小灯泡、lm35温度传感器。首先,我在网上查找关于这个实验的代码,和需要用到的温度传感器。因为实验盒里没有温度传感器,所以我在网上购买了lm35温度传感器。因为想将灯的闪烁形式变成呼吸灯的形式,所以对网上查到的代码进行了修改,运用了呼吸函数。然后就到了制作阶段
3、,需要先将所有元器件都连接起来。如下图11所示。图11当把元器件都接起来之后,就要开始对程序进行编辑。一开始灯的闪烁形式是常亮的状态。但是发现在转换灯颜色的时候会有轻微的闪烁。所以就想着将灯变成呼吸灯的闪烁模式,这样会更加吸引使用杯子的人。在对代码进行编辑完成之后,就要将代码传输到Arduino开发板上进行测试。一开始,灯的颜色没有变化,以为是程序出了问题。后来打开端口监视器一看,原来是水的温度没有达到要求。因为串口监视器上,可以直观的看到温度的变化,和当下的温度值是多少。知道了这个问题之后,就测试成功了。1.4成果这个作品成果是一个会随着温度变化,随之发出不同颜色光的水杯。这样可以有效的方式
4、使用者喝水的时候被开水烫伤。对于杯子上方的圆点是想做出透光效果,从而更加炫目。成果图如图1-2所示。图1-21.5价值和影响对于刚上小学的孩子,他们在学校喝水的时候有可能因为着急,从而不去试一试水温再喝水。这样就容易发生被开水烫伤的可能性。如果用了这个杯子,看到杯子上红灯亮起来的时候,这个时候使用杯子的人就会注意到杯子里水的温度,从而可以减少被开水烫伤的可能性。如果孩子有了这样一个智能水杯,家长也不用担心孩子容易被开水烫伤了。1.6创新点从外形上来说,在杯子的上方,有一些透光的小孔。这些小孔可以更好的透出小灯泡发出的光,这样可以让杯子更加绚丽,让使用者喜欢上用这个水杯喝水。在灯泡的闪烁形式上来
5、说,是采用的呼吸灯的形式。这样的形式比常亮的形式,更加吸引用户。第二章 结论2.1技术层面这个作品是通过Arduino开发版来完成的,先在Arduino软件中编辑程序,再传入开发板,接下来把线路连接正确。就可以实现想要的效果了。Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件和软件。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用 Arduino编程语言和Arduino开发环境来实现的。基于Arduino的项
6、目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信来实现。2.2艺术层面因为制作的是一个可以测量水温的智能水杯,所以这个装置在包装上还是采用的杯子的原型。但是这个杯子的形状是与普通水杯有区别的。这个杯子的中间部分是突出的,这样做的目的,是想将杯子做成双层的,中间突出的部分可以将装置放入,也可以避免用户将手烫伤。在杯子的上半部分有一些镂空的小孔,是为了让杯子的透光性更好。给人一种不一样的设计感觉。随着用户在喝水的同时,看着灯光的闪烁,心情也会随之愉悦一些。在这个作品中,智能水杯是用两个透明一次性纸杯做成的。如果直接用透明纸杯的话,会看见里面的装置
7、,所以在做的时候,在透明纸杯的外面涂上了丙烯,这样透光性不会太好也不会太差,给人一种朦胧的感觉。2.3不足及展望在这个作品当中,测量温度的温度段,只有三段,如果能有更多的温度段的话,就可以让温度测量的更加具体。这样,可以让使用者更加了解杯子里水温的状况,会更加方便一些。在杯子的外形上,可以采用磨砂玻璃的,这样透光性会好,而且会有一种朦胧感。这个作品可以在生活中,给年龄小一些的孩子,这样可以防止他们被开水烫伤的可能性,可以让他们觉得,其实喝水也是一件很开心的事。谢辞在此,我要特别感谢,教这门课的胡鹏老师。胡老师导我们如何去编写程序,并且告诉我们每句代码的含义是什么,方便我们去理解和学习。胡老师还
8、教会了我们如何连接电路,应该怎么去区分正负极,还有Arduino版上端口与端口之间的区别。此外,还要感谢我身边的朋友和同学,感谢他们在制作过程中对我的指导、帮助和支持,感谢他们的宝贵建议,感谢所有关心、支持、帮助过我的良师益友。参考文献1Arduino百度百科.j2极客工坊.j附录源程序#define R_LIGHT 9 #define G_LIGHT 10#define B_LIGHT 11 / #define 是C 中用来定义宏的语法,定义三个灯的端口#define FADE_STEP 5 / 这是呼吸灯光线变强变弱的单位数,可以调节,越小,光线的变化越细腻#define FADE_TIM
9、E 30 /30msint rgb_value3;/ 这是一个数组,用来存储每次R/G/B_LIGHT三个灯的亮度值void init_rgb_value() rgb_value0 = 0; rgb_value1 = 0; rgb_value2 = 0;/这个函数是在setup中,把上面声明的数组, 初始化一下,都变成0void init_rgb() analogWrite(R_LIGHT, rgb_value0); analogWrite(G_LIGHT, rgb_value1); analogWrite(B_LIGHT, rgb_value2);/模拟量的写入void fade_on(in
10、t port) int v; if(port = R_LIGHT) v = 0; else if(port = G_LIGHT) v = 1; else if(port = B_LIGHT) v = 2; for (int fadeValue = rgb_valuev; fadeValue = 0; fadeValue -= FADE_STEP) analogWrite(port, fadeValue); delay(FADE_TIME); rgb_valuev = 0;/呼吸灯慢慢变暗void fade_flash(int port) /不停的呼吸效果 fade_on(port); fade
11、_off(port); void direct_fade_off(int port) /呼吸函数,直接变暗 int v; if(port = R_LIGHT) v = 0; else if(port = G_LIGHT) v = 1; else if(port = B_LIGHT) v = 2; analogWrite(port, 0); rgb_valuev = 0; void direct_fade_on(int port) /呼吸函数,直接变暗 int v; if(port = R_LIGHT) v = 0; else if(port = G_LIGHT) v = 1; else if(
12、port = B_LIGHT) v = 2; analogWrite(port, 255); rgb_valuev = 0xff;void turn_off(int port) /直接关灯函数 direct_fade_off(port); void turn_on(int port) /直接开灯函数 direct_fade_on(port); void setup() pinMode(R_LIGHT,OUTPUT); pinMode(G_LIGHT,OUTPUT); pinMode(B_LIGHT,OUTPUT);/ /3个端口初始化为OUTPUT(输出) init_rgb_value(); init_rgb(); Serial.begin(9600); /串口初始化,9600波特率void check_temp_loop()/读温度传感器 int vol = analogRead(A0)*(5.0/1023.0*100); Serial.println(vol); /串口输出当前读取的值 if(vol = 32 & vol =41) turn_off(B_LIGHT); turn_off(G_LIGHT); fade_flash(R_LIGHT); void loop() check_temp_loop();/不停的