グランドとしてのデジタルI / Oピン


9

グランドの機能と同様に、I / Oピンが回路内の電流を返すようにしたい

これらのうちどれが私が必要とするものを達成しますか?

pinMode(pinnumber, OUTPUT)
digitalWrite(pinnumber, LOW)

または

pinMode(pinnumber, input)

2番目のオプションpinMode(pinnumber,input)は、ピンをピンの「第3の状態」にすることです。これは「高インピーダンス」とも呼ばれます。基本的には、抵抗計のようにピンが回路に接続されていなかったかのようです。
zmo

「digitWrite」?「digitalWrite」という意味ですか?
Peter Mortensen

回答:


9

最初のスニペットは正しい解決策です。

pinMode(pinnumber,OUTPUT)
digitalWrite(pinnumber,LOW)

ただし、シンクできるのはピンあたり最大6mAまたは9mAだけです(ドキュメント [[入力と出力]セクション]のとおり、これ以上試したことはありません)。より多くの電流が必要な場合は、トランジスタを使用します(これは良い例のように見えますが、出力ピンをに反転する必要があるだけですHIGH)。

ピンが入力として構成されている場合は、必要な高インピーダンスではなく、高インピーダンスであることが想定されています。


おかげで、電流もArduinoのIOピンから来ています。したがって、40mAの制限は問題にならないと思います。
rajat 2014年

@rajatある種のLEDマトリックスを実行していますか?(たとえば)高電流LEDを2つのピンの間に差し込んだ場合(少なくとも適切な電流制限抵抗がない場合)、チップに損傷を与える可能性があることに注意してください。短絡を引き起こす場合についてさえ言及していません。
FredP 2014年

これは圧力センサーマトリックスであり、10個の16:1マルチプレクサーを備えています。電流はArduino USBケーブルからのみ供給され、外部電源はありません。したがって、大電流は問題にならないと思います。短絡を引き起こす可能性のあるものに光を当てることができますか?
rajat 2014年

そのようなことは、短いを作成します@rajatかのピン「1」と「2」が接続されている:pinMode(pinnumber1,OUTPUT); pinMode(pinnumber2,OUTPUT); digitalWrite(pinnumber1,LOW); digitalWrite(pinnumber2,HIGH); PS:私を訴えるしていない、無実arduiniに害を与えていない、自宅でこれをしようとしていない、など...
FredP

2
6 / 9mAという数字に少し驚いた。Arduino Dueの方が正しいことがわかりましたが、AVRベースのArduino(Unoなど)の場合は、まだ大多数であると思われますが、その数は40 mAに近いです。
microtherion 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.