프로그래밍/로터리엔코더와 메뉴트리

[아두이노#389] (로터리엔코더#3) 로터리엔코더(rotary encoder) 1개로 서보모터,스탭모터,DC모터 제어해보기!(녹칸다/포로리야공대가자)

덕력킹 2021. 12. 1. 23:01
반응형

https://youtu.be/q76wMaQPmvA

(로터리엔코더#3) 로터리엔코더(rotary encoder) 1개로 서보모터,스탭모터,DC모터 제어해보기!
녹칸다의 로터리엔코더(rotary encoder)와 타이머 인터럽트(timer interrupt)시리즈이다!
세탁기나 각종 전자제품에 많아 달려있는 로터리 엔코더를 아두이노에서 활용해보고자 하는 시리즈이다!
빙글빙글 돌려서 설정값을 바꾸거나 항목을 바꾸는 것이라고 생각하면 될 듯 하다!
가변저항과 유사하지만 가변저항은 돌리다보면 한계지점이 있고 로터리 엔코더는 무한히 회전할 수 있다!
그러다 보니 원수열 형태의 업/다운 카운트가 가능하다!
이번편에서는 로터리엔코더를 활용해서 서보모터, 스탭모터, DC모터를 제어해보자!
아래와 같이 예제를 만들어보자!
1.아두이노에 서보모터를 연결하고 로터리 엔코더로 서보모터의 각도를 올리거나 내린다!(엔코더를 돌리는 양에 따라 증감된다)
2.아두이노에 서보모터와 FND모듈(TM1637)을 연결하고 로터리엔코더로 서보모터의 각도값을 FND모듈에 설정한뒤 버튼을 누르면 서보모터가 해당각도로 회전한다!
3.아두이노에 스탭모터를 연결하고 로터리 엔코더를 돌렸을때 1스탭씩 증감되도록 하시오!
4.아두이노에 스탭모터와 FND모듈을 연결하고 스탭모터의 목표 스탭량을 설정한뒤 버튼을 누르면 회전할 수 있도록 하시오!
5.아두이노에 모스펫(IRF520)과 DC모터를 연결하고 로터리 엔코더를 이용해서 DC모터의 회전속도를 증감하시오!
6.(5)예제에 FND모듈을 연결하고 목표값을 설정한뒤 DC모터가 회전할 수 있도록 하시오!

(+)시간이 남아서 1602LCD에 로터리엔코더로 text출력하는 예제도 해봄!

 

389-1(서보모터를로터리엔코더로1도씩돌리기).txt
0.00MB
389-2(서보모터를로터리엔코더로1도씩돌리기2).txt
0.00MB
389-3(서보모터를로터리엔코더로1도씩돌리기3).txt
0.00MB
389-4(스탭모터를로터리엔코더로제어하는예제).txt
0.00MB
389-5(스탭모터를로터리엔코더로제어하는예제2).txt
0.00MB
389-6(DC모터의속도를로터리엔코더로제어하는예제).txt
0.00MB
389-7(1602LCD에로터리엔코더로문자출력하기).txt
0.00MB

반응형