2017-09-07 6 views
1

Lua와 GPIO 모듈을 내 NodeMCU과 함께 사용하면 높은 값과 낮은 값이 역순으로 발생합니다. 파란색이 ESP8266에 LED에 Link루아를 사용할 때 NodeMCU가 gpio를 반대로 트리거하는 이유는 무엇입니까?

일반적으로 당신이 최고에 GPIO 핀 0을 설정, 설정하려면 : NodeMCU 사용자 정의 빌드에서

는 내 빌드를 다운로드했습니다. 나에게 일어나는 일은 그것을 낮게 설정해야한다는 것이다.

내가 청색 LED를 점등 직렬 콘솔에서 실행하고있는 무슨이다 :

gpio.write(0, gpio.LOW) 

나는이 핀을 직접 접지에 연결하는 경우, 그것은 또한 청색 LED를 점등하는 I 믿는다.

낮은 값과 높은 값이 NodeMCU에서 잘못 읽히는 원인은 무엇입니까?

답변

2

정상입니다. 온보드 LED는 LOW 값으로 켜지고 HIGH 값으로 꺼집니다. 루아와 아두 이노에서이 두 가지를 프로그래밍했고 온보드 LED도 같은 방식으로 작동합니다.

일반 LED를 동일한 핀에 연결해보십시오. 반전됨을 알 수 있습니다. HIGH 값으로 켜지고 LOW 값으로 꺼집니다.

+0

당신이 옳은 것처럼, LED를 연결하면 예상대로 작동합니다. 반면에, 나는 릴레이가 연결되어 있고, 나는 그것이 '로우'일 때 켜지고 '하이'일 때 꺼지는 것을보고있다. – Sawtaytoes

1

HIGH는 핀이 전압 공급 ("소싱"전압)으로 설정되고 LOW는 0V로 설정됨을 의미합니다 ("싱킹"전압). 이 보드를 가정

대부분처럼 연결되어,이는 LED의 거친 개략도이다 ("0"gpio.write에 diagram here 당 GPIO16 하드웨어 핀을 의미 참고) : Diagram of the GPIO16 pin

당신이 할 수있는 다이오드가 "GPIO16"쪽으로 향하는 다이오드가 켜지는 방향으로 전류가 흐르는 방향을 가리키는 것을 확인하십시오. 따라서 전류를 흐르게하려면 GPIO16을 LOW (0V)로 설정해야 전압 차이가 발생합니다. 그렇지 않으면 다이오드의 양면이 3.3V이고 전류가 흐르지 않습니다.