접지로서의 디지털 I / O 핀


9

접지 기능과 마찬가지로 회로에서 전류를 반환하기 위해 I / O 핀을 원합니다.

이 중 어느 것이 내가 원하는 것을 달성 할 것인가?

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

또는

pinMode(pinnumber, input)

두 번째 옵션 pinMode(pinnumber,input)은 핀을 "높은 임피던스"라고도하는 핀의 "세 번째 상태"에 배치하는 것입니다. 기본적으로 저항계처럼 핀이 회로에 연결되지 않은 것과 같습니다.
zmo

"digitWrite"? " digitalWrite " 를 의미하지 않습니까?
피터 Mortensen

답변:


9

첫 번째 스 니펫은 올바른 솔루션입니다.

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

그래도 핀당 최대 6mA 또는 9mA까지 싱크 할 수 있습니다 ( 문서 [ "입력 및 출력"섹션에 따라 더 이상 시도하지 마십시오). 더 많은 전류가 필요하면 트랜지스터를 사용하십시오 ( 이것은 좋은 예처럼 보입니다 HIGH. 출력 핀을로 변환하면됩니다 ).

핀이 입력으로 구성되면 원하는 것이 아니라 높은 임피던스로 간주됩니다.


고맙게도 전류는 Arduino의 IO 핀에서도 발생합니다. 따라서 40mA 제한이 문제가 될 것이라고 생각하지 않습니다.
rajat

@rajat LED 매트릭스를 사용하고 있습니까? 두 핀 사이에 고전류 LED (예 : 적절한 전류 제한 저항이 없음)를 연결한다고 가정하면 칩이 손상 될 수 있습니다. 단락을 만드는 경우는 언급하지 않았습니다.
FredP

압력 센서 매트릭스이며 10 개의 16 : 1 멀티플렉서가 있습니다. 전류는 Arduino USB 케이블에서만 발생하며 외부 전원 공급 장치가 없으므로 높은 전류가 문제가되지 않을 것이라고 생각합니다. 단락의 원인이 될 수있는 부분을 밝힐 수 있습니까?
rajat

@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 등)의 경우 여전히 대다수에 속한다고 생각합니다.이 숫자는 40mA와 같습니다.
microtherion
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.