顯示具有 06160184_蔡昇峰 標籤的文章。 顯示所有文章
顯示具有 06160184_蔡昇峰 標籤的文章。 顯示所有文章

2020年12月21日 星期一

Bibo)Week15_AngryBird功能,彈弓,按鈕讀X與Y

 

**目前可以拉出線,但不能發射**
**目前可以拉出線也可以發射**
**可以利用按鈕讓球移動**


----------解釋----------
Y=初始點,user為滑鼠位置
diff讀取Y與user之間的位置
v=速度(依據拉出的線長短來判斷)




2020年12月14日 星期一

Bibo)Week14_按鈕輸入與發亮讀數值

 

----------先來接硬體----------
板子連接按鈕
GND接GND(A0那側第2格)
+5V接到+5V(第4格)
VRX接到A0
---------硬體結束----------

利用Setup的for迴圈來讀入pin值
Serial是來讀入輸入USB
利用loop裡的程式來判斷輸入的值與紅色的部分
如下圖




2020年12月7日 星期一

Bibo)Week13_外接器具+使用按鈕

Sep.1 按鈕先與麵包板結合

Sep.2按鈕上的SW連接上到A2的按鈕

         +5V的地方接到5V的地方

         GMD連接到GND的地方

Sep.3撰寫程式,試試看

        在setup下執行

         Serial.begin(9600); //USB連接

         pinMode(2, INPUT_PULLUP); //讓第2的腳位可以接收資料

         在loop下執行

         if(digitalRead(2)==LOW && state==0); //當按下第2的腳位 且state=0時

         if(digitalRead(2)==LOW) tone(8, 572, 100); //當按下第2的腳位 發出聲音


接著將板子.按鈕.Arduino.Processing結合再一起

    首先利用Arduino將程式寫入板子,可以讀入1或0,也就是按鈕的按下與放掉

再來,切換到Processing的程式裡面

myPort = new Serial(this, "COM5", 9600); 
myPort.available()>0; //當我讀到的輸入>0
int now = myPort.read(): //加上now的變數就是讀到的數值
if( now == '1')button=1;//當我讀到now=1 button=1

接下來,我們要來連接網路~



用之前要先載入UDP外掛軟件




2020年11月30日 星期一

Week12 maker uno結合processing


 按下按鈕後會出現Mi的聲音
在之前複習包含安裝軟體
找到是COM幾

Serial.begin(9600);
利用USB傳輸,速度9600

利用processing來對usb傳輸
一旦用滑鼠按一下,發出so的聲音
利用1.3.5來發不同的音色




import processing.serial.*;
Serial myPort;
void setup(){
  size(200,200);
  myPort = new Serial(this, "COM5", 9600);
}
void draw(){

}
void keyPressed(){
  if(key=='1') myPort.write("1");
  if(key=='2') myPort.write("2");
  if(key=='3') myPort.write("3");
  if(key=='4') myPort.write("4");
  if(key=='5') myPort.write("5");
  if(key=='6') myPort.write("6");
  if(key=='7') myPort.write("7");
}
void mousePressed(){
  myPort.write("0");
}

#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define So 784
#define La 880
#define Ti 988
void setup(){
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
  pinMode(8,OUTPUT);
  tone(8,Do);
  delay(1000);
  tone(8,Mi);
  delay(1000);
  tone(8,So);
  delay(1000);
  noTone(8);
}
void loop(){
    while( Serial.available() > 0){
      int now = Serial.read();
      if( now=='1') tone(8, Do);  
      if( now=='2') tone(8, Re);   
      if( now=='3') tone(8, Mi);
      if( now=='4') tone(8, Fa);
      if( now=='5') tone(8, So);  
      if( now=='6') tone(8, La);
      if( now=='7') tone(8, Ti);
      if( now=='0') noTone(8);
    }
}

2020年11月23日 星期一

Week11 Maker UNO

 今天拿到的Maker UNO的板子

用這段程式碼可以播出一段小樂譜
另外 這一塊板子一個200塊
多付100原版子就可以是你的
所以 因該要買一下吧


還有今天有期中的成果展示
大家做的都很有創意





2020年10月26日 星期一

Week07_美麗背景圖、圖形互動

如果想畫出美麗的圖片,如上
先要用出來各個頂點,都會有一定的規律。
接著把點內的圖形連接起來,會呈現一個形狀
beginShape()+endShape()=類似上學期圖學得開始畫結束畫
但如果沒加上CLOSE的話,最後一隊會沒有連接起來。

加上可互動的程式,mouseX這樣圖形即可旋轉。



圖形跟隨滑鼠動+旋轉
不需要移動滑鼠就會自動旋轉
三角函數用radians(弧度)
1hr=60min,1min=60sec,1sec=60frame








 

2020年10月19日 星期一

Week06-字體文字、對齊、陣列

 

textSize(40)--文字大小
text("Hello",30 ,30)--字體依據(30,30)往上往右填字
textAlign(LEFT,TOP);對齊左上文字
textAlign(LEFT,TOP);對齊右上文字



字形文字


陣列



加了一行當按下時可以消除圖片
陣列依據滑鼠按下的位置判斷陣列並將它改為0



2020年10月12日 星期一

Week05 水果忍者、亂數跳

 

當滑鼠座標碰到球,就會消除球產生下面一顆球


import ddf.minim.*;
Minim minim;
AudioPlayer player1;
AudioPlayer player2;
PImage img;
float x=100, y=500, vx=3, vy=-30;
int fruitDie=0;
void setup(){
  size(300,300);
  img = loadImage("ball.png");
  //sound1 = new SoundFile(this, "sound.mp3");
  //sound2 = new SoundFile(this, "wind.wav");
  minim= new Minim(this);
  player1 = minim.loadFile("wind.wav");
  player2 = minim.loadFile("swords.wav");
  player1.loop();
}
void draw(){
  background(0);
  image(img, x, y, 100, 100);
  x +=vx;
  y +=vy;
  vy += 0.98;
  if(y>500)fruitDie=1;
  if(x<mouseX && mouseX<x+100 && y<mouseY && mouseY<y+100){
    fruitDie=1;
    player2.rewind();
    player2.play();
  }
  stroke(255);line(mouseX,mouseY,pmouseX,pmouseY);
  if(fruitDie==1){
    if(frameCount%2==0){
      x=random(250); y=500; vx=random(2,3); vy=-random(28,32);
    }
    else{
      x=random(250,500); y=500; vx=random(2,3); vy=-random(28,32);
    }
    fruitDie=0;
  }
}






2020年10月5日 星期一

Week04 加入圖片、移動、卷軸向右、邊界

 



宣告變數PImage讓圖片可以放進去
我們宣告完後,要將圖片丟入程式碼裡面
圖片儲存(一、載下圖片二、將圖片拉到程式白色區域三、檢查是否成功丟入Ctrl+K或Sketch->Show....folder)



第二章圖片可以跟著滑鼠座標移動
再利用座標減半的辦法讓鼠標中心都在圖片正中間
當滑鼠超過if的判斷值後 畫面x--


牛頓定律
彈跳高度逐漸變低




2020年9月21日 星期一

week02

 顏色


background背景顏色(像圖中的藍色部分)

stroke線的顏色(如圖中的紅色線部分)    

fill填滿顏色(如圖中黃色的部分,先打要的顏色像程式中的fill在打被填滿的圖形像程式中的rect)


setup一開始就設定 圖中程式一開始先設定視窗大小為500x500

mousePressed 滑鼠按下的程式


mouseX,mouseY此時滑鼠位置
pmouseX,pmouseY前一個滑鼠位置

先做出調色盤利用fill跟rect

如果要切換顏色的話mousePressed && mouseY <100就是(當按下滑鼠且y座標小於100)

就可以繼續下面的程式碼

    if(mouseX<100)stroke(255,0,0);                  小於100紅色

    else if(mouseX<200)stroke(255,255,0);       小於200黃色

    else if(mouseX<300)stroke(0,255,0);           小於300綠色

    else if(mouseX<400)stroke(0,0,255);           小於400藍色

    else if(mouseX<500)stroke(255,0,255);       小於500紫色

接下來如果是mousePressed && mouseY>100就是(當按下滑鼠且)y座標大於100)

就畫線出來因為滑鼠會出現在調色盤下方即可畫線

strokeWeight可以調整線的粗細

void keyPressed(){

  save("SYSY.png");

}這段程式碼可以儲存如片,利用按下鍵盤的按鍵來儲存



2020年9月14日 星期一

06160184Week01

今天教下面幾行程式碼

rect()矩形 左上座標到右下座標 後面可再添加角度

ellipse()圓形/橢圓



fill填滿線框內的區域

stroke畫出的線顏色

background背景顏色


有幾種表示顏色的方法

1.RGB

2.16進制