google-site-verification: google3bd66dd162ef54c7.html
fc2ブログ

Raspberry Pi Picoで72LEDのクリスマスツリーイルミネーションを作る

◆まえがき
Raspberry Pi Pico(ラズパイ Pico)を使った72LEDクリスマスツリーイルミネーションの回路図とプログラムです。なお、これは以前Arduino NANO用に作ったプログラムをPico用に書き直したものです。ツリーの部分の配線や構造などは以前の記事などご覧ください。
Arduinoで作る72LEDクリスマスツリー(ハード製作編)

◆ツイート
◆外観

Raspberry Pi Pico
ツリーの下にPi Picoがあります。

◆回路図
Pico72LED回路図
チャーリープレクシングをツリー型に変形した配線になっています。

◆プログラム
Arduino IDE を使って作ったCのプログラムです。
20220428_Pico72LedXmassTree.txt (UTF-8エンコード BOM付き)

概要
LEDはチャーリープレクシングで点灯させています。
タイマー割り込みを使い、バッファメモリーで指定された位置のLEDを点灯。LEDは9個のブロック毎にダイナミックに点灯。
メインプログラム(loop)は表示させたいイメージをバッファメモリーに書き込むだけ。割り込みプログラムが自動的にその内容を読んでLEDを点灯させています。

◆まとめ
もっと書きたいことがあるのですが、時間が無いのでこのへんで。
関連記事

コメントの投稿

管理者にだけ表示を許可する

Picoの未使用ポート

Picoの未使用ポートは「プルダウンした入力」になっているようです。
3.3V電源につなぐと、50~60uAほどの電流が流れ込みます。

リセット時の初期化で

RP2040マイコンのデーターシート、GPIO0~GPIO29レジスタの解説を見ますと(マニュアルのp.321)、リセットで
 ・出力は禁止で入力は有効
 ・出力ドライブ能力は4mAに (maxは12mA)
 ・プルアップは禁止でプルダウンが有効に ←※
 ・シュミットトリガー入力は有効
 ・出力Slew rateはSlowに
となっています。

プルアップとプルダウン両方なしに

ポートのプルアップ、プルダウンを両方とも無効にするには、1ポートごと、
 gpio_set_pulls(uint gpio, bool up, bool down)
この関数で指定しなくちゃならないようです。
みんな一括でという関数は見つかりませんねぇ。

プル禁止

何度もごめんなさい。
 gpio_disable_pulls(uint gpio);
で、プルアップ、プルダウン両方禁止です。
この中から、
 gpio_set_pulls(gpio, false, false);
と、両方禁止で呼んでいます。

re:プル禁止

こういうコメントされるというのは、たぶんプログラムの void ledOff() のところに書いたコメント読んでいただいたんですね。

確かに、未使用ピンは入力にしてプルダウンしておくのが安心ですよね。今度試してみます。

re:プル禁止

はい。 『(本当はgpio命令でやりたかった)』というのを見て・・・ということです。
Picoの初期状態がどうなっているのか、興味がありましたし、追いかけてみました。
setupで最初に一回だけ「プル禁止」にしておけば、あとは「ポート一括で入力・出力」の切り替えをすればうまくいくのではと。

re2:プル禁止

ちょっとやることが多くて確認が遅れましたが、setupの中でgpio_disable_pulls(uint gpio);を使ってプルダウンを解除しておくことで、LEDが半点灯しなくなりました。

リセット時にGPIOは入力ピンにアサインされ50~80kΩでプルダウンされるんですね。空きピン処理としてはこれが正解なんでしょうね。
カレンダー
08 | 2023/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。
記事の内容のご利用は読者の自己責任でお願いします。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード