We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
現在アナログ出力対応の拡張が実装されているが、 https://chirimen.org/chirimen-micro-bit/guidebooks/extendedFunctions.html
pins.analogWritePin() だけ使っていて ping.analogSetPeriod() を一切使っていない。従って単にアナログ出力として使う分には問題無いが、PWM として使いたい場合には未対応。
この結果、例えばタミヤの mi-01 を使いたいという人がすんなり使えない。 https://www.tamiya.com/japan/robocon/topics/faq190711.html
実際には mi-01 を使うだけなら analogSetPeriod(pin, 1000) などと PWM 周期の初期化を processGpioAwrite() の最初に一度だけ呼ぶようにするとか適当に書き換えれば使えるが、ちゃんと?拡張 WebGPIO API 的に (または WebPWM API として) 定義したい。
https://github.com/chirimen-oh/chirimen-micro-bit/blob/master/micro-bit/custom.ts#L115-L118
export function processGpioAwrite(): string { pins.analogWritePin(getPinAddr(gpioPort), gpioVal) return (gpioPort + "," + gpioVal) }
https://makecode.microbit.org/reference/pins/analog-write-pin https://makecode.microbit.org/reference/pins/analog-set-period
The text was updated successfully, but these errors were encountered:
このタミヤのキット、超音波センサーがI2Cになっていたりいろいろ興味深い造りのようですが、ちょっと検証用だけの調達はハードル高いですね。 https://www.denshi.club/cookbook/arduino/microbit/post-11.html に少し解析された情報が載っていますが、実物がないと動作の確認は難しそうですね。 よくあるフルブリッジのモーターコントローラにPWM信号を入れる場合は、PWMの周波数はそれほどシビアでないと思いますが、これはPWMのデューティ比1:1で停止となるようなので、ちょっと異なるように見えます(360°連続回転サーボ(ローテーションサーボ)に近い?)
とりあえずPWM周波数を設定できる仕組みの実装を試してみます(課題はmicrobit側のリソース不足か)
Sorry, something went wrong.
https://chirimen.org/chirimen-micro-bit/alpha/pwmExtension/ つくってみました
gpioPort.setPwmPeriod(pwmPeriodInMicroSec);
SoCの制約からと思いますがいろいろクセのある振る舞いをします。 PWM周波数は全ピン共通(ピン指定で周期を設定しても他のピンにも波及する・・そうだろうとは思ったけど)、ただしPWMデューティー比はピンごとに設定可能とか・・
ここまでできれば、サーボは直接駆動できるかな。あと、圧電スピーカーつけて音を出すとか
No branches or pull requests
現在アナログ出力対応の拡張が実装されているが、
https://chirimen.org/chirimen-micro-bit/guidebooks/extendedFunctions.html
pins.analogWritePin() だけ使っていて ping.analogSetPeriod() を一切使っていない。従って単にアナログ出力として使う分には問題無いが、PWM として使いたい場合には未対応。
この結果、例えばタミヤの mi-01 を使いたいという人がすんなり使えない。
https://www.tamiya.com/japan/robocon/topics/faq190711.html
実際には mi-01 を使うだけなら analogSetPeriod(pin, 1000) などと PWM 周期の初期化を processGpioAwrite() の最初に一度だけ呼ぶようにするとか適当に書き換えれば使えるが、ちゃんと?拡張 WebGPIO API 的に (または WebPWM API として) 定義したい。
https://github.com/chirimen-oh/chirimen-micro-bit/blob/master/micro-bit/custom.ts#L115-L118
https://makecode.microbit.org/reference/pins/analog-write-pin
https://makecode.microbit.org/reference/pins/analog-set-period
The text was updated successfully, but these errors were encountered: