공기청정기 조작을 위해 버튼을 달까? 터치스크린을 사용할까? 이것 저것 고심이 많던차에...
오래전 주문한 Rotary encoder가 도착했다.
알리에서 구매했는데... PIN에 대한 자세한 설명이 잆어서 애를 먹었다.
그 외에도 다운받은 라이브러리로 동작을 하는데상당한 얘를 먹었다.
결론부터 말해서 UNO로는 잘 작동시킬 수 있으나. 내가 쓰려는 Wemos D1 mini로는 불가능했다.
UNO의 경우 PIN의 동작전압이 5V인데... D1 mini은 3.3V로 동작하지 않는다.
내가 구매한 제품의 경우 따로 전원부가 존재하지 않고 연결된 PIN의 전압을 사용해서 그런 거 같다.
아래와 같은 제품을 쓰면 D1 mini에서도 동작하지 않을까? 또 구매하고 싶으 생각은 없다.
D1 mini에서 동작 할 수 있는 방법을 찾아봐야겠다.
회로 구성은 가운데가 GND이고 2,3번 인터럽트 핀을 이용해서 연결하면 잘 동작한다.
/* Encoder Library - Basic Example
* http://www.pjrc.com/teensy/td_libs_Encoder.html
*
* This example code is in the public domain.
*/
#include <Encoder.h>
// Change these two numbers to the pins connected to your encoder.
// Best Performance: both pins have interrupt capability
// Good Performance: only the first pin has interrupt capability
// Low Performance: neither pin has interrupt capability
Encoder myEnc(2, 3);
// avoid using pins with LEDs attached
void setup() {
Serial.begin(9600);
Serial.println("Basic Encoder Test:");
}
long oldPosition = -999;
void loop() {
long newPosition = myEnc.read();
if (newPosition != oldPosition) {
oldPosition = newPosition;
Serial.println(newPosition);
}
}
이틀간 삽질한 것을 생각하면 참 허무하다.
참고로 D1 mini로 연결했을 때 010101을 계속 반복해서 출력했다.
비슷한 일로 고생하는 사람들이 있다면 참고하면 좋을 듯.
'DIY - 2019 > 공기청정기' 카테고리의 다른 글
케이스 만들기 (0) | 2019.04.03 |
---|---|
회로 구성 (0) | 2019.04.02 |
TFT LCD 연결 (0) | 2019.04.02 |
12V DC Fan 과 PMS 5003 연결 (0) | 2019.03.20 |
설계 및 준비 (0) | 2019.03.16 |