🤷

プルアップ抵抗ってのをpicorubyで使いたい

に公開

以前Lチカまではやりましたが外部のLEDを光らせるにはプルアップ抵抗なるものが必要らしいです。
今回はそんな話。今回もpicorubyを使うよ。

(以前のLチカまでの記事はこちら)
https://zenn.dev/yusama125718/articles/75cd724a77199b

プルアップ抵抗とは?

詳しくないのでざっくりと話しますが回路がつながってない状態(今回はLEDが消灯している状態)は回路が不安定らしく、誤動作の原因になる。というのを防ぐために前に抵抗を入れるのをプルアップ抵抗というらしいです。
(噂によると後ろにつけるプルダウン抵抗ってのもあるとか)

んでこれが純粋に1つ部品が増える関係上、配線がめんどくさいんだ。私は多分デカいやつを買ったから特に。

どうにかならんのか

なります。Raspberry pi picoにはプルアップ抵抗を内蔵しているのでそれを使ってやればこんな抵抗いらんらしいです。
ただ、「気を利かせてプルアップ抵抗を起動!」なんてことはしないのでちゃんと明示しないとだめらしい。

いざ実装

それでは実装をば

前提:配線について

配線はこんな感じです。GPIOの1番を抵抗を挟んでLEDにつないで、GROUNDに接続します。

プルアップ抵抗を外部実装した場合

こんな感じのコードになります

pin = GPIO.new(1, GPIO::OUT)
pin.write 1

Raspberry pi picoのプルアップ抵抗を使用する

こんな感じのコードになります。GPIO.newにGPIO::PULL_UPを書くだけ!
配線から抵抗が消えてすっきり!

pin = GPIO.new(1, GPIO::OUT|GPIO::PULL_UP)
pin.write 1

あとがき

めっちゃ簡単だから使わない手はないかも。
ちなみに今回の話のソースはここに書いてあります。
https://github.com/picoruby/picoruby/tree/master/mrbgems/picoruby-gpio#readme

Discussion