[Intel Edison Breakout board & Node.js] PWM으로 LED 밝기 조절
작업 환경
사이트 축소판 그림
1. Intel XDK IoT Edition 없이 LED 켜기
이전에는 Intel XDK IoT Edition 을 사용해 프로그램을 만들었지만, 왜 사용할 수 없었는지 알 수 없습니다.
딱 좋은 기회니까 터치로 터치해봐.
먼저 샘플 프로그램을 저장하는 폴더로 이동합니다.
terminal
cd /usr/share/mraa/examples/javascript
다음에 프로그램을 만들고 vi에서 엽니다.terminal
vi blink.js
다음 프로그램을 쓰고 저장하고 vi를 끝냅니다.node.js
var mraa = require('mraa'); //require mraa
console.log('MRAA Version: ' + mraa.getVersion()); //write the mraa version to the Intel XDK console
var myOnboardLed = new mraa.Gpio(14);
myOnboardLed.dir(mraa.DIR_OUT); //set the gpio direction to output
var ledState = true; //Boolean to hold the state of LedperiodicActivity(); //call the periodicActivity functionfunction periodicActivity()
{
myOnboardLed.write(ledState?1:0); //if ledState is true then write a '1' (high) otherwise write a '0' (low)
ledState = !ledState; //invert the ledState
setTimeout(periodicActivity,1000); //call the indicated function after 1 second (1000 milliseconds)
}
다음 명령을 사용하여 프로그램을 실행합니다.terminal
node blink.js
Breakout Board 후면에 LED 연결LED를 포트에 직접 연결하기 때문에 LED 종류에 따라 전류가 부족해 빛을 발하지 못하는 경우가 있다.(이번에는 빨간색을 사용했는데 흰색이면 점이 없어요.)
프로그램의 끝은
ctrl + z
이다.2. 프로그램 변경 PWM으로 LED 밝기 변경
다른 프로그램을 만들고 vi에서 엽니다.
terminal
vi ledpwm.js
다음 프로그램을 쓰고 저장하고 vi를 끝냅니다.(vi의 사용 방법은 다른 사이트를 참조하세요)node.js
var mraa = require('mraa'); //require mraa
//Initialize PWM on Digital Pin #1 (D1) and enable the pwm pin
var pwm1 = new mraa.Pwm(14);
pwm1.enable(true);
//set the period in microseconds.
pwm1.period_us(2000);
var value = 0.0;
setInterval(function () {
if (value >= 1.0) {
value = 0.0;
}
value = value + 0.03;
pwm1.write(value); //Write duty cycle value.
console.log(pwm1.read());//read current value that is set before.
}, 100);
다음 명령을 사용하여 프로그램을 실행합니다.terminal
node ledpwm.js
Breakout Board 후면에 LED를 연결합니다.Reference
이 문제에 관하여([Intel Edison Breakout board & Node.js] PWM으로 LED 밝기 조절), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuji_miyano/items/95bd5a4f9e00249c8559텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)