2020年12月7日 星期一

week13

 1.joystick按下會發出聲音

程式碼:

void setup() 
{
  // put your setup code here, to run once:
  pinMode(2,INPUT_PULLUP);
  pinMode(8,OUTPUT);
}
int state=0;
void loop() 
{
  // put your main code here, to run repeatedly:
  if(digitalRead(2)==LOW)//當板上按鈕按下時或joystick按下時
    tone(8,2500,100); //發出聲音
  else
    noTone(8);
}


2.按下joystick會看到1和0表示按跟沒按
程式碼:
void setup() 
{
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  pinMode(8,OUTPUT);
}
int state=0;//開關狀態
void loop() 
{
  // put your main code here, to run repeatedly:
  if(digitalRead(2)==LOW && state==0)
  {
    state=1;//當按鈕按下去時
    Serial.write("1");
  }
  if(digitalRead(2)==HIGH && state==1)
  {
    state=0;//按鈕沒按時
    Serial.write("0");
  }
  delay(100);
}
執行結果:
101010101010101010101010101010101010101010101010


3.按下joystick可以在processing看到背景變換顏色
processing程式碼:
import processing.serial.*;
Serial myPort;
void setup()
{
  size(300,200);
  myPort= new Serial(this, "COM6", 9600);
}
int button = 0;
void draw()
{
  if(myPort.available() > 0)
  {
    int now = myPort.read();
    println("現在你讀的其實是:"+now);
    if(now =='1')
      button=1;
    else
      button=0;
  }
  if(button==1)
    background(255,0,0);
  else
    background(255);
}
makeruno程式碼:
void setup() 
{
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  pinMode(8,OUTPUT);
}
int state=0;
void loop() 
{
  // put your main code here, to run repeatedly:
  if(digitalRead(2)==LOW && state==0)
  {
    state=1;
    Serial.write("1");
  }
  if(digitalRead(2)==HIGH && state==1)
  {
    state=0;
    Serial.write("0");
  }
  delay(100);
}

4.利用網路程式送訊息到老師主機
程式碼:
import hypermedia.net.*;

UDP udp;
void setup()
{
  size(300,200);
  udp = new UDP(this, 6000);
  for(;;)
    udp.send("ERROR:404", "120.125.70.53",6100);
}
void draw()
{
  
}
void mousePressed()
{
  udp.send("ERROR:404", "120.125.70.53",6100);
}

沒有留言:

張貼留言