今天又有新設備了,是個手柄上頭的搖桿,講真我總覺得這貨比switch上頭的那個joycon還還好些,而且居然還有下壓回饋,比隔壁N開頭的企業强多了,早知道要用杜邦綫我就上淘寶成捆的,單芯綫真的容易接觸不良。
接完綫之後我們先寫一個按壓就會發聲的程式,大致的代碼如下:
void
setup()
{
pinMode(2,INPUT_PULLUP);
pinMode(8,OUTPUT);
}
int
state=0;
void
loop()
{
if(digitalRead(2)==LOW)
tone(8,2500,100);
else
noTone(8);
}
要注意的是兩個COM端口不能同時用,要不然會衝突
現在我們的搖桿有了觸發按鍵的功能,但是除了讓它發出聲音,我們也可以通過程式展示它目前的運行狀態,例如我們可以通過顯示1/0查看此時的搖桿是否被按下,程式碼如下:
void setup()
{
Serial.begin(9600);
pinMode(2,INPUT_PULLUP);
pinMode(8,OUTPUT);
}
int
state=0;
void
loop()
{
if(digitalRead(2)==LOW && state==0)
{
state=1;
Serial.write("1");
}
if(digitalRead(2)==HIGH && state==1)
{
state=0;
Serial.write("0");
}
delay(100);
}
所以如果可以識別長按或短按的話是不是可以發摩斯電碼
再此之後我們便可以利用上周學到的與Processing連接的功能,使用P語言展示此時的按鍵使用狀態,設定好鏈接后Processing程式碼如下:
import processing.serial.*;
Serial myPont;
int button=0;
void setup(){
size(300,300);
myPont = new Serial(this, "COM5",9600);
}
void draw(){
if(myPont.available()>0){
int now = myPont.read();
if(now == '1')button=1;
else button=0;
}
if(button==1)background(#F5ABAB);
else background(#FF0303);
}
Arduino的代碼基本相同這裏就不放了,多了一個設定步驟
最後我們還可以學到如何用UDP的方式傳送信息到老師的電腦上,這個比較簡單,所以學了這麽久我寫的第一個網絡相關程式居然是這個?代碼如下:
import hypermedia.net.*;
UDP udp;
void setup(){
size(300,200);
udp = new UDP(this,6000);
udp.send("Connect","120.125.70.41",6100);
}
void draw(){
}
void mousePressed(){
udp.send("mousePressed","120.125.70.53",6100);
}
然後我發現只要你按的夠快就可以手動RGB漸變
最後發一張宿舍的IP地址圖,歡迎大家來DDOS我(誤)





沒有留言:
張貼留言