micro:bit PWM
構文: setServoValue(角度° [, 範囲 μs [, センター μs]]) 周期は 20 ms。 角度 0° のときのパルス幅は 500 μs、角度 180° のときのパルス幅は 2500 μs。 範囲のデフォルト値は 2000、センターのデフォルト値は 1500 (MicroBitPin.h に定義してある)。 以上…
ここではトランジスターでドライブしているが直接ドライブしてもよい。 #include "MicroBit.h" MicroBit uBit; int main(void){ uBit.init(); int val = 0; // デューティの初期値 int inc = 1; // デューティの増分 (または減分) uBit.io.P0.setAnalogValue…
#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…
無限ループは不要である。 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…
無限ループは不要である。 #include "MicroBit.h" MicroBit uBit; int main(void){ uBit.init(); uBit.io.P0.setAnalogValue(512); // 必ず先にデューティ (0 ~ 1023) を設定しておく。 uBit.io.P0.setAnalogPeriod(1); // 周期〔ms〕を設定する。 printf("…