一開始先教用旋鈕改變聲音
void setup()
{
pinMode(13,OUTPUT);
pinMode(8,OUTPUT);
}
void loop()
{
int now = analogRead(A0);
tone(8,now);
}
這個轉旋鈕會依序亮燈
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);
}
}
這個是改程式碼讓他發出英文字
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);
}
再來這個是processing上的程式碼
import processing.serial.*;
Serial myPort;
void setup()
{
size(700,100);
myPort=new Serial(this,"COM4",9600);
}
int level=0;
void draw()
{
background(255);
fill(255,0,0);
rect(0,0,level*50,100);
if(myPort.available()>0)
{
int now=myPort.read();
if(now=='A')level=0;
if(now=='B')level=1;
if(now=='C')level=2;
if(now=='D')level=3;
if(now=='E')level=4;
if(now=='F')level=5;
if(now=='G')level=6;
if(now=='H')level=7;
if(now=='I')level=8;
if(now=='J')level=9;
}
}
這個可以用旋鈕控制紅色的那個部分
這也是processing的
import processing.serial.*;
Serial myPort;
void setup()
{
size(700,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();
level =now;
}
}
這個可以讓紅色的那個進度條移動得很滑順






沒有留言:
張貼留言