2020年12月7日 星期一

Sunnnnnnnnnnnnnn

 Week13


接到你的joystick上面
就可以滴滴嘟嘟

改變一下程式碼
讓Joystick按下去的時候會回傳1
鬆開時會回傳0

按右上角的放大鏡
可以檢查收到0和1


再來把它寫成Porcessing的程式
讀到Joystick按下去就會變成紅色
放開就是白色

寫個UDP網路傳輸到老師的電腦











WEEK-13

MAKER  UNO

Joystick:


Arduino:

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:

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);

}

WEEK-12

 MAKER UNO

與Processing連結 :


Arduino:


#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define So 784
#define La 880
#define Ti 987
#define Doo 1046
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=='0') noTone(8);
  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=='8') tone(8,Doo);
 }
}

Processing:

import processing.serial.*;
Serial myPort;
void setup(){
  size(200,200);
  myPort = new Serial(this,"COM4",9600);
}
void draw(){
  
}
void keyPressed(){
  if(key=='0') myPort.write("0");
  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");
  if(key=='8') myPort.write("8");
}

翰翰日記11

這禮拜用器材上課(joystick)
void setup()
{
  pinMode(2,INPUT_PULLUP);
  pinMode(8,OUTPUT);
  }
  void loop()
  {
    if(digitalRead(2)==LOW)tone(8,572,100);
    else noTone(8);
    }
這段程式碼可以按joystick讓maker板發出聲音

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);
    }
這段是在寫按下後送0或1

import processing.serial.*;
Serial myPort;
void setup(){
size(300,200);
myPort=new Serial(this, "COM4",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 teacher","120.125.70.53",6100);
}
void draw()
{}
void mousePressed()
{
udp.send("mousePressed","120.125.70.53",6100);
}
這個是網路程式可以給其他電腦發訊息





Bill_week13

 一開始老師先教我們從做安裝MakerUno的東西,先安裝裝置。


再來把老師示範的程式碼打上去


接下來打程式,讓他沒有聲音


使用P語言來做東西,按下按鈕即可變成紅色的。


老師教我們寫網路程式,連線到老師那邊就會有顏色亮燈。


在前面黑板上投影機就會顯示:









程式備份:

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);
}











2020年12月6日 星期日

Yang_week08

 Week08

辨識滑鼠位置顏色

PImage img;

color nowColor;

void setup(){

  size(500,500);

  img=loadImage("01.png");

}

void draw(){

    image(img,0,0);

    fill(nowColor);rect(0,0,30,30);

}

void mouseMoved(){

 loadPixels();

 int now=width*mouseY+mouseX;

 nowColor =pixels[now];  

}











2020年11月30日 星期一

week12 發出音樂

 簡單馬力歐開頭音樂


#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;

  }

}