2019年11月28日 星期四

week12 葉政翰

1. 發出音符聲音(複習)




程式碼:

int Do = 523;
int Re = 589;
int Mi = 600;
void setup() {
  // put your setup code here, to run once:
  pinMode(8, OUTPUT);
  pinMode(2, INPUT_PULLUP);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(digitalRead(2)==LOW) tone(8, Do, 1000);
  else noTone(8);
}



2. 發出音樂



程式碼:
int Do = 523;
int Re = 587;
int Mi = 659;
int Fa = 698;
int So = 784;
int La = 880;
int Note[10] = {Do, Re, Mi, Fa, So, La};
int Music[300] = {Do, Do, So, So, La, La, So, Fa, Fa, Mi, Mi, Re, Re ,Do};
int i = 0;
int pressed = 0;
void setup() {
  // put your setup code here, to run once:
  pinMode(8, OUTPUT);
  pinMode(2, INPUT_PULLUP);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(pressed== 0 && digitalRead(2)==LOW)
  {
    if(i> 14) i = 0;
    else
    {
      pressed = 1;
      tone(8, Music[i], 300);
      i++;
    }
   
  }
  else pressed = 0;

  delay(300);

}


3. 使用線來發出聲音


程式碼:
void setup() {
  for(int i =2; i<=13; i++)
  {
    pinMode(i, INPUT_PULLUP);
  }
  pinMode(8, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(digitalRead(2) ==LOW) tone(8, 523, 200);
  if(digitalRead(3) ==LOW) tone(8, 587, 200);
  if(digitalRead(4) ==LOW) tone(8, 659, 200);
  if(digitalRead(5) ==LOW) tone(8, 698, 200);
  if(digitalRead(6) ==LOW) tone(8, 784, 200);
  if(digitalRead(7) ==LOW) tone(8, 880, 200);
  if(digitalRead(9) ==LOW) tone(8, 988, 200);
  if(digitalRead(10) ==LOW) tone(8, 1047, 200);
 
}


4. 網路連線




Server端

import processing.net.*;
Server server;
void setup()
{
  size(300, 300);
  server = new Server(this, 7777);
}

void draw()
{
  Client thisClient = server.available();
  while(thisClient !=null)
  {
    String now = thisClient.readString();
    if(now!= null) println("Server received: " + now);
  }
}


Client端:

import processing.net.*;
Client client;
void setup()
{
  size(300, 300);
  client = new Client(this, "127.0.0.1", 7777);
}

void mousePressed()
{
  client.write("Hello");
}

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...