nodeJS로 Arduino 제어하기 #1”에 대한 15개의 생각

  1. 아두이노 쪽 소스에
    Serial.begin(9600) 이 빠진거같네요.
    다음과 같이 해야 동작되는거같습니다.

    void setup() {
    Serial.begin(9600); 0 ) { // 뭔가 입력값이 있다면
    //digitalWrite(13, HIGH);
    incomingValue = Serial.read();
    Serial.println(incomingValue);

    }
    if ( incomingValue == 49 ) { // 값이 ‘1’ 이면
    digitalWrite(13, HIGH); // LED를 켠다.
    }
    if ( incomingValue == 48 ) { // 값이 ‘0’ 이면
    digitalWrite(13, LOW); // LED를 끈다.
    }
    }

  2. void setup() {
    Serial.begin(9600);
    pinMode(13, OUTPUT);
    Serial.println(“hello”);

    }
    void loop() {
    //digitalWrite(13, HIGH);
    int incomingValue = 0; // nodeJS에서 보낸값
    if ( Serial.available() > 0 ) { // 뭔가 입력값이 있다면
    //digitalWrite(13, HIGH);
    incomingValue = Serial.read();
    Serial.println(incomingValue);

    }
    if ( incomingValue == 49 ) { // 값이 ‘1’ 이면
    digitalWrite(13, HIGH); // LED를 켠다.
    }
    if ( incomingValue == 48 ) { // 값이 ‘0’ 이면
    digitalWrite(13, LOW); // LED를 끈다.
    }
    }

  3. setLED 함수 8줄에 버그가 있는거같습니다.

    예를들어 flag값이 1 이라고 하면

    flag+’0′

    하면 결과가 48이아니라 자바스크립트에서는 ’10’ 이지않나요?

  4. 글을 제대로 읽고 실습하신 분이 드디어 계시는군요.
    감사합니다.
    지적하신 부분은 수정해놓겠습니다. 😀

  5. 얼마전 부터 혼자 노드랑 아두이노 공부를 시작한 학생입니다..위의 소스를 똑같이 써서 했는데 node.js 에서

    fs.js:415
    binding.write(fd, buffer, offset, length, position, wrapper);
    ^
    TypeError: Bad argument
    at Object.fs.write (fs.js:415:11)
    at C:\Users\514-2-1\workspace\Test\ardu.js:17:12
    at Object.oncomplete (fs.js:297:15)

    이러한 에러가 나는데 이럴때는 어떻게 해야하나요. 제가 아직 완전 문외한이라서 하루동안 메달려도 도저히 해결을 할 수 가 없네요 ㅠㅠ

  6. 해당소스에 ‘/dev/tty-usbserial1’ 부분은 리눅스나 유닉스용 장치명입니다.
    윈도우일경우 ‘COM1’ 등과 같은 형태로 적으시면 됩니다.

  7. <>

    var isOn = false;
    setInterval(function(){
    if ( !isOn ) { // OFF면
    setLED(1);
    } else { // ON이면
    setLED(0);
    }
    isOn = !isOn;
    }, 1000);

    function setLED(flag) {
    var fs = require(‘fs’);

    // Appending 모드로 /dev/tty-usbserial1 장치를 Open
    fs.open(‘COM3’, ‘a’, 666, function( e, fd ) {
    // flag가 0이 아니면 ‘1’을 보내고,
    // 0이면 ‘0’을 보낸다.
    fs.write( fd, flag ? ‘1’ : ‘0’, null, null, null, function(){
    fs.close(fd, function(){
    console.log(‘Sending ‘, flag);
    });
    });
    });
    }

    한 후 cmd에서 node app.js 실행하면 커서만 깜밖이고 아무런 반응이 없는데 이건 이가 뭐죠??

  8. 고맙습니다. 참고해서 열심히 공부하겠습니다~

  9. 감사합니다. Node.js랑 다른 센서를 연결시키면 무선으로 동작시킬 수 있을텐데 아쉽네요. 혹시 따로 센서나 방법이 있나요?(USB 포트만 연결하면 재미없을 것 같네요.)

  10. 디지털 센서라면 Raspberry Pi를 사용하시는 것도 방법입니다.

kyungw00k님에게 덧글 달기