[아두이노#390] (로터리엔코더#4) 로터리엔코더(rotary encoder) 2개를 개별적으로 활용해보기!(녹칸다/포로리야공대가자)
프로그래밍/로터리엔코더와 메뉴트리 2021. 12. 2. 22:50
(로터리엔코드#4) 로터리엔코더(rotary encoder) 2개를 개별적으로 활용해보기!
녹칸다의 로터리엔코더(rotary encoder)와 타이머 인터럽트(timer interrupt)시리즈이다!
세탁기나 각종 전자제품에 많아 달려있는 로터리 엔코더를 아두이노에서 활용해보고자 하는 시리즈이다!
빙글빙글 돌려서 설정값을 바꾸거나 항목을 바꾸는 것이라고 생각하면 될 듯 하다!
가변저항과 유사하지만 가변저항은 돌리다보면 한계지점이 있고 로터리 엔코더는 무한히 회전할 수 있다!
그러다 보니 원수열 형태의 업/다운 카운트가 가능하다!
이번편에서는 로터리 엔코더를 2개 연결했을때 어떤 전략을 사용해야 할지 알아보도록 하자!
결론적으로 별로 어려운것은 없으나 2개를 활용하는 방식도 필요할것 같아서 해보도록 한다!
일단 아두이노에 로터리엔코더(rotary encoder) 2개를 활용하는 기본예제를 구현하고
아래와 같이 예제를 만들어보자!
1.아두이노에 FND모듈(TM1637) 2개를 연결하고 각각의 로터리 엔코더로 업/다운카운트 하시오!
2.아두이노에 1602LCD를 연결하고 각각의 로터리 엔코더로 업/다운카운트 하시오!
3.아두이노에 2DOF 서보모터를 연결하고 각각의 로터리 엔코더로 각축의 서보모터를 제어하시오!
4.아두이노에 부저를 연결하고 첫번째 로터리엔코더로 음높이를 결정하고 두번째 엔코더로 간격을 결정해보시오!
5.(이건 가능할지 모르겠음) 2.4인치 LCD(SPFD5408)을 연결하고 x,y축의 라인을 이동시켜보시오!
관련라이브러리(TM1637/1.2.0)
https://github.com/avishorp/TM1637
관련라이브러리(LiquidCrystal_I2C/1.1.2)
https://github.com/johnrickman/LiquidCrystal_I2C
관련라이브러리(SPFD5408/1.0.2)
https://github.com/JoaoLopesF/SPFD5408