embeded/raspberry pi2020. 5. 13. 21:50

wiringpi와는 다르게 BCM 쪽의 번호를 써야 하는 차이가 있다.

그리고 onoff 모듈은 pwm은 지원하지 않아서 다른걸 써야 할 듯..

 

아래는 gpio 유틸리티로 설정하는 부분 이고 아래의 포트는

// 초기설정
sudo gpio mode 21 out
sudo gpio mode 22 out
sudo gpio mode 23 pwm

 

node.js onoff 에서는 다음과 같이 다른 번호를 사용하게 된다.

const Gpio = require('onoff').Gpio;

var in1 = new Gpio(5, 'out')
var in2 = new Gpio(6, 'out')
var in0 = new Gpio(13, 'out')

in1.writeSync(1)
in2.writeSync(0)
in0.writeSync(1)

 

 

[링크 : https://www.npmjs.com/package/onoff]

 

 

PWM 지원하는 녀석 이라는데 코드를 막상보면

PWM을 하드웨어로 구현하는게 아니라 타이머를 이용해서 소프트웨어 PWM으로 구현한 듯

const Gpio = require('pigpio').Gpio;
 
const led = new Gpio(17, {mode: Gpio.OUTPUT});
 
let dutyCycle = 0;
 
setInterval(() => {
  led.pwmWrite(dutyCycle);
 
  dutyCycle += 5;
  if (dutyCycle > 255) {
    dutyCycle = 0;
  }
}, 20);


[링크 : https://github.com/fivdi/pigpio]

Posted by 구차니