정보나눔

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

아날로그 센서값을 이용해서 마우스를 움직이고 싶습니다만.. 스케치 확인 부탁드립니다.
조인오 | 2016-09-04

원하는 동작은, 센서의 값이 7 이상이 되었을 때, 마우스 포인터가 (0,10) 움직이는 것인데, 다음 스케치가 그 동작을 정확하게 하는지 확신이 들지 않아 글을 올려봅니다.


#define upButton A0
#include "Mouse.h"
double value0 = 0;
int rmsArray0[50];
double result0;
int N = 50;
int counter = 0;
 
void setup() {
  pinMode(upButton, INPUT);
  Serial.begin(9600);
  Mouse.begin();
}
 
void loop() {
  value0 = analogRead(upButton);
  if (counter++ < N) {
    rmsArray0[counter] = value0 - 503.70;
  }
  else {
    counter = 0;
    result0 = 0;
    for (int i = 0; i < N; i++) {
      result0 += pow(rmsArray0[i], 2);
    }
    result0 /= N;
    result0 = sqrt(result0);
    if (result0 > 0) {
    char inChar = Serial.read();
    switch (inChar) {  
    case 'u':
Mouse.move(0, 10);
      break;
  }
  delay(5);
    }    }}

 컴파일링 상으로는 문제가 없는데,  막상 레오나르도에 업로드를 하려고 하니 COM11에 연결 되었던 포트가 업로드되는 순간에 순간적으로 COM13으로 연결되었다가 업로드가 끝나고 나면 COM11로 다시 돌아오는 기현상을 보여 시리얼 모니터로 확인도 불가능합니다. 이 경우에는 무엇이 문제인지 해결책이 궁금합니다.

이전글   |    시리얼통신에 문제가 있는것같습니다. 2016-09-03
다음글   |    타이머를 사용한 스케치 파일입니다. 2msec에서 좌우로 진동하는데 방법좀 알려주십시요 ... 2016-09-05