TOPに戻る

CircuitPython 10行プログラミング Step5 (5) Raspberry Pi PicoのPWM出力

 PWM出力用のモジュールがpwmioです。周波数、デューティ比を変化させて実行してみます。

周波数

 800Hz、デューティ50%の波形(黄色)です。


import pwmio
import time
from board import *
import math

pwm = pwmio.PWMOut(GP0, frequency = 800)
pwm.duty_cycle = pow(2,15)
time.sleep(100)

 周波数を上げます。8kHzです。

 周波数を上げます。80kHzです。

 周波数を上げます。800kHzです。わずかにずれています。

 周波数を上げます。8MHzです。少しずれてきました。

 周波数を上げます。10MHzです。だいぶずれています。

 周波数を上げます。15MHzです。相当ずれています。

デューティ比

 デューティ比を変えます。15kHz、pow(2,14)です。


import pwmio
import time
from board import *
import math

pwm = pwmio.PWMOut(GP0, frequency = 15_000)
pwm.duty_cycle = pow(2,14)
time.sleep(100)

 pow(2,14)は25%です。

 pow(2,13)は12.5%です。

 pow(2,12)は6.25%です。

  10%は、pwm.duty_cycle = int(pow(2,16)*0.1)で指定できます。

  5%は、pwm.duty_cycle = int(pow(2,16)*0.05)で指定できます。

周波数を変更したい

 最初15kHzで5秒維持し、10kHzに変更します。


import pwmio
import time
from board import *
import math

pwm = pwmio.PWMOut(GP0, frequency = 15_000, variable_frequency=True)
pwm.duty_cycle = pow(2,15)
time.sleep(5)
pwm.frequency = 10_000
time.sleep(100)

連載 CircuitPython 10行プログラミング Step5

(1) Raspberry Pi Picoの準備と動作確認

(2) Raspberry Pi Picoのdigitalio

(3) Raspberry Pi Picoのmicrocontroller

(4) Raspberry Pi Picoのアナログ入力

(5) Raspberry Pi PicoのPWM出力

(6) Raspberry Pi PicoのI2S出力

(7) Raspberry Pi PicoのI2C ① OLEDディスプレイ

(8) Raspberry Pi PicoのI2C ② 温湿度センサ

(9) Raspberry Pi PicoのI2C ③ 気圧センサ

(10) Raspberry Pi PicoのSPI ① TFTディスプレイ


連載 CircuitPython 10行プログラミング Step4

(1) Adafruit Feather nRF52840 Senseの準備 (2) Lチカ (3) 搭載センサ (4) BLE①ペリフェラル (5) BLE②セントラル


連載 CircuitPython 10行プログラミング Step3

(1) Metro M4 Express AirLift (WiFi)の準備 (2) ロータリ・エンコーダ (3) eInk/ePaper (4) Wi-Fi その1 接続 (5) Wi-Fi その2 ソケット (6) Wi-Fi その3 電圧測定 (7) 気圧センサLPS25HB (8) サーミスタ


連載 CircuitPython 10行プログラミング Step2

(1) Grand Central M4 Expressの準備 (2) グラフィック・ディスプレイOLED (3) RTC DS3231 (4) モジュール/SDメモリ (5) 複合センサ BME680 (6) ロードセル+ADS1220 (7) サーボ・モータ① (8) サーボ・モータ② (9) I2S UDA1334A (10) D-Aコンバータ


連載 CircuitPython 10行プログラミング

(1) Trinket M0の準備 (2) ディジタルI/O (3) アナログ入出力 (4) I2C 温湿度センサSi7021 (5) SPI 熱電対+MAX31855 (6) UART 距離センサTFMini (7) 1-Wire 温度DS18B20 (8) ロータリ・エンコーダ (9) 7セグメントLED (10) FANコントロール (11) UART GPS (12) I2C Lチカ MCP23017