お世話になります。
この度Raspberry Pi Picoを購入しまして、初めての電気工作をしようとおもっています。
まずはLEDを点灯せることから始めようと思っているのですが、
いろいろな事例を見ると
1, GPIO→抵抗→LED→GND
2, 3V3->抵抗→LED→GPIO
という2パターンがあり、どちらも3.3V出力となっているようなのですが、
この違いはなんなのでしょうか?
素人ながらに、3V3は出力をし続けるもので、
GPIOは入出力を制御できるものと考えているのですが、違いますでしょうか?
また1と2以外に
3, GPIO->抵抗→LED→GPIO
4, 3V3->抵抗→LED→GND
でも点灯させることは可能なのでしょうか?
素人のため、初歩的なことかもしれませんが、
よろしくおねがいします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
私は、Raspberry Piを使った事ないので詳しいことは言えませんが、まずRaspberry Piを使わずに単純にLED点灯はどうすれば点灯するか分かりますでしょうか?
電気には、直流(DC)と交流(AC)があり今回使用しているのは直流の方です。
直流は、プラスV(ここでは3.3Vになるのかな?3V3だから)から0V(GND)へ向かって電流が流れます。
そこの間に、抵抗とLEDを挟めばLEDが点灯します。
つまり、3V3(+3.3V)→抵抗→LED→GND(0V)となれば点灯します。
つまり、質問4の3V3->抵抗→LED→GNDがまさにそれに当たります。
と言うことは、3V3はマイコンには関係なく電源の発生のプラス側と直に繋がっていることになります。
乾電池でいうと、乾電池のとがった方と言えば分かりますか?
GPIOは、入力としても出力としても使え、出力では、つまり簡単にいうとプログラムでHighにすると3.3vを繋げてやる事ができます。
そのピンのGPIOを入力として使うのか出力として使うのかはプログラム内で設定すると思います。
1, GPIO→抵抗→LED→GND
プログラムでGPIOをHighにするすると、3V3(3.3V)→抵抗→LED→GND(0V)が成り立ちLEDが点灯します。
後、3V3(3.3v)とGNDを直に繋げショート(短絡)しないように自己責任で行ってください。
後、LEDは極性があるので長い方をプラス側に繋ぎます。
GPIO→抵抗→足の長い方(LED)足の短い方→GND
2、3のそのほかは、考えてみてください。
2の繋ぎ方は、3V3→抵抗→足の長い方(LED)足の短い方→GPIO
投稿2021/07/31 07:49
編集2021/07/31 07:51総合スコア334
0
ベストアンサー
1, GPIO→抵抗→LED→GND
2, 3V3->抵抗→LED→GPIO
この2つの違いですが、「1」ではHigh電位にしたGPIOから電流が流れ出す(電子は流れ込む)のに対し、「2」ではLow電位にしたGPIOに電流が流れ込む(電子は流れ出す)違いがあります。
大昔、ICがまだCMOSでなかった頃、GPIOはLowにして電流を吸い込むことはできても、Highにして電流を吐き出す能力はほとんどありませんでした。
例えば吸い込み側は10mA出せても吐き出し側は0.1mAといった具合です。
この場合、2の方向にせざるをえません。
時代は進んでICがCMOS化し、吐き出し側も十分な電流が出せるようになりました。それでも吸い込み側の方が能力が高い場合は多く、例えば20mA対5mAといった具合です。
なので、吸い込みと吐き出しの能力に差のあるICにおいて(RaspberryPiPicoもそうです)少しでも電流を多く流したい場合のつなぎ方が「2」で、
今の時代LEDなぞ数mA流せば十分なのでHighで点く方が分かりやすくてよいというつなぎ方が「1」です。
3, GPIO->抵抗→LED→GPIO
可能です。マトリックスを組んで多数のLEDを扱うとき有用なつなぎ方です。ただし両側のGPIOでそれぞれ電圧降下が起こるので、あまり電流は流せません。
4, 3V3->抵抗→LED→GND
それはマイコンを通さず電源に直接つなぐのと同じですので、当然点きます。
投稿2021/07/31 02:55
総合スコア3047
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/31 03:54
2021/07/31 04:05
2021/07/31 04:24
2021/07/31 05:28
2021/08/01 09:41
2021/08/01 10:01
2021/08/01 10:20
2021/08/01 10:32
2021/08/01 10:38 編集
2021/08/01 10:48
2021/08/01 11:49
2021/08/01 12:40
2021/08/01 12:55
2021/08/02 02:37
0
出力状態のGPIOの端子ってのはfig1のようになっているわけです。SW1とSW2はどちらかがONになって、SW1がONならH出力、SW2がONならL出力。(両方OFFならハイインピーダンス、両方ONなら...壊れる)
3V3は通常(マイコンの動作が主眼のとき)「出力」とはいいません。単に電源につながっているだけでマイコンの管理の外なので。システムとして電源を供給する端子として使われるときは「出力」と言わないわけではありませんが。
で、LEDの回路は、ループ中に電源が入っていれば点灯、入っていなければ(あるいはループが切れていれば)消灯(fig2)。
GPIOとGND間にLEDを繋いで、H出力のときはfig3のようになるのでつまり点灯。L出力のときはfig4の用になるので消灯。
それ以外の接続でどのようになるか、そんなに難しい話ではないと思いますがいかが?
なお、SW1とかSW2にはRP2140(RaspberryPi Pico)の場合は一つの端子あたり25mA以上流したら壊れるかも知れません。GPIOの総和で125mA以内という制限もあります。
投稿2021/07/31 02:07
総合スコア7703
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/02 02:41
2021/08/02 12:05
2021/08/04 13:29
0
1では、GPIO出力をHiにするとLEDが点灯します
2では、GPIO出力をLoにするとLEDが点灯します
4では常に点灯しっぱなしになりますね
3でも点灯させることは可能です。どういう条件で点灯するかは考えてみてください
投稿2021/07/30 22:20
編集2021/07/30 22:21総合スコア88042
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/02 02:45
2021/08/02 02:52
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/02 02:34
2021/08/03 11:05