2015年1月6日 星期二
Week16
期末作品準備改進飄飄飄的小鳥,加上一個可愛的小鳥控制器,並且添加各種背景音效
void setup(){
//start serial connection
Serial.begin(9600);
//configure pin2 as an input and enable the internal pull-up resistor
pinMode(2, INPUT_PULLUP);
pinMode(13, OUTPUT);
int now=0;
}
void loop(){
//read the pushbutton value into a variable
int sensorVal = digitalRead(2);
if (sensorVal == HIGH) {
digitalWrite(13, LOW);
}
else {
digitalWrite(13, HIGH);
Serial.write(65);
delay(120);
}
}
2014年12月22日 星期一
week15
1. 口頭上複習之前學過的內容
1.1. Arduino 的 Output (LED, Motor, Servo)
1.2. Arduino 的 Input (Button PULL_UP, 可變電阻, 光敏電阻)
1.3. Arduino 的 Serial COM (communication) 與電腦連接通訊
1.1. Arduino 的 Output (LED, Motor, Servo)
1.2. Arduino 的 Input (Button PULL_UP, 可變電阻, 光敏電阻)
1.3. Arduino 的 Serial COM (communication) 與電腦連接通訊
void setup(){
//start serial connection
Serial.begin(9600);
//configure pin2 as an input and enable the internal pull-up resistor
pinMode(2, INPUT_PULLUP);
pinMode(13, OUTPUT);
int now=0;
}
void loop(){
//read the pushbutton value into a variable
int sensorVal = digitalRead(2);
if (sensorVal == HIGH) {
digitalWrite(13, LOW);
}
else {
digitalWrite(13, HIGH);
Serial.write(65);
delay(120);
}
}
week14
void setup(){
pinMode(13,OUTPUT);
}
void loop(){
int value=analogRead(A0);
digitalWrite(13, HIGH);
delay(value);
digitalWrite(13, LOW);
delay(value);
}
2014年12月8日 星期一
Week13
void setup(){
Serial.begin(9600);
pinMode(2,INPUT_PULLUP);
}
void loop(){
while(Serial.available() > 0){
char data= Serial.read();
Serial.print(data);
}
if(digitalRead(2)==LOW) Serial.println("I Love You") ;
else Serial.println("I Hate You");
}
2014年11月24日 星期一
week 11
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
int led2 = 15;
int led3 = 17;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(100);
digitalWrite(led2, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led2, LOW); // turn the LED off by making the voltage LOW
delay(100);
digitalWrite(led3, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led3, LOW); // turn the LED off by making the voltage LOW
delay(100);
digitalWrite(led2, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led2, LOW); // turn the LED off by making the voltage LOW
delay(100);
}
2014年11月22日 星期六
愛迪斯科技胡啟彥先生心得報告
今天請到了愛迪斯科技公司的胡啟彥先生,他給我們帶了一種很神奇的3D虛擬互動技術,他先給我們看了一個房屋出售介紹系統。
這個系統使用了3D的虛擬互動技術,使用者可以控制器來控制來控制虛擬房間中的視角,讓使用者可以透過手中的控制器全方位的看到房間的內容,就像自己走在這個虛擬房間裏一樣,這個系統不僅可以看房間的佈局,將視角對着傢俱,操作控制器,甚至還可以對傢俱進行拆解,看到傢俱內部的構造,這種功能真的是太棒了,如果把這種技術推廣到生活中的售房處,一定會給顧客帶來很大的便利。
還有一種技術是虛擬投影技術,這種技術可以在不同的模組上投影各種圖案和色彩,其中一個視頻的內容是在一塊場地上有密密麻麻的日本都市的模型,但這些模型都是沒有顏色的,但是一旦使用了虛擬投影技術,整個城市就立體起來了,房子有各種燈光,街上有車輛在行駛,一副很有科技感的樣子。
另一個視頻是一家汽車廠商,他們在舞臺上放一個汽車模型,也是沒有顏色的,然後虛擬投影技術來給這輛車增加各種效果來做廣告,經過投影以後的汽車看上去就像真的汽車行駛在馬路上,汽車可以換各種各樣的顏色和配件,就像在遊戲裏一樣。
不僅可以在平面上投影,也可以在其他地方投影,比如有一種就是用很多密密麻麻的塑料帶子,圍成一圈,然後在上面投影出個各種顏色和形狀,效果也是非常的好。
他們還有和核能發電廠合作一個互動小遊戲,讓參觀者可以親自建造模擬城市,用的是帶有識別標記的卡片,卡片代表各種商場、建築、風力發電廠、核能發電廠等等,通過用戶建築的城市需要多少用電來體現出核能發電的效率優勢,這是一個很好的想法,讓用戶直觀的看到核能發電所帶來的好處。
擴增實境技術也是一個很好玩的東西,日本的一家食品廠商在包裝盒上設置了識別標記,然後製作一個手機APP,購買食品的客戶可以在包裝盒上給機器貓塗上顏色,然後用手機APP掃描,手機上就會顯示出剛才那隻吐塗了顏色的機器貓,並且做各種動作來吸引顧客。
這次的老師讓我們體驗到了虛擬3D技術給生活帶來的無限可能和樂趣。
2014年11月15日 星期六
Week08業界雙師授課心得報告
業界雙師授課心得報告-叁式曾煒傑先生
今天的這節課我們請到了叄式的創辦人曾煒傑先生,他給我們介紹了他們公司取名的由來,讓我們看了很多互動方面的影片,他們用聲音和光線搭配互動技術後,做出了很多非常酷炫的舞臺效果。
NIKE的廣告雖然花了很多錢,但互動廣告的效果遠遠大於普通的廣告,他們很好的用互動技術把自己的廣告理念深深的印在了顧客心裏。
日本的一個超級長的跑步廣告,一男一女從很遠的地方開始跑,距離越來越短,一開始別人都看不懂這個廣告是什麼產品的廣告,直到廣告的最後,兩個人的距離變成了0.03,才知道這是超薄避孕套的廣告。
我很佩服廣告製作人的想象力,要在無數的廣告中脫穎而出是一件很不容易的事,很多廣告費勁力氣也不能在觀衆的心中留下位置,但有些廣告卻能讓觀衆永遠記住。很多這種廣告都是用了互動的技術,讓觀衆親自參與到廣告當中,比如可口可樂的廣告,一臺機器需要兩個人用手畫出同樣的動作,成功以後就會每個人得到一罐可口可樂,通過這個互動遊戲廣告,可口可樂公司完美的詮釋了自己的合作分享的廣告理念。
白蘭氏的廣告使用一個類似攝影棚的小房間,進去的顧客可以和大熒幕互動,選擇自己的夢想,然後把夢想拼成很多照片,並且推出自己的廣告觀點,如果要實現夢想就要有健康的身體,要有健康的身體就要喝白蘭氏,雖然這個邏輯有點搞笑,但是互動廣告的效果還是達到了,進來玩過的顧客都會有深刻的印象。
讓我印象最深的是一個日本的“I Won't Let You Down”的MV,這個MV簡直是神作,四個男的坐在自動的獨輪車上,排出各種隊形,盡頭從空中向下拍攝,很多穿着白色衣服紅色褲子的演員拿着不同顏色的傘,幾十個人一起撐傘收傘,時間掌握的幾乎完美,從空中像各種紅色白色的小燈泡在閃爍,在這個看似沒什麼科技的廣告裏其實用了很多科技,他們把一個充滿科技的廣告拍的看不出科技的痕跡,創作人真的是太厲害了。
這次的業界老師帶來的內容讓我大開眼界,了解了目前世界上的互動技術已經做得這麼有創意了。
2014年10月27日 星期一
2014年10月6日 星期一
2014年9月29日 星期一
01162412_葉興宇, HW03, Week03
import ddf.minim.*;
Minim minim;
AudioPlayer player,wolf;
PImage img, imgBG;
float eggX=750, eggY=550, eggVX, eggVY, flying=0;
void setup() {
size(800, 600, P3D);
img=loadImage("123.png");
imgBG = loadImage("bg.jpg");
imgBG.resize(800, 600);
imageMode(CENTER);
minim = new Minim(this);
wolf = minim.loadFile("wolf.wav");
player = minim.loadFile("marcus_kellis_theme.mp3");
}
void draw() {
background(imgBG);
image(img, mouseX, mouseY, 300, 300);
if (flying>0) {
ellipse(eggX, eggY, 50, 50);
eggX+=eggVX;
eggY+=eggVY;
flying--;
}
}
void mousePressed() {
player.play();
wolf.rewind();
wolf.play();
eggX=750;
eggY=550;
flying=30;
eggVX=(mouseX-eggX)/30;
eggVY=(mouseY-eggY)/30;
}
2014年9月22日 星期一
01162412_葉興宇, HW02, Week02
\
size(800,600);
background(#834A04);
stroke(#737973);
strokeWeight(4);
//color table
fill(#F52811); rect(0,0,100,100);
fill(#3DA00A); rect(0,100,100,100);
fill(#2287F0); rect(0,200,100,100);
fill(#010305); rect(0,300,100,100);
fill(#FFFFFF); rect(0,400,100,100);
fill(#964AB2); rect(0,500,100,100);
//stroke table
stroke(#010305);
strokeWeight(4);
fill(#FFFFFF);
rect(700,0,100,100); ellipse(750,50,5,5);
rect(700,100,100,100); ellipse(750,150,10,10);
rect(700,200,100,100); ellipse(750,250,15,15);
}
void draw(){//draw line
if(mousePressed && mouseX>100 && mouseX<700) line(mouseX,mouseY,pmouseX,pmouseY);
}
void mousePressed(){
//change color
if(mouseX<100 && mouseY<100) stroke(#F52811);
else if(mouseX<100 && mouseY<200) stroke(#3DA00A);
else if(mouseX<100 && mouseY<300) stroke(#2287F0);
else if(mouseX<100 && mouseY<400) stroke(#010305);
else if(mouseX<100 && mouseY<500) stroke(#FFFFFF);
else if(mouseX<100 && mouseY<600) stroke(#964AB2);
//change strokeweight
else if(mouseX>700 && mouseY<100) strokeWeight(5);
else if(mouseX>700 && mouseY<200) strokeWeight(10);
else if(mouseX>700 && mouseY<300) strokeWeight(15);
}
2014年9月15日 星期一
訂閱:
文章 (Atom)













































