micro:bit PWM

micro:bit / PWM / サーボを驅動する / mbed

構文: setServoValue(角度° [, 範囲 μs [, センター μs]]) 周期は 20 ms。 角度 0° のときのパルス幅は 500 μs、角度 180° のときのパルス幅は 2500 μs。 範囲のデフォルト値は 2000、センターのデフォルト値は 1500 (MicroBitPin.h に定義してある)。 以上…

micro:bit / PWM / LED をぼわーんと光らせる / mbed

念のためトランジスターでドライブしているが制限抵抗の値をうまく選べば P0 ~ P2 端子は直接ソースまたはシンクとして使えると思う。 #include "MicroBit.h" MicroBit uBit; int main(void){ uBit.init(); int val = 0; // デューティの初期値 int inc = 1…

micro:bit / PWM / デューティを極端に頻繁に切り換えると glitch が出る / mbed

#include "MicroBit.h" MicroBit uBit; int main(void){ uBit.init(); double periodUs = 50.0; double puseWidth1 = 10.0; double puseWidth2 = 40.0; uBit.io.P0.setAnalogValue(int(1023.0*puseWidth1/periodUs)); uBit.io.P0.setAnalogPeriodUs(int(peri…

micro:bit / PWM の設定方法 / MicroPython

無限ループは不要である。 from microbit import * pin0.set_analog_period(1) # Set the period in ms. #pin0.set_analog_period_microseconds(1000) # You can set the period in us. pin0.write_analog(0.33*1023.0) # Set the duty, (int or float)0-102…

micro:bit / PWM の設定方法 / mbed

無限ループは不要である。 #include "MicroBit.h" MicroBit uBit; int main(void){ uBit.init(); uBit.io.P0.setAnalogValue(int(0.5*1023.0)); // 必ず先にデューティ (0 ~ 1023) を設定しておく。 uBit.io.P0.setAnalogPeriod(1); // 周期〔ms〕を設定す…