○サーボモーター制御用端子(PWM出力端子)
Arduino 3、5、6、10、11
Raspberry Pi(※) 12、32、33、35
※Model A+/B+/Raspberry Pi 2/ Raspberry Pi 3/Raspberry Pi Zero
○基本回路/プログラム
◇Arduino
・配線
・プログラム
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var raspi = require('raspi-io'); | |
var five = require("johnny-five"); | |
var board = new five.Board({io: new raspi()}); | |
board.on("ready", function() { | |
var servo = new five.Servo('P1-12'); | |
this.repl.inject({ | |
servo: servo | |
}); | |
servo.sweep(); | |
}); |
※オプション、APIはArduinoのプログラムを参照してください。
○PWMパルス幅の設定
ArduinoとRaspberry Piでは、PWMの周期が異なるため、サーボモーターの回転角度が違ってきます。調整する方法はないかと調べてみると、「pwmRange」オプションでPWMのパルス幅を調整できることが分かりました。
・オプション書式
pwmRange:[最小パルス幅, 最大パルス幅]
・プログラム(Raspberry Pi用)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var raspi = require('raspi-io'); | |
var five = require("johnny-five"); | |
var board = new five.Board({io: new raspi()}); | |
board.on("ready", function() { | |
var servo = new five.Servo({ | |
pin: 'P1-12', | |
pwmRange:[600, 2200] | |
}); | |
this.repl.inject({ | |
servo: servo | |
}); | |
servo.sweep(); | |
}); |
サーボモーターの種類にもよりますが、規定のままではArduinoでも回転角度がズレる場合があるので、必要に応じて、「pwmRange」オプションで調整してください。
0 件のコメント:
コメントを投稿