顯示具有 01162412_葉興宇 標籤的文章。 顯示所有文章
顯示具有 01162412_葉興宇 標籤的文章。 顯示所有文章

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) 與電腦連接通訊







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");
}

Week12







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);

}

week05






Week06








Week11





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年9月29日 星期一

01162412_葉興宇, HW03, Week03


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

\










void setup(){
  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);
}