1 / 12
文档名称:

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

格式:docx   大小:3,533KB   页数:12页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:Alone-丁丁 2022/1/27 文件大小:3.45 MB

下载得到文件列表

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

相关文档

文档介绍

文档介绍:媒体装置艺术-设计说明(1)
目录
第一章 新媒体装置艺术 1
1
1

2
2

2
,定义三个灯的端口
#define FADE_STEP 5 // 这是呼吸灯光线变强变弱的单位数,可以调节,越小,光线的变化越细腻
#define FADE_TIME 30 //30ms
int rgb_value[3];// 这是一个数组,用来存储每次R/G/B_LIGHT三个灯的亮度值
void init_rgb_value()
{
rgb_value[0] = 0;
rgb_value[1] = 0;
rgb_value[2] = 0;//这个函数是在setup中,把上面声明的数组, 初始化一下,都变成0
}
void init_rgb()
{
analogWrite(R_LIGHT, rgb_value[0]);
analogWrite(G_LIGHT, rgb_value[1]);
analogWrite(B_LIGHT, rgb_value[2]);//模拟量的写入
}
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_value[v]; fadeValue <= 0xff; fadeValue += FADE_STEP) {

analogWrite(port, fadeValue);

delay(FADE_TIME);
}
rgb_value[v] = 0xff;//呼吸灯慢慢变亮
}
void 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;

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

analogWrite(port, fadeValue);

delay(FADE_TIME);
}
rgb_value[v] = 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_value[v] = 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_value[v] = 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);
pinMo