這禮拜做很有趣的互動裝置,將左接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)



沒有留言:
張貼留言