#include <M5Unified.h> #include <esp32-hal-ledc.h> #define LED_PIN 19 // 赤色LED G19 #define PWM_CH 1 // PWMチャンネル(0~15) #define PWM_FREQ 90 // PWM周波数 (Hz) #define PWM_RES 8 // 分解能 (bit) → 0~255 のデューティ比 void setup() { M5.begin(); M5.Display.setRotation(3); pinMode(LED_PIN, OUTPUT); // PINのモード設定 // PWM のセットアップ ledcAttachChannel(LED_PIN, PWM_FREQ, PWM_RES, PWM_CH); // PWM_FREQ=周波数Frequency(Hz) 【 90Hz より、小さくするとどうなる?】 // PWM_RES=分解能Resolution(bit) M5.Display.setRotation(3); //横向き M5.Display.setFont(&fonts::lgfxJapanGothic_16); M5.Display.println("pwm01 LED点滅サンプル (PWM=Pulse Width Modulation パルス幅変調)"); M5.Display.setTextScroll(true); } void loop() { for (int duty = 0; duty <= 255; duty += 5) { ledcWrite(LED_PIN, duty); delay(20); } delay(500); for (int duty = 255; duty >= 0; duty -= 5) { ledcWrite(LED_PIN, duty); delay(20); } delay(500); // 別の方法 // ledcFade(LED_PIN, 255, 10, 1000); // ledcWrite(LED_PIN, 10); // これがないと切り替わらない // ledcFade(LED_PIN, 10, 255, 1000); // ledcWrite(LED_PIN, 255); // これがないと切り替わらない // delay(500); // 一瞬消灯状態を維持 }