정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 프로세싱 버튼 영상 제어
꼉쓰 | 2019-07-29

아두이노랑 프로세싱을 사용하여 스위치 버튼으로 영상을 제어하고 싶은데,

아두이노 시리얼 모니터에서는 버튼을 누르면 멈추는데

프로세싱에서 영상이 열렸을때는 영상이 안멈추네요ㅠㅠ

어떻게 코딩을 해야할까요?

그리고 버튼을 한번 눌렀을때 영상이 멈추고, 다시 버튼을 눌렀을때 영상이 재생 되는 형식으로는 못하나요?

 

아두이노 코드

 

int switchPin = 4;                       // Switch connected to pin 4

void setup() {
  pinMode(switchPin, INPUT);             // Set pin 0 as an input
  Serial.begin(9600);                    // Start serial communication at 9600 bps
}

void loop() {
  if (digitalRead(switchPin) == HIGH) {  // If switch is ON,
    Serial.write(0);               // send 1 to Processing
  } else {                               // If the switch is not ON,
    Serial.write(1);               // send 0 to Processing
  } 
  delay(100);                            // Wait 100 milliseconds
}

 

 

프로세싱 코드

 

import processing.video.*;
import processing.serial.*;
Serial port;
Movie myMovie;
int val = 0;
void setup() {
 size(960, 540);
 background(0);
 myMovie = new Movie(this, "Video Dec 08, 19 20 04.mov");
 myMovie.loop();

 println(Serial.list());
 // print a list of all available ports

 port = new Serial(this, Serial.list()[1], 9600);
 // choose the port to which the Arduino is connected
 // on the PC this is usually COM1, on the Macintosh
 // this is usually tty.usbserial-XXX
}
void draw() {
 background(255);

 if (0 < port.available()) {
 val = port.read();
 }

 image(myMovie, 0, 0);

 if (val == 0) {
 myMovie.speed(1);
 } else {
 myMovie.speed(0);
 }
}
// Called every time a new frame is available to read
void movieEvent(Movie m) {
 m.read();
}

 

답변 부탁드립니다ㅠㅠㅠ

 

이전글   |    아두이노 심박수 측정 2019-07-28
다음글   |    형님들 제발좀 도와주세요ㅠㅠi2c 통신으로 초음파 센서값을 얻으려구 합니다..그런데 값이... 2019-07-30