banner

ニュース

Nov 20, 2023

Raspberry Pi Pico W 抵抗時計の作り方

抵抗のカラーコードを解読して時刻を知る

抵抗器のカラーコードは、メーカー教育の重要な部分です。 カラーコード システムは 1930 年代から継続的に使用されており、小型コンポーネントに数値をマークするためのコンパクトな方法として無線製造者協会によって導入されました。 コードには 10 色しか含まれていませんが、毎日使用しない限り、その値を覚えるのは難しい場合があります。

このプロジェクトは、抵抗コードを毎日使用して時刻を知るのに役立ち、Raspberry Pi Pico W を使用して Wi-Fi 経由で NTP (Network Time Protocol) サーバーに接続し、現在の時刻を取得します。 これが完了すると、Pico W は WS2812B Neopixel ストリップを使用して、現在時刻を抵抗コードの色で表示します。 実行中のコードを毎日確認することで、すぐに寝ている間に抵抗値をより速く解読できるようになります。

WS2812B 個別にアドレス指定可能な RGB LED (一般的に「NeoPixel」と呼ばれます) は、任意の色にできる超高輝度で簡単に制御可能な LED です。 これらはプロジェクトにムード照明を追加するためによく使用され、コスプレ衣装や小道具にも使用できます。

Adafruit の Neopixel Strip は LED を駆動するために 5V を必要としますが、データラインで 3.3V ロジック信号を受け入れることができます。

抵抗クロックの配線は簡単で、NeoPixel を Pico W に接続するために必要なのは GND、データ、電源だけです。3D プリントされたケース内に収まるようにワイヤーを接続するのは少し難しい場合があります。

1.ピピコから始めようそしてNeoPixel スティックを上向きにし、NeoPixel の入力端を USB ソケットの近くに置きます。

2.回路図に示されているようにワイヤを接続し、ディスプレイ アセンブリ全体を Raspberry Pi Pico W の背面に折りたたむのに十分なケーブルを残します。ワイヤははんだ付けする必要がありますが、ほとんどのメーカーにとっては簡単な作業です。 はんだごてを持っていない場合、またはアップグレードしたい場合は、最高のはんだごてのリストをご覧ください。 Neopixel ストリップの両端には接続があり、チェーンで接続できるため、ここで注意してください。 ストリップの一方の端は入力で、もう一方の端は出力です。 入力端にワイヤをはんだ付けする必要があります。

3.LED ライトの列が Pico の正中線と揃うように、ディスプレイ アセンブリを Pi Pico W の背面に折り曲げます。

4.小さな正方形の両面フォームテープを使用して、LED ストリップを所定の位置に固定します。フォームにより、NeoPixel ストリップは Raspberry Pi Pico W と平行に配置され、その下に余分なケーブルを押し込むためのスペースが確保されます。

ほとんどのプロジェクトでは、すべてを入れる箱はそれほど重要ではありません。 必要な色をすべて取得するには、少し巧妙な操作を行う必要があるため、レジスタ クロックは少し異なります。 抵抗コードはペイントでマーキングするために設計されており、LED からの光を混ぜることによって得るのが少し難しい色がいくつか使用されています。 最も注目すべきは、黒、茶色、グレーは LED から得られる種類の色ではないことです。 LED の前に黒く着色したプラスチックを置くと、LED がオフのときプラスチックは黒ですが、LED がオンになるとすぐに色が見えるようになります。 暗い色合いにより LED の明るさが低下し、茶色とオレンジなどの色を区別しやすくなります。

1.Raspberry Pi Picoのケース部分を3Dプリントします。ケースの外側を研磨したり、埋めたり、仕上げたりすることは、あなたが最善だと思う方法で行うことができます。

2.ケースの切り込みにある USB ソケットを使用して Pico-W を挿入し、Pico と NeoPixel が印刷されたケースの内側に収まるようにします。

3.3D プリントしたケースの上部と下部に合わせて、2 枚の色付きアクリルをトリミングします。レーザー カッターを持っている場合は、これを使用してプラスチックを切断したりエッチングしたりできます。

4.3D プリントしたケースの上部 (LED がある側) の角に瞬間接着剤を 1 滴加え、色付きのプラスチックを所定の位置に接着します。シャーピーを使用してプラスチックに色を付けた場合は、シャーピー インクが付いている面をケースの内側に向けて置きます。

5.もう一方のプラスチックを 3D プリントしたケースの背面の所定の位置に接着します。必要に応じて、ケースのこちら側に低温のホットグルーを使用すると、将来 Pico W をより簡単に取り外せるようになります。

Raspberry Pi Pico は、MicroPython を使用して Neopixel スティックを制御し、Wi-Fi 接続を介して NTP サーバーに接続します。

1.このガイドに従ってくださいMicroPython ファームウェアを Raspberry Pi Pico W にダウンロードしてインストールし、Thonny をセットアップします

2.Thonnyで新しいファイルを作成するそれを wifidetails.py という名前にします。 このファイルは、ワイヤレス ネットワークの接続の詳細を保存するために使用されます。

3.次の行を追加しますwifidetails.py にコピーし、MYSSID と MYPASS をワイヤレス ネットワークの SSID とパスワードに置き換えます。

4.ファイルを Raspberry Pi Pico W に保存します。

5.Thonny で新しいファイルを作成し、main.py という名前を付けます。これは、クロックが接続されているときに実行されるファイルです。MicroPython は、ボードの電源が入っているときに main.py を実行するように構成されています。

6.NTP サーバーに接続するためのモジュールをインポートします。これには、作成したばかりの wifidetails.py ファイルのログイン詳細が含まれます。

7。モジュールをインポートして GPIO ピンにアクセスし、NeoPixel を制御します。

8.RGB 値を含む Python 辞書を作成する抵抗器のカラーコードの各色に対応します。 使用している着色プラスチックに最もよく一致するようにするには、これらの値を微調整する必要がある場合があります。 辞書は、キーを使用して値を取得するデータ ストレージ オブジェクトです。この場合、対応する値を取得するためのキーとして 0 ~ 9 の数値を使用しています。

9.オブジェクト np を作成して、NeoPixel が Raspberry Pi Pico W のピン 0 に接続されていることをコードに伝えます。

10.wifidetails.py の ssid とパスワードの詳細を使用して、Wi-Fi ネットワークへの接続をセットアップし、開始します。

11.Wi-Fi ネットワークの接続が完了するまで待ちます。

12.ネットワークが正常に接続されていることを確認し、問題がある場合は正常に失敗します。ネットワーク接続が良好な場合は、時計の IP アドレスが Python シェルに出力されます。

13.ntptime モジュールを使用して NTP サーバーから時刻を取得し、それに一致するように Pico W の RTC (リアルタイム クロック) をリセットします。

14.リアルタイム クロックから時間を読み取り、変数 ct に保存するループを作成します。 次に、文字列書式設定を使用して時間を 6 桁の文字列として保存します。これを繰り返して NeoPixel RGB 値を設定できます。

15. timestring 変数は、「HHMMSS」形式の文字列になりました。この文字列を反復処理して、rc ディクショナリに保存されている RGB 値をストリップ上の最初の 6 NeoPixel に設定し、変更を NeoPixel に書き込みます。これはメイン ループの終わりなので、クロックを「刻む」ために遅延を追加し、Pico W の負荷を軽減します。

16.コードを Raspberry Pi Pico W に保存し、[実行] をクリックして開始します。プロジェクトは現在時刻を取得し、NeoPixel の色が変化して時刻を示します。 Pico の電源がオンになると、main.py に保存されたコードが自動的に実行されます。

25 年以上にわたり、熱心な PC 技術ニュースの内部情報として Tom's Hardware を読んでいる専門家に加わりましょう。 CPU、GPU、AI、メーカーのハードウェアなどに関する最新ニュースと詳細なレビューをあなたの受信箱に直接お届けします。

アンドリューは専業主夫、ライター、編集者、そしてプロの制作者でもあります。 常に進化するワークショップで、アンドリューは娘と一緒にプロジェクトを作り、修正し、修復していきます。 数十年の業界経験と博士号を取得。 アイアンブリッジ研究所からの受賞ということは、アンドリューの出版物が、古代バビロニアの文字体系から小道具の作成、アクセシビリティ支援、医療機器と福祉、パスワード セキュリティ、3D スキャン、3D プリントなど、多岐にわたるトピックをカバーしていることを意味します。 Andrew のスキルセットには、アディティブ マニュファクチャリングおよびサブトラクティブ マニュファクチャリング、レーザー切断、40 年以上の一般的な言語およびフレームワークによるプログラミング、マイクロプロセッサ、電気機械装置、船舶用エンジン、およびさまざまな手動および CNC 工作機械ツールが含まれます。 英国のアイアンブリッジ (産業革命発祥の地) の近くに拠点を置くアンドリューは、伝統的な製造技術と 19 世紀後半から 20 世紀初頭の美学を好みます。

Milk-V は RISC-V Raspberry Pi に代わる 3 つの製品を提供します

Raspberry PI Pico W ヘリコプターは離陸準備完了

SilverStone Sugo SFF ケースはクアッドスロット GPU をサポート

Les Pounder著 2023年4月23日

アヴラム・ピルチ著 2023年4月22日

Brandon Hill 2023 年 4 月 21 日

アヴラム・ピルチ著 2023年4月20日

Brandon Hill 2023 年 4 月 16 日

Les Pounder著 2023年4月15日

Les Pounder著 2023年4月9日

Les Pounder著 2023年3月25日

ジャレッド・ウォルトン著 2023年3月19日

Les Pounder著 2023年3月18日

アブラム・ピルチ著 2023年3月15日

Pi Pico から始めます。NeoPixel スティックを上向きにして、NeoPixel の入力端を USB ソケットの近くに置きます。 回路図に示されているようにワイヤを接続します。ディスプレイ アセンブリ全体を Raspberry Pi Pico W の背面に折りたたむのに十分なケーブルを残します。ディスプレイ アセンブリを Pi Pico W の背面に折りたたんで、LED の列が点灯します。ピコの正中線と一致します。 小さな正方形の両面フォームテープを使用して、LED ストリップを所定の位置に固定します。 Raspberry Pi Picoのケース部分を3Dプリントします。 ケースの切り込みにある USB ソケットを使用して Pico-W を挿入し、Pico と NeoPixel が印刷されたケースの内側に収まるようにします。 3D プリントしたケースの上部と下部に合わせて、2 枚の色付きアクリルをトリミングします。 3D プリントしたケースの上部 (LED がある側) の角に瞬間接着剤を 1 滴加え、色付きのプラスチックを所定の位置に接着します。 もう一方のプラスチックを 3D プリントしたケースの背面の所定の位置に接着します。 このガイドに従ってください。 Thonny で新しいファイルを作成します。 次の行を追加します。 ファイルを Raspberry Pi Pico W に保存します。 Thonny で新しいファイルを作成し、main.py という名前を付けます。 NTP サーバーに接続するためのモジュールをインポートします。 GPIO ピンにアクセスし、NeoPixel を制御するためのモジュールをインポートします。 RGB 値を含む Python 辞書を作成します。オブジェクト np を作成して、NeoPixel が Raspberry Pi Pico W のピン 0 に接続されていることをコードに伝えます。セットアップし、SSID とパスワードの詳細を使用して Wi-Fi ネットワークへの接続を開始します。 wifi詳細.py。 Wi-Fi ネットワークの接続が完了するまで待ちます。 ネットワークが正常に接続されていることを確認し、問題がある場合は正常に失敗します。 ntptime モジュールを使用して NTP サーバーから時刻を取得し、それに一致するように Pico W の RTC (リアルタイム クロック) をリセットします。 リアルタイム クロックから時間を読み取り、変数 ct に保存するループを作成します。 次に、文字列書式設定を使用して時間を 6 桁の文字列として保存します。この文字列を反復処理して、rc ディクショナリに保存されている RGB 値をストリップ上の最初の 6 NeoPixel に設定し、変更を NeoPixel に書き込みます。 コードを Raspberry Pi Pico W に保存し、[実行] をクリックして開始します。
共有