akira.kei が 2026年07月20日22時25分44秒 に編集
初版
タイトルの変更
RP2040-ZeroをCircuitPythonで(その2):7セグ
タグの変更
CircuitPyton
rp2040
rp2040-zero
7segment
micropython
記事種類の変更
セットアップや使用方法
ライセンスの変更
(MIT) The MIT License
本文の変更
[<前の記事](https://elchika.com/article/6f53a0fa-e738-49b1-a539-3d0125e8fa88/) : 次の記事> ## 7セグLEDディスプレイ 秋月電子通商でずいぶんと前にシコタマ買ってあったダイナミック点灯用の7セグLEDディスプレイを今更ながら引っ張り出してみた。いつも使っているアルカリ単三・単四電池の残量をちょっと調べてみるテスターの表示部分に使う予定だ。  タイトルにあるようにCircuitPythonで始めてみたが、苦労の割には全然良くなかった。7セグのダイナミック点灯なので桁をインターバルタイマー割り込みで切り替えながら表示するのが王道なんだが、**CircuitPythonにはタイマー割り込みがない**。そのかわり標準ライブラリとしてasyncioを使え、とGeminiが教えてくれた。 ## MicroPythonなら普通にインターバルタイマー CircuitPythonとは異なり、MicroPythonなら普通にインターバルタイマーが使えるので、ライブラリ化した7セグは以下のようにシンプルに使用できる。表示したい数値をセットするだけで4桁表示が可能というシンプル加減だ。 ```Python: import time from SevenSeg4d import SevenSegment4D SEG_PINS = [5, 7, 1, 3, 4, 6, 0, 2] DIG_PINS = [9, 10, 11, 12] display = SevenSegment4D(SEG_PINS, DIG_PINS) counter = 0 while True: display.value = counter time.sleep(0.1) counter = (counter + 1) % 10000 ``` @[youtube](https://youtube.com/shorts/2xkVoS1NKg4?feature=share)