2020年12月14日 星期一

week14

這禮拜做很有趣的互動裝置,將左接GND;中接A0;右接5V 

1.發出聲音

void setup() {

  pinMode(13,OUTPUT);

  pinMode(8,OUTPUT);

}


void loop() {

  int now=analogRead(A0);

  tone(8,now);

}

2.隨著旋鈕轉動發光

void setup() {

  for(int i=2;i<=13;i++)

  {

    pinMode(i,OUTPUT);    

  }

}


void loop() {

  int now=analogRead(A0);

  int level=now/(512/13);

  for(int i=2;i<=13;i++)

  {

    if(i<level) digitalWrite(i,HIGH);

    else digitalWrite(i,LOW);   

  }

}

3.隨著旋鈕出現字母

void setup() {

  for(int i=2;i<=13;i++)

  {

    pinMode(i,OUTPUT);    

  }

  Serial.begin(9600);

}

void loop() {

  int now=analogRead(A0);

  int level=now/(1024/13);

  for(int i=2;i<=13;i++)

  {

    if(i<level) digitalWrite(i,HIGH);

    else digitalWrite(i,LOW);   

  }

  Serial.write(('A'+level));

  delay(100);//1000/20=50FPS

}








4.加入Processing 3.5.3

~Arduino~

void setup() {

  for(int i=2;i<=13;i++)

  {

    pinMode(i,OUTPUT);    

  }

  Serial.begin(9600);

}

void loop() {

  int now=analogRead(A0);

  int level=now/4;

  for(int i=2;i<=13;i++)

  {

    if(i<level/(256/13)) digitalWrite(i,HIGH);

    else digitalWrite(i,LOW);   

  }

  Serial.write((level));

  delay(20);//1000/20=50FPS

}


~Processing~

import processing.serial.*;

Serial myPort;

void setup(){

  size(765,100);

  myPort=new Serial(this,"COM4",9600);

}

int level=0;

void draw(){

  background(255);

  fill(255,0,0);

  rect(0,0,level*3,100);

  if(myPort.available()>0){

    int now =myPort.read();//'A'~'N'

    level=now;

  }

}

(1)







(2)



沒有留言:

張貼留言