1、媒体装置艺术设计说明1媒体装置艺术-设计说明(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图11当把元器件都接起来之后,就要开始对程序进行编辑。一开始灯的闪烁形式是常亮的状态。但是发现在转换灯颜色的时候会有轻微的闪烁。所以就想着将灯变成呼吸灯的闪烁模式,这样会更加吸引使用杯子的人。在对代码进行编辑完成之后,就要将代码传输到Arduino开发板上进行测试。一开始,灯的颜色没有变化,以为是程
2、序出了问题。后来打开端口监视器一看,原来是水的温度没有达到要求。因为串口监视器上,可以直观的看到温度的变化,和当下的温度值是多少。知道了这个问题之后,就测试成功了。1.4成果这个作品成果是一个会随着温度变化,随之发出不同颜色光的水杯。这样可以有效的方式使用者喝水的时候被开水烫伤。对于杯子上方的圆点是想做出透光效果,从而更加炫目。成果图如图1-2所示。图1-21.5价值和影响对于刚上小学的孩子,他们在学校喝水的时候有可能因为着急,从而不去试一试水温再喝水。这样就容易发生被开水烫伤的可能性。如果用了这个杯子,看到杯子上红灯亮起来的时候,这个时候使用杯子的人就会注意到杯子里水的温度,从而可以减少被开
3、水烫伤的可能性。如果孩子有了这样一个智能水杯,家长也不用担心孩子容易被开水烫伤了。1.6创新点从外形上来说,在杯子的上方,有一些透光的小孔。这些小孔可以更好的透出小灯泡发出的光,这样可以让杯子更加绚丽,让使用者喜欢上用这个水杯喝水。在灯泡的闪烁形式上来说,是采用的呼吸灯的形式。这样的形式比常亮的形式,更加吸引用户。第二章 结论2.1技术层面这个作品是通过Arduino开发版来完成的,先在Arduino软件中编辑程序,再传入开发板,接下来把线路连接正确。就可以实现想要的效果了。Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件和软件。Arduino能通过各种各样的传感器来感知环境
4、,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用 Arduino编程语言和Arduino开发环境来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信来实现。2.2艺术层面因为制作的是一个可以测量水温的智能水杯,所以这个装置在包装上还是采用的杯子的原型。但是这个杯子的形状是与普通水杯有区别的。这个杯子的中间部分是突出的,这样做的目的,是想将杯子做成双层的,中间突出的部分可以将装置放入,也可以避免
5、用户将手烫伤。在杯子的上半部分有一些镂空的小孔,是为了让杯子的透光性更好。给人一种不一样的设计感觉。随着用户在喝水的同时,看着灯光的闪烁,心情也会随之愉悦一些。在这个作品中,智能水杯是用两个透明一次性纸杯做成的。如果直接用透明纸杯的话,会看见里面的装置,所以在做的时候,在透明纸杯的外面涂上了丙烯,这样透光性不会太好也不会太差,给人一种朦胧的感觉。2.3不足及展望在这个作品当中,测量温度的温度段,只有三段,如果能有更多的温度段的话,就可以让温度测量的更加具体。这样,可以让使用者更加了解杯子里水温的状况,会更加方便一些。在杯子的外形上,可以采用磨砂玻璃的,这样透光性会好,而且会有一种朦胧感。这个作
6、品可以在生活中,给年龄小一些的孩子,这样可以防止他们被开水烫伤的可能性,可以让他们觉得,其实喝水也是一件很开心的事。谢辞在此,我要特别感谢,教这门课的胡鹏老师。胡老师导我们如何去编写程序,并且告诉我们每句代码的含义是什么,方便我们去理解和学习。胡老师还教会了我们如何连接电路,应该怎么去区分正负极,还有Arduino版上端口与端口之间的区别。此外,还要感谢我身边的朋友和同学,感谢他们在制作过程中对我的指导、帮助和支持,感谢他们的宝贵建议,感谢所有关心、支持、帮助过我的良师益友。参考文献1ArduinoXX百科.j2极客工坊.j附录源程序#define R_LIGHT 9 #define G_LI
7、GHT 10#define B_LIGHT 11 / #define 是C 中用来定义宏的语法,定义三个灯的端口#define FADE_STEP 5 / 这是呼吸灯光线变强变弱的单位数,可以调节,越小,光线的变化越细腻#define FADE_TIME 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
8、() analogWrite(R_LIGHT, rgb_value0); analogWrite(G_LIGHT, rgb_value1); analogWrite(B_LIGHT, rgb_value2);/模拟量的写入void fade_on(int 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)
9、 analogWrite(port, fadeValue); delay(FADE_TIME); rgb_valuev = 0;/呼吸灯慢慢变暗void fade_flash(int port) /不停的呼吸效果 fade_on(port); fade_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
10、_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(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); v
11、oid 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();/不停的运行这个函数达到不停的读取温度变化的功能接线图图5-1图5-2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1