顯示具有 06160636_杜淑玲 標籤的文章。 顯示所有文章
顯示具有 06160636_杜淑玲 標籤的文章。 顯示所有文章

2020年12月21日 星期一

week15

week15



size(600,600);
PImage img=loadImage("JPG.jpg");
PVector pt=new PVector(10, 20, 0);
image(img, 0, 0);
println(pt.x);
float userX=10, userY=20, userZ=0;
float user2X=30, user2Y=40, user2Z=0;

PVector user=new PVector(10,20,0);
PVector user2=new PVector(30,40,0);




PVector user;
void setup(){
  size(600,600);
  user=new PVector(10,20);
}
void draw(){
  background(255);
  ellipse(user.x, user.y,20,20);
}



PVector user;
PVector Y;
void setup(){
  size(600,400);
  user=new PVector(100 ,300);
  Y=new PVector(100 ,300);
}
void draw(){
  background(255);
  line(user.x, user.y,Y.x,Y.y);
  textSize(40);
  fill(255,0,0); text("Y",Y.x,Y.y);
  fill(255); ellipse(user.x, user.y,20,20);
}
void mouseDragged(){
  user.x=mouseX;
  user.y=mouseY;
}
void mouseReleased(){

}



PVector user;
PVector Y, v=null;
void setup(){
  size(600,400);
  user=new PVector(100 ,300);
  Y=new PVector(100 ,300);
}
void draw(){
  background(255);
  line(user.x, user.y,Y.x,Y.y);
  textSize(40);
  fill(255,0,0); text("Y",Y.x,Y.y);
  fill(255); ellipse(user.x, user.y,20,20);
  if(v!=null) user.add(v);
}
void mouseDragged(){
  user.x=mouseX;
  user.y=mouseY;
}
void mouseReleased(){
  PVector diff=PVector.sub(Y,user);
  v =diff.div(10);
}


void setup() {
  pinMode(2, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  int x = analogRead(A0);
  int y = analogRead(A1);
  int sw = analogRead(2);

  Serial.write(x);
  Serial.write('+');
  Serial.write(y);
  Serial.write('+');
  Serial.write(sw);
  Serial.write(' ');
  delay(20);
}




void setup() {
  pinMode(2, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  int x = analogRead(A0);
  int y = analogRead(A1);
  int sw = analogRead(2);

  Serial.write(x/4);
  Serial.write(y/4);
  Serial.write(sw);
  
  delay(20);
}


import processing.serial.*;
Serial myPort;
void setup(){
  size(256,256);
  myPort = new Serial(this, "COM3,9600");
}
int ballX=0, ballY=0;
void draw(){
  if(myPort.available()>=3){
    int x = myPort.read();
    int y = myPort.read();
    int sw = myPort.read();
    ballX=x;
    ballY=y;
  }
  ellipse(ballX, ballY, 10,10);
}






2020年12月14日 星期一

week14

Week14


連接搖桿產生不同的頻率


 void setup() {
  pinMode(13, OUTPUT);
  pinMode(8, OUTPUT);
}

void loop() {
  int now = analogRead(A0);
  tone(8,now); 8
}

連接搖桿在不同位置有多少燈



 void setup() {
 for(int i=2; i<=13; i++){
  pinMode(i, OUTPUT);
 }
}

void loop() {
  int now = analogRead(A0);
  int level = now/(523/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, "COM3", 9600);
}
int level = 0;
void draw(){
  background(225);
  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;
  }
} 



2020年12月7日 星期一

week13

 week13

連接麵包版+按鈕

SW/A2

5V/5V

GND/GND



void setup() {
  pinMode(2,INPUT_PULLUP);
  pinMode(8,OUTPUT);
}
void loop() {
  if(digitalRead(2)==LOW) tone(8, 572, 100);
  else noTone(8);
}


按下去回傳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);
}



import processing.serial.*;
Serial myPort;
void setep(){
  size(300,200);
  myPort = new Serial(this, "COM3", 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);
}


import hypermedia.net.*;
UDP udp;
void setup(){
  size(300,200);
  udp = new UDP(this, 6000);
  udp.send("hello world", "120.125.70.53", 6100);
}
void draw(){
  
}
void mousePressed(){
  udp.send("mousePressed", "120.125.70.53", 6100);
}


2020年11月30日 星期一

WEEK12

 WEEK12

安裝驅動程式




下載原始程式檔

https://github.com/CytronTechnologies/MakerUno_Examples

#define NOTE_C5 523

#define NOTE_E5 659

#define NOTE_G5 784


#define BUTTON 2

#define BUZZER 8


int melody[] = {

  NOTE_E5, NOTE_E5, 0, NOTE_E5, 0, NOTE_C5, NOTE_E5, 0, NOTE_G5

};


int noteDurations[] = {

  10, 10, 10, 10, 10, 10, 10, 10, 10

};


int pin;

int ledArrayHigh;

int ledArrayLow;

boolean mode = false;

boolean buttonPressed = false;


void setup()

{

  delay(1000);

  

  pinMode(BUTTON, INPUT_PULLUP);

  for (pin = 3; pin < 14; pin++) { 

    pinMode(pin, OUTPUT);

  }


  for (int thisNote = 0; thisNote < 9; thisNote++) {

    int noteDuration = 1000 / noteDurations[thisNote];

    tone(BUZZER, melody[thisNote], noteDuration);

    int pauseBetweenNotes = noteDuration * 1.30;

    delay(pauseBetweenNotes);

    noTone(BUZZER);

  }

}


void loop()

{

  for (pin = 0; pin < 5; pin++) {

    if (digitalRead(BUTTON) == LOW &&

        buttonPressed == false) {

      buttonPressed = true;

      mode = !mode;

      pin = 0;

      if (mode == false) {

        tone(BUZZER, NOTE_C5, 100);

        delay(100);

        tone(BUZZER, NOTE_G5, 100);

        delay(100);

        noTone(BUZZER);

      }

      else if (mode == true) {

        tone(BUZZER, NOTE_G5, 100);

        delay(100);

        tone(BUZZER, NOTE_C5, 100);

        delay(100);

        noTone(BUZZER);

      }

    }


    if (mode == false) {

      ledArrayHigh = 13 - pin;

      ledArrayLow = 7 - pin;

    }

    else if (mode == true) {

      ledArrayHigh = 9 + pin;

      ledArrayLow = 3 + pin;

    }

    digitalWrite(ledArrayHigh, HIGH);

    digitalWrite(ledArrayLow, HIGH);

    delay(100);

    digitalWrite(ledArrayHigh, LOW);

    digitalWrite(ledArrayLow, LOW);

 
  if (pin == 4) delay(100);

  }

  if (buttonPressed == true) {

    buttonPressed = false;

  }

}

小鋼琴









7個音色



2020年11月23日 星期一

week11

 WEEK11



先去下載官網CH341SER並且安裝


音樂

#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define So 784

int melody[]={Do,Re,Mi,Do, Do,Re,Mi,Do, Mi,Fa,So};
void setup() {
  // put your setup code here, to run once:
  delay(1000);
  pinMode(8, OUTPUT);
  for(int i=0; i<11; i++){
    tone(8, melody[i], 100);
    delay(130);
    }
}
void loop(){
  }



2020年11月2日 星期一

week08

week08

Pixels








PImage img;

void setup(){

  size(300,200);

  img=loadImage("cloud.png");

}

void draw(){

  image(img, 0,0);

}

void mouseMoved(){

  loadPixels();

  for(int i=0; i<width*height; i++){

    if( pixels[i]==#ffffff )print("1");

    else print("0");

  }

}

2020年10月26日 星期一

WEEK07

week07

找出規律並描繪出三角形的點

 

size(500,500);

for(int angle=0; angle<360; angle+=30){

  float angle2=radians(angle);

  float x = 100+cos(angle2)*50;

  float y = 100+sin(angle2)*50;

  ellipse(x,y,2,2);

}

把點連成線繪製出封閉的三角形


size(500,500);

beginShape();

for(int angle=0; angle<360; angle+=120){

  float angle2=radians(angle);

  float x = 100+cos(angle2)*50;

  float y = 100+sin(angle2)*50;

  vertex(x,y);

}

endShape(CLOSE);

使三角形隨著滑鼠在原地旋轉



void setup(){

  size(500,500);

}

void draw(){

  beginShape();

  for(int angle=0; angle<360; angle+=120){

    float angle2=radians(angle+mouseX);

    float x = 100+cos(angle2)*50;

    float y = 100+sin(angle2)*50;

    vertex(x,y);

  }

  endShape(CLOSE);

}

使三角形隨著滑鼠移動旋轉



void setup(){

  size(500,500);

}

void draw(){

  beginShape();

  for(int angle=0; angle<360; angle+=120){

    float angle2=radians(angle+mouseX);

    float x = mouseX+cos(angle2)*50;

    float y = mouseY+sin(angle2)*50;

    vertex(x,y);

  }

  endShape(CLOSE);

}

設定三角形的大小、選轉角度


void setup(){

  size(500,500);

}

void draw(){

  beginShape();

  for(int angle=0; angle<360; angle+=120){

    float angle2=radians(angle+frameCount);

    float x = mouseX+cos(angle2)*100;

    float y = mouseY+sin(angle2)*100;

    vertex(x,y);

  }

  endShape(CLOSE);

}

接水果遊戲


float fruitX=150, fruitY=0;

float KidX=150,KidY=450;

int score=0;

void setup(){

  size(300,500);

}

void draw(){

  background(255);

  KidX=mouseX;

  rect(KidX,KidY,50,80);

  ellipse(fruitX,fruitY,60,80);

  fruitY++;

  if(fruitY>KidY){

    if(KidX<fruitX && fruitX<KidX+80){

      score +=10;

      fruitY=0;fruitY=random(50,450);

    }else{

      fruitY=0;fruitX=random(50,450);

    }

  }

}

接水果


float [] fruitX = new float[10];

float [] fruitY = new float[10];

float KidX=150,KidY=450;

int score=0;

void setup(){

  size(500,500);

  for(int i=0; i<10; i++){

    fruitX[i] = random(50,450);

    fruitY[i] = -i*100;

  }

}

void draw(){

  background(255);

  rect(KidX,KidY,50,80);

  KidX=mouseX;

  for(int i=0; i<10; i++){

    ellipse(fruitX[i],fruitY[i],60,80);

    fruitY[i]++;

    if(fruitY[i]>KidY){

      if(KidX<fruitX[i] && fruitX[i]<KidX+80){

        score+=10;

        fruitY[i]=0; fruitY[i]=random(50,450);

      }else{

        fruitY[i]=0; fruitX[i]=random(50,450);

      }

    }

  }

}

2020年10月19日 星期一

WEEK06

 week6







設定文字大小、位置



size(500,400);
rect(100,100,200,100);
fill(255,0,0);
textSize(40);
textAlign(LEFT,TOP);
text("Hello",100,100);

設定文字字體




size(300,200);
fill(255,0,0);

PFont font1 = createFont("Times New Roman",30);
textFont(font1);
text("中文vs.English",30,130);

PFont font2 = createFont("標楷體",30);
textFont(font2);
text("中文vs.English",30,30);

陣列




int [][]A={  {1,1,1},
             {0,1,0},
             {0,1,1},
             {1,1,1} };
           
           size(300,400);
           for(int i=0; i<4; i++){
             for(int j=0; j<3; j++){
               if(A[i][j]==0) fill(0);
               else fill(255,0,0);
               
               rect(j*100, i*100,100,100);
 }
}

二維陣列




int [][]A={  {2,2,2,2},
             {0,1,1,1},
             {0,1,1,1},
             {2,2,2,2} };
PImage bird, pig;
void setup(){
  size(400,400);
  bird=loadImage("bird.png");
  pig =loadImage("pig.png");
}
void draw(){
  background(0);
    for(int i=0; i<4; i++){
      for(int j=0; j<4; j++){
         if(A[i][j]==1) image(bird, j*100, i*100,100,100);
         if(A[i][j]==2) image(pig , j*100, i*100,100,100);
   }
 }
}




int [][]A={  {2,2,2,2},
             {0,1,1,1},
             {0,1,1,1},
             {2,2,2,2} };
PImage bird, pig;
void mousePressed(){
  int i=int(mouseY/100);
  int j=int(mouseX/100);
  A[i][j]=0;
}

void setup(){
  size(400,400);
  bird=loadImage("bird.png");
  pig =loadImage("pig.png");
}
void draw(){
  background(0);
    for(int i=0; i<4; i++){
      for(int j=0; j<4; j++){
         if(A[i][j]==1) image(bird, j*100, i*100,100,100);
         if(A[i][j]==2) image(pig , j*100, i*100,100,100);
   }
 }
}







2020年10月12日 星期一

week05

 WEEK05

上傳圖片








PImage img;
float x=100, y=100, vx=3 ,vy=-30;
void setup(){
 size(500,500);
 img = loadImage("fruit.png");
}
void draw(){
 image(img, x, y, 175, 215);
}

(X,Y)座標













PImage img;
float x=100, y=100, vx=3 ,vy=4;
void setup(){
 size(500,500);
 img = loadImage("fruit.png");
}
void draw(){
 image(img, x, y, 100, 100);
 x += vx;
 y += vy;
 vy += 0.98;
}

拋物線













\PImage img;
float x=100, y=500, vx=3 ,vy=-30;
void setup(){
 size(500,500);
 img = loadImage("fruit.png");
}
void draw(){
 image(img, x, y, 100, 100);
 x += vx;
 y += vy;
 vy += 0.98;
 if(y>500){
   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);
  }
 } 
}

切水果













PImage img;
float x=100, y=500, vx=3 ,vy=-30;
int fruitDie=0;
void setup(){
 size(500,500);
 img = loadImage("fruit.png");
}
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;
 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;
 } 
}

加入聲音

import processing.sound.*;
SoundFile sound1;
SoundFile sound2;
void setup(){
  size(300,300);
  sound1 = new SoundFile(this, "sound1.wa");
  sound2 = new SoundFile(this, "sound2.wav");
  //sound1.play();
  sound2.loop();
 }
 void draw(){
   
 }
 void mousePressed(){
   sound1.play();
 }



2020年10月5日 星期一

week4

 week04

匯入照片





顯示圖片



PImage img;

size(730,730);
img=loadImage("image.png");

image(img,0,0);

顯示兩張圖片


PImage img;
PImage img2;

size(730,730);
img=loadImage("image.png");
img2=loadImage("images.png");

image(img,0,0);
image(img2,500,400,224,224);

移動第二張照片


PImage img;
PImage img2;
void setup(){
 size(730,730);
 img=loadImage("image.png");
 img2=loadImage("images.png");
}
void draw(){
 image(img,0,0);
 image(img2,mouseX-224/2,mouseY-224/2,224,224);
}

背景圖移動


PImage img;
PImage img2;
void setup(){
 size(600,518);
 img=loadImage("xxx.png");
 img2=loadImage("zzz.png");
}
int x=0;
void draw(){
  if(mouseX>300) x--;
 image(img,x,0);
 image(img2,mouseX-224/2,mouseY-224/2,224,224);
}















float x=250, y=200;
float vx=0, vy=0;
void setup(){
 size(500,400);
}
void draw(){
 if(mousePressed) line(mouseX,mouseY,x,y);
 ellipse(x,y,10,10);
 ellipse(mouseX,mouseY,10,10);
 x+=vx; y+=vy;
 if(x>500 || x<0) vx = -vx;
 if(y>400 || y<0) vy = -vy;
}
void mouseReleased(){
 vx=x-mouseX; vy=y-mouseY;
}
















float x=250, y=200;
float vx=1.3, vy=14;
void setup(){
 size(500,400);
}
void draw(){
 ellipse(x,y,10,10);
 x+=vx; y+=vy;
 vy+=0.98;
 if(x>500 || x<0) vx = -vx*0.85;
 if(y>400 || y<0) vy = -vy*0.85;
}

2020年9月21日 星期一

week2















size(500,500);//桌布的size
background(#00B9FF);//background背景顏色
stroke(255,0,0);//線的顏色
fill(255,255,0);//填滿的顏色
rect(100,100,300,300);//方形位置






void setup(){
  size(500,500);
}
void draw(){
  if (mousePressed)background(#FFF9D8);//按下的背景色
  else background(#010E43);//沒有按的顏色
}















void setup(){
  size(500,500);
}
void draw(){
  if (mousePressed){
  line(mouseX,mouseY,mouseX,pmouseY);//從哪畫到哪
  }
}
















void setup(){
  size(600,500);
}
void draw(){
  fill(#ff0000); rect(0,0,100,100);
  fill(#ffff00); rect(0,100,100,100);
  fill(#00ff00); rect(0,200,100,100);
  fill(#0000ff); rect(0,300,100,100);
  fill(#ff00ff); rect(0,400,100,100);//旁邊的顏色

  if(mousePressed && mouseX<100 ){
    if(mouseY<100) stroke(#ff0000);
    else if(mouseY<200) stroke(#ffff00);
    else if(mouseY<300) stroke(#00ff00);
    else if(mouseY<400) stroke(#0000ff);
    else if(mouseY<500) stroke(#ff00ff);
  }
else if(mousePressed && mouseX>100 ){//如果超過調色盤就會開始畫畫
  line(mouseX,mouseY,pmouseX,pmouseY);
  }
}