ガイド · 読了まで11分

Arduinoのクリスマス工作:LED・音・光を使った12のアイデア

LEDツリー、ブザーで奏でるクリスマスソング、サンタ探知機、日没に点灯する照明、LEDキャンドルなど、Arduinoのクリスマスプロジェクトを紹介します。部品・制作時間・費用の比較表も掲載しています。

Arduinoのクリスマスプロジェクトは、電子工作を楽しく学ぶ絶好のきっかけです。数個のLEDやブザー、センサーがあれば、自分で書いたコードでツリーや窓、玄関を飾れます。この記事では、Arduino、ESP32、Raspberry Pi Picoで作れる、クリスマスと新年のための12のプロジェクトを紹介します。揺らめくLEDキャンドルやクリスマスソングを奏でるオルゴールから、暖炉の前に置くサンタ探知機、日没に自動で点灯する屋外照明まで取り上げます。どれも実際に試された確かな技術を使い、多くは一晩で完成します。

まず、12のプロジェクトを1つの表で比較します。使うボードと部品、制作時間、費用の目安がわかります。続いて各プロジェクトを簡単に説明し、そのうち3つにはすぐに書き込めるコードを用意しています。詳しい組み立て手順が必要なプロジェクトには、今月公開したステップごとのガイドへのリンクを掲載しています。最後に、飾りへの安全な給電方法と、よくある失敗を紹介します。

Arduinoのクリスマスプロジェクトに使うWS2812B NeoPixel LED
WS2812B NeoPixel LEDは、1本のデータ線でLEDごとに色を指定できる、クリスマスの飾りの主役です。

12のプロジェクトを一覧で比較

#プロジェクトボード主な部品制作時間費用
1WS2812BのクリスマスツリーUno / ESP32WS2812Bテープ、5 V ACアダプター、1000 µFコンデンサ2〜3時間高
2ブザーで奏でるクリスマスソングUnoパッシブブザー、LED2個、ボタン30分低
3揺らめくLEDキャンドルUno / Nano黄色LED3個、3 × 220 Ω20分低
4サンタ探知機UnoHC-SR501 PIR、パッシブブザー、LED1時間低
5日没に点灯する屋外照明ESP32リレーモジュール、5 V ACアダプター、密閉ケース2時間中
6NeoPixelのクリスマススターPico / UnoLED24個のWS2812Bリング、330 Ω、1000 µF1時間中
7色が変わるボールオーナメントUno / ESP32RGB LED、3 × 220 Ω、すりガラス風のボールオーナメント30分低
8光が流れるガーランドUnoLED8個、8 × 220 Ω、ポテンショメーター45分低
9新年のカウントダウンタイマーESP32MAX7219の4-in-1マトリクス、ブザー2時間中
10暗くなると点灯する窓飾りUno / ESP32LDR、10 kΩ、LEDまたは短いLEDテープ30分低
11リモコンで照明モードを切り替えUno赤外線受信モジュール、リモコン、RGB LED1時間低
12プレゼント箱のアラームUno / Nanoリードスイッチ、磁石、ブザー30分低

費用の欄は価格ではなく目安を示しています。価格は国や月によって大きく変わるためです。低は、スターターキットに入っている部品で作れるプロジェクトです。中は、モジュールを1つ追加する必要があります(リレー、LEDリング、マトリクスディスプレイなど)。高は、数メートルのLEDテープと大容量の5 V ACアダプターが必要なツリーのプロジェクトです。まだキットがなければ、まずArduinoスターターキットのガイドを参照してください。

1.WS2812B LEDで作るクリスマスツリー

一覧の中で最も華やかなプロジェクトです。ツリーに巻いたアドレサブルWS2812Bテープが、1本のデータ線で虹、降雪、きらめきなどの演出を再生します。高さ1.5〜1.8 mのツリーなら、150個のLED、つまり30 LED/mのテープ5 mから始めるとよいでしょう。LEDは最大輝度の白色で1個あたり約60 mAを消費するため、150個なら計算上は9 Aが必要です。実際の演出では電流は3 A程度に収まり、5 V 6 AのACアダプターで足ります。テープの入力部に1000 µFのコンデンサ、データ線に330 Ωの抵抗を入れると、先頭のLEDを保護できます。組み立ての全手順、FastLEDのコード、ボタンによるモード切り替えは、クリスマスツリーのLEDの記事で紹介しています。BlueGraysの「WS2812Bの使い方」と「WS2812Bのアニメーション」のプロジェクトでも、基礎を順番に学べます。

2.ブザーで奏でるクリスマスソング

パッシブブザーとtone()関数を使うと、「ジングルベル」「おめでとうクリスマス」「きよしこの夜」「ひいらぎかざろう」を演奏できます。ポイントは、正しい周波数と音の長さです。C5は523 Hz、E5は659 Hz、G5は784 Hzで、120 BPMなら8分音符の長さは250 msです。アクティブブザーは1つの音程でしか鳴らないため、ここでは使えません。必ずパッシブブザーを選んでください。4曲分の完全な音符配列、音符に合わせて光る2個のLED、曲選択ボタン付きのmillisベースのプレーヤーは、ジングルベルのArduinoコードに用意しています。初めてなら、無料のブザープロジェクトで慣れておきましょう。

3.揺らめくLEDキャンドル

本物のろうそくの代わりに、安全なLEDキャンドルを作ります。黄色またはオレンジ色のLEDを3個、PWMピンでランダムな明るさにすると、炎のように揺らめきます。コツは、2種類のランダムさを組み合わせることです。明るさは120から255の間で選び、炎が完全に消えないようにします。待ち時間も30〜120 msの間で変え、機械的に規則正しく揺らめかないようにします。LEDを紙のランタン、瓶、すりガラスの中に入れると、光が拡散してずっと本物らしくなります。電池で動かす方法や、より自然な炎のアルゴリズムは、LEDキャンドルの演出を参照してください。

C++ (Arduino IDE)
1// Titreyen LED mum: 3 sarı/turuncu LED, PWM pinleri 9, 10, 11
2// Flickering LED candle: 3 yellow/orange LEDs on PWM pins 9, 10, 11
3const int CANDLE_PINS[3] = {9, 10, 11};   // her LED'e 220 ohm direnç / 220 ohm resistor per LED
4
5void setup() {
6  for (int i = 0; i < 3; i++) {
7    pinMode(CANDLE_PINS[i], OUTPUT);
8  }
9  randomSeed(analogRead(A0));             // boş pinden rastgele tohum / random seed from a floating pin
10}
11
12void loop() {
13  for (int i = 0; i < 3; i++) {
14    int brightness = random(120, 256);    // 120-255: hiç sönmeyen alev / a flame that never goes dark
15    analogWrite(CANDLE_PINS[i], brightness);
16  }
17  delay(random(30, 120));                 // düzensiz aralık = doğal titreme / irregular timing = natural flicker
18}

4.サンタ探知機

暖炉やツリーの前にHC-SR501 PIRセンサーを置きます。夜に誰かが近づくとLEDが点灯し、ブザーが「ホー、ホー、ホー」と鳴り、シリアルモニタに訪問回数が表示されます。PIRセンサーは電源を入れてから最初の30〜60秒間で部屋の状態を学習し、その間は誤検知することがあります。そのため、コードの冒頭で1分間待機します。センサーの2つの半固定抵抗(トリマー)で、感度(約3〜7 m)と出力がHIGHを維持する時間を設定します。以下のコードは最も簡単な版です。MP3音声を再生し、暗いときだけ警戒状態になり、ESP32からスマートフォンに通知する完全版は、サンタ探知機で紹介しています。

C++ (Arduino IDE)
1// Noel Baba dedektörü: PIR hareket görünce LED yanar, buzzer "ho ho ho" çalar
2// Santa detector: when the PIR sees motion, the LED lights and the buzzer plays "ho ho ho"
3const int PIR_PIN = 2;          // HC-SR501 OUT
4const int BUZZER_PIN = 8;       // pasif buzzer / passive buzzer
5const int LED_PIN = 13;         // kırmızı LED (220 ohm) / red LED (220 ohm)
6const unsigned long COOLDOWN_MS = 10000;   // 10 sn içinde tekrar ötme / don't retrigger within 10 s
7
8unsigned long lastAlarm = 0;
9int visits = 0;
10
11void hoHoHo() {
12  for (int i = 0; i < 3; i++) {
13    digitalWrite(LED_PIN, HIGH);
14    tone(BUZZER_PIN, 392, 250);   // G4
15    delay(300);
16    digitalWrite(LED_PIN, LOW);
17    tone(BUZZER_PIN, 330, 250);   // E4
18    delay(400);
19  }
20}
21
22void setup() {
23  Serial.begin(9600);
24  pinMode(PIR_PIN, INPUT);
25  pinMode(LED_PIN, OUTPUT);
26  Serial.println(F("PIR isiniyor (60 sn) / PIR warming up (60 s)"));
27  delay(60000);                   // PIR ilk dakikada yanlış tetikler / PIR false-triggers in the first minute
28}
29
30void loop() {
31  if (digitalRead(PIR_PIN) == HIGH && millis() - lastAlarm > COOLDOWN_MS) {
32    lastAlarm = millis();
33    visits++;
34    Serial.print(F("Noel Baba gorundu! Ziyaret / Santa spotted! Visit: "));
35    Serial.println(visits);
36    hoHoHo();
37  }
38}

5.日没に点灯する屋外照明(ESP32)

毎晩同じ時刻にベランダや庭の照明を点灯する普通のタイマーは、季節による日没時刻の変化に対応できません。ベルリンの日没は11月1日が16:38、12月1日が15:57、1月31日が16:47です。一方、ESP32はWi-Fi経由でNTPから時刻を取得し、緯度と経度からその日の日没時刻を計算します。暗くなるタイミングでリレーを使って点灯し、深夜0時に自動で消灯します。12月21日の日没はイスタンブールで17:38、ベルリンで15:53ですが、この違いもコードが自動で計算します。スマートフォンで開く小さなWebページから、手動で照明を切り替えることもできます。コード、都市別の日没時刻表、屋外での安全対策は、ESP32のクリスマス照明タイマーで紹介しています。

6.NeoPixelのクリスマススター

24個のLEDを備えたWS2812Bリングは、ツリーのてっぺんに付ける星にぴったりです。Raspberry Pi Picoなら、MicroPython内蔵のneopixelモジュールを使って数行で動かせます。モバイルバッテリーから給電すれば、コードレスの飾りになります。Pico版、5つの演出、タッチボタンによるモード切り替えは、Picoのクリスマス飾りで紹介しています。Unoがあれば、以下のコードで暖かみのある白色をベースにランダムなきらめきを作れます。明るさを60に制限しているため、24個のLEDの消費電流は最大でも約350 mAです。短いテストならUSBでも問題ありませんが、常用する場合は別の5 V電源からリングに給電してください。

C++ (Arduino IDE)
1// Ağaç tepesi yıldızı: 24'lü WS2812B halka, sıcak beyaz zemin üstünde rastgele parıltı
2// Tree-top star: 24-LED WS2812B ring, random twinkles over a warm white base
3#include <Adafruit_NeoPixel.h>
4
5const int RING_PIN = 6;          // DIN, araya 330 ohm direnç / DIN through a 330 ohm resistor
6const int LED_COUNT = 24;
7Adafruit_NeoPixel ring(LED_COUNT, RING_PIN, NEO_GRB + NEO_KHZ800);
8
9uint8_t level[LED_COUNT];        // her LED'in parıltı seviyesi / twinkle level per LED
10
11void setup() {
12  ring.begin();
13  ring.setBrightness(60);        // 0-255; 60 ile 24 LED en fazla ~350 mA / at 60, 24 LEDs draw at most ~350 mA
14  randomSeed(analogRead(A0));
15}
16
17void loop() {
18  if (random(10) < 3) {
19    level[random(LED_COUNT)] = 255;            // yeni parıltı / new twinkle
20  }
21  for (int i = 0; i < LED_COUNT; i++) {
22    uint16_t w = level[i];
23    // sıcak beyaz zemin + beyaza çeken parıltı / warm white base + twinkle toward white
24    uint8_t r = 90 + w * 165 / 255;    // 90-255
25    uint8_t g = 40 + w * 215 / 255;    // 40-255
26    uint8_t b = 10 + w * 245 / 255;    // 10-255
27    ring.setPixelColor(i, ring.Color(r, g, b));
28    if (level[i] > 8) level[i] -= 8; else level[i] = 0;    // yavaşça sön / fade out slowly
29  }
30  ring.show();
31  delay(30);
32}

7.色が変わるボールオーナメント

すりガラス風のプラスチック製ボールオーナメントにRGB LEDを1個入れると、赤から緑、金色へとなめらかに色が変わり、ツリーに動きのある彩りを加えられます。3つの色のチャンネルを、それぞれ220 Ωの抵抗を介して3本のPWMピンにつなぎ、analogWrite()の値を少しずつ変えます。カソードコモンLEDの共通端子はGNDへ、アノードコモンLEDでは5 Vへつなぎ、明るさの制御論理を反転します。この違いはRGB LEDの使い方で説明しています。BlueGraysの「RGB LEDで滑らかに色を変える」プロジェクトには、この演出用の回路とコードが用意されています。ESP32版は、ESP32のRGB LED制御プロジェクトを参照してください。

8.光が流れるガーランド

色付きLEDを8個並べ、端から端へ光が走る定番の流れるLEDや、光が往復するナイトライダー風の演出を作ります。ポテンショメーターを追加し、analogRead()の値を30〜300 msの待ち時間に変換すれば、手動で速さを調整できます。赤、緑、黄色のLEDを交互に並べると、クリスマスカラーがそろいます。各LEDの220 Ω抵抗を忘れないでください。適切な値はLED抵抗計算ツールで求められます。演出の仕組みはナイトライダーと流れるLEDで説明しています。完成した回路は、無料の「流れるLED」と「Knight Rider風LED」のプロジェクトに用意しています。

9.新年のカウントダウンタイマー

4個のMAX7219モジュールを組み合わせた32×8 LEDマトリクスに、新年までの残り日数、時間、分をスクロール表示します。ESP32はNTP経由でインターネットから時刻を取得するため、時刻設定は不要です。深夜0時になると新年を祝うメッセージが流れ、ブザーがメロディーを奏でます。インターネットがなくても、Arduino UnoとRTC時計モジュールで同じことができます。両方の配線図、ライブラリ、コードは、新年のカウントダウンタイマーに掲載しています。マトリクスディスプレイの基礎を学ぶなら、BlueGraysの4連32x8マトリクスでアニメーションと文字を表示するプロジェクトから始めるとよいでしょう。

10.暗くなると自動で点灯する窓飾り

LDRと10 kΩの抵抗で作った分圧回路は、analogRead()によって周囲の明るさを0から1023の数値に変換します。値が設定したしきい値を下回ると窓飾りのLEDが点灯し、朝になって明るくなると消灯します。夕暮れ時に雲が通り過ぎても飾りが点滅しないよう、しきい値を2つ使います。例えば300未満で点灯し、400を超えたら消灯します。この小さな差をヒステリシスと呼び、ちらつきを完全に防ぎます。センサーの詳細はLDR光センサーを参照してください。回路とコードは、無料の「LDRで作る常夜灯」プロジェクトに用意しています。

11.リモコンで照明モードを切り替え

使っていないテレビのリモコンと3ピンの赤外線受信モジュールがあれば、ソファから飾りを操作できます。ボタン1で赤、ボタン2で緑、ボタン3で点滅モードにし、電源ボタンですべて消灯します。まずシリアルモニタでリモコンのボタンコードを読み取って控え、各コードにモードを割り当てます。IRremoteライブラリはバージョン3.0で命令が変わっている点に注意してください。2.x向けの古いサンプルは、新しいバージョンではコンパイルできない場合があります。詳細は赤外線受信モジュールとリモコンで紹介しています。完成した回路は、BlueGraysの赤外線受信モジュールとリモコンでLEDを点灯・消灯するプロジェクトにあります。

12.プレゼント箱のアラーム

ツリーの下のプレゼントを、気になって触ろうとする手から楽しく守る方法です。箱のふたに小さな磁石、縁にリードスイッチを取り付けます。ふたを閉めると磁石でリードスイッチの接点が閉じ、ふたを持ち上げると接点が開きます。ArduinoがINPUT_PULLUPで読み取るピンのHIGHを検知し、ブザーが鳴ります。リードスイッチは約1〜2 cm離れた磁石を検知するため、ふたを少し持ち上げただけでもアラームが作動します。ガラス製のリードスイッチは壊れやすいため、本体に近すぎる位置でリード線を曲げないでください。動作原理はリードスイッチの記事で、ドアセンサー版はBlueGraysの「リードスイッチ式ドアセンサー」プロジェクトで紹介しています。

電源と安全:飾りへの給電方法

負荷電流の目安推奨電源
LED3個のキャンドルまたはLED8個のガーランド20〜60 mAUSBまたは単3電池4本(4 × AA)
ブザー+LED2個30〜50 mAUSBまたは9 V電池
LED24個のリング、明るさ60最大約350 mAUSB 5 V 1 Aまたはモバイルバッテリー
LED60個のテープ通常1.2 A、最大3.6 A5 V 3 A ACアダプター
LED150個のテープ通常3 A、最大9 A5 V 6 A ACアダプター+途中からの給電
商用電源で動く電飾電飾によって異なりますリレーモジュール+密閉ケース、商用電源側を絶縁
商用電源の電圧は命に関わります。商用電源で動く電飾をリレーで切り替える場合は、すべての接続部を閉じた絶縁性の箱に収め、端子を露出させず、漏電遮断器(RCD)で保護された回路で使用してください。不安があれば、低電圧の5 Vまたは12 VのLED電飾を選んでください。子どもと作るプロジェクトでは、USBまたは電池で動く飾りに限定してください。

よくある失敗と対処法

  • LEDテープが不規則な色でちらつく:ボードのGNDとACアダプターのGNDがつながっていません。必ず両方のGNDを接続してください。
  • テープが白く点灯するとArduinoがリセットされる:ボードの5Vピンからテープに給電しています。テープにはACアダプターから直接給電し、ボードはデータ信号の送信だけに使ってください。
  • ブザーがメロディーではなく同じ音しか鳴らさない:アクティブブザーを使っています。メロディーにはパッシブブザーが必要です。
  • PIRが繰り返し反応する:電源投入後の安定待ち時間が足りないか、センサーが暖房器具や暖気の方向を向いています。1分間待ち、センサーを熱源から離してください。
  • LEDキャンドルが規則正しく点滅する:待ち時間が固定されています。delay()に渡す値もランダムにしてください。
  • LDRを使った飾りが夕暮れ時に点滅する:しきい値が1つしかありません。点灯用と消灯用のしきい値を分けて、ヒステリシスを追加してください。
ツリーに取り付ける前に、飾りを机の上で少なくとも30分動かし、ACアダプター、配線、LEDテープが熱くならないことを確認してください。触ってほんのり温かい程度を超える部品があれば、明るさを下げるか、より太い配線を使ってください。電池で動かす場合は、電池寿命計算ツールで事前に動作時間を計算してください。

この一覧の多くのプロジェクトの基本回路は、BlueGraysアプリに用意されています。「LDRで作る常夜灯」とブザーのプロジェクトは無料です。WS2812B、人感センサー、NTP、PicoのRGBのプロジェクトにも、各ステップの回路図、配線リスト、コードが付いています。アプリでプロジェクトを組み立て、この記事のクリスマスらしい工夫を加えれば、休暇が始まる前に、手作りの飾りで家をいっぱいにできます。

よくある質問

クリスマスにArduinoで何を作れますか?

人気のArduinoクリスマスプロジェクトには、WS2812B LEDのクリスマスツリー、ブザーで奏でるクリスマスソング、揺らめくLEDキャンドル、PIRを使ったサンタ探知機、新年のカウントダウンタイマーがあります。多くはスターターキットの部品で一晩で作れます。屋外照明やカウントダウンには、Wi-Fiを備えたESP32が適しています。

初心者にとって最も簡単なクリスマスプロジェクトは何ですか?

揺らめくLEDキャンドルが最も簡単です。LED3個、抵抗3本、15行のコードで、20分で完成します。その次には、ブザーで「ジングルベル」を演奏してみましょう。どちらもスターターキットの部品だけで作れます。

Arduinoは何個のLEDを駆動できますか?

通常のLEDなら、Unoの各ピンでLEDを1個、推奨上限の20 mAで駆動し、全ピンの合計は200 mA未満に抑えます。WS2812BのようなアドレサブルLEDなら、1本のピンで数百個を制御できます。上限はボードのRAM(LED1個あたり3バイト)とACアダプターの供給電流で決まります。150個のLEDには5 V 6 AのACアダプターを推奨します。

Arduinoの5VピンからLEDテープに給電できますか?

低い明るさで数個のLEDを試す場合に限ります。USB給電のUnoの5Vピンから供給できる電流は約400〜500 mAです。WS2812Bは最大輝度の白色で1個あたり60 mAを消費するため、8〜10個で上限に達します。長いテープには5 VのACアダプターから直接給電し、GND同士を接続してください。

Arduinoでクリスマス照明を自動点灯するにはどうすればよいですか?

最も簡単な方法は、LDRで暗さを検知し、リレーまたはトランジスタで照明を切り替えることです。より正確に制御するには、ESP32がNTP経由でインターネットから時刻を取得し、設置場所の日没時刻を計算して、その時刻に点灯し、指定した時刻に消灯するようにします。

クリスマスプロジェクトにはESP32とArduino Unoのどちらを使うべきですか?

Wi-Fi、時計、スマートフォンからの操作が不要なら、UnoやNanoで十分で、扱いも簡単です。日没タイマー、カウントダウン時計、Webからの色選択など、インターネットが必要なプロジェクトにはESP32を選んでください。電池で動く小さな飾りには、Raspberry Pi Picoも適しています。

全プロジェクトを見る
LDRで作る常夜灯
#12初級

LDRで作る常夜灯

暗くなると自動で点灯し、朝になると消灯する小さな常夜灯です。光センサーが部屋の明るさを測定し、Arduinoが十分に暗くなったらLEDを点灯させ、明るくなったら消灯させます。街灯が夕方になると自動で点灯する仕組みも理解できます。

4.8(103)
210
ブザーの使い方
#13初級

ブザーの使い方

呼び鈴やアラームがどうやって音を出すのか、気になったことはありませんか?Arduinoが小さなブザーを短い間隔で鳴らし、音を出す、止める、を繰り返します。電気で音が生まれる仕組みを学び、メロディーを演奏するプロジェクトへの第一歩を踏み出せます。

4.7(89)
162
WS2812B LEDテープの使い方
#69中級
プレミアム

WS2812B LEDテープの使い方

1つずつ自由に色を変えられるスマートLEDテープを使ってみます。Arduinoが最初の5個のLEDを赤く点灯し、1秒後に残りの5個を青く点灯します。その後すべて消灯し、最初から繰り返します。1本の配線で何十個ものLEDを個別の色にするための第一歩です。このようなテープは、装飾用のライトや部屋の照明にも使われています。

4.8(54)
70
WS2812Bアニメーション1
#75中級
プレミアム

WS2812Bアニメーション1

56個のLEDが並ぶテープで、虹のすべての色が隣り合って途切れずに流れます。まるで光の川がテープの上を流れるようです。各LEDは1つ前のLEDと少し違う色に光り、色が移り変わるたびにテープが生き生きと見えます。部屋や机を彩る、いちばん手軽な方法です。

4.9(69)
89
人感センサーで動きを検出
#24初級
プレミアム

人感センサーで動きを検出

誰かが部屋に入ると知らせる、シンプルな見張り役です。人感センサーが人体から放出される熱を捉え、Arduinoは動きがある間LEDを点灯させ、動きが止まると消灯させます。玄関先で自動点灯する照明や、警報システムの基本となる仕組みです。

4.6(47)
67
ESP32 WS2812B NeoPixel LEDテープの制御
#126中級
プレミアム

ESP32 WS2812B NeoPixel LEDテープの制御

WS2812B(NeoPixel)は、1本のデータピンで連結したLEDを個別に制御できるスマートなRGB LEDです。このプロジェクトでは、8個のLEDを備えたWS2812BテープをAdafruit_NeoPixelライブラリで制御し、滑らかな虹色のアニメーションを作ります。ESP32の3.3VロジックレベルはほとんどのWS2812Bのロットで問題なく動作しますが、不安定な場合に備え、470Ωの直列抵抗と1000µFのコンデンサを使う対策も紹介します。アニメーションは、HSV色空間の色相(hue)をずらして作ります。

4.9(19)
30
ESP32とNTPでインターネットから正確な時刻を取得
#128上級
プレミアム

ESP32とNTPでインターネットから正確な時刻を取得

ESP32をWi-Fiに接続し、NTP(Network Time Protocol)サーバーからミリ秒精度の現在時刻を取得します。configTzTime()関数でタイムゾーンを自動適用し、夏時間を採用する国ではPOSIX TZ文字列で夏時間と標準時間の切り替えも自動管理します。時刻はシリアルモニタと、必要に応じて接続するI2C LCDに表示します。configTzTime()がSNTPサービスを開始し、ネットワークにアクセスできる間は定期的に再同期します。

4.5(13)
21
Raspberry Pi PicoでRGB LEDの色を順に切り替える(3チャンネルPWM)
#161初級

Raspberry Pi PicoでRGB LEDの色を順に切り替える(3チャンネルPWM)

1つのLEDで何百万もの色を表現できます!RGB LEDには、実は赤、緑、青の3つのLEDが入っています。それぞれをPicoの個別のPWMチャンネルで制御すると、赤+緑=黄、緑+青=シアン、3色すべて=白のように色を混ぜられます。このプロジェクトでは、LEDの色を8色に順番に切り替えます。複数のPWMチャンネル、関数の定義(def set_color(...))、RGBの混色(画面やスマート電球の仕組み)、8ビットから16ビットへの変換(x257で0–255を0–65535に変換)、LEDのカソードコモンとアノードコモンの違いを学びます。

0.0(0)
6