아두이노 로터리 엔코더 예제

주요 스케치 기반 (즉, 라이브러리를 사용하지 않는) 접근 방식 중 일부는 Rt의 블로그 게시물에서 가장 저렴한 인코더를 Arduino 입력으로 사용할 수 있게 하는 로터리 인코더 코드를 작성하는 방법에 대해 설명합니다. 또한 인코더가 생성하는 로직 신호의 좋은 예가 있습니다. RT는 타이머 인터럽트 시스템이 그들을 위해 가장 잘 작동하지만 폴링 주파수내 프로젝트 스케치의 메인 루프에서 화면 업데이트 속도를 손상 것이라고 우려하고 있음을 발견했다. 로터리 인코더가 화면을 업데이트하려는 시간의 작은 비율로 움직일 것이라는 점을 감안할 때, 이것은 내 응용 프로그램에 대한 좋지 않은 일치로 보입니다. 안녕하세요 사이먼, 나는 핀 2와 3을 사용하여, 아두 이노 미니에 코드를 사용했다. 인코더를 돌리면 코드가 계산되지만 다른 방향을 돌때 아무 것도하지 않습니다 (4 번째 또는 5 번째 턴마다 계산). 핀 2/3 와이어를 교환하면 효과는 비슷하지만 카운트 다운만 됩니다. 회로는 매우 간단합니다. 당신은 필요합니다 : • 우노, 프로 미니 또는 나노와 같은 ATMEGA328P 기반 아두 이노. • 기계적 (광학반대) 사분면 회전 인코더 – 이것은 가장 일반적인 종류이므로 지정되지 않은 경우 너무 많이 걱정하지 마십시오. 이베이와 알리 익스프레스 목록은 종종 설명에 아두 이노를 언급하고 이것은 하나가 적합하다는 좋은 지표입니다.

• 후크 업 와이어 / 점퍼 리드. • 선택 사항: 프로토타이핑 브레드보드. 우선, 인코더의 한쪽에 세 개의 핀 컬렉션을 찾습니다. 다음은 코드로 회전을 측정하기 위한 세 가지입니다. 다른 쪽에 두 개의 핀이 있는 경우 중앙 푸시 버튼이 될 수 있습니다. 우리는 지금 이것들을 무시할 것입니다. 3개의 핀 중에서 인코더 접지 핀은 Arduino 접지 핀에 연결됩니다. 다른 두 핀 중 하나는 디지털 핀 2에 연결되고 나머지 핀은 디지털 핀 3에 연결됩니다. 회전 방향이 원하는 방식이 아니라면 접지되지 않은 두 핀을 교체하기만 하면 됩니다.

ATMEGA328P 기반 Arduinos에서 상승 및 하강 핀 변경 인터럽트를 감지할 수 있는 유일한 핀이기 때문에 핀 2와 3이 중요합니다. MEGA 2560 보드 등은이 작업을 수행 할 수있는 다른 하드웨어 인터럽트 핀이 있습니다. 주: 다이어그램에서 접지 핀은 끝 핀 중 하나입니다.