2020年12月14日 星期一

翰翰日記12

 一開始先教用旋鈕改變聲音

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;
  }
}
這個可以讓紅色的那個進度條移動得很滑順












沒有留言:

張貼留言