[아두이노#230] RS485/MAX485 통신모듈(12편) 1:N통신으로 DC모터 RPM측정해보기(녹칸다/포로리야공대가자)
프로그래밍/RS485모드버스(modbus) 2021. 1. 19. 23:21
RS485/MAX485 통신모듈(12편) 1:N통신으로 DC모터 RPM측정해보기(녹칸다/포로리야공대가자)
-아두이노 3대와 RS482통신모듈 3대를 준비해서 각각 연결을 하고, 통신선(A,B)를 병렬로 연결해보자!
-녹칸다가 이전에 구현했던 RS485 기본송수신 코드를 활용해보자!
-RS485모듈이 달린 아두이노 3대를 각각 A,B,C라고 해보자!
-A에는 가변저항과 결과를 확인할 수 있는 1602LCD를 연결해보자!
-B에는 DC모터 제어를 위한 모스펫(mosfet)을 연결해보자!
-C에는 B에 연결된 DC모터의 RPM을 측정할 수 있는 홀센서를 연결해보자!
-A에 달린 가변저항을 돌리면 B의 DC모터가 PWM으로 제어된다!
-그리고 A가 C에게 요청하면 측정중인 RPM값을 A로 전송해주고 LCD에 결과를 출력해보자!
예제 230-1-1(마스터용 코드)
마스터에는 가변저항(포텐셔미터) A0에 연결했다!
1602LCD모듈을 SDA를 A4, SCL을 A5에 연결했다!(I2C전용핀)
가변저항을 돌리면 슬레이브1에 연결된 DC모터제어를 위한 패킷을 전송한다!
슬레이브2에 현재 측정한 RPM값을 요청하는 패킷을 주기적으로 전송한다!
관련라이브러리(LiquidCrystal_I2C)
https://github.com/johnrickman/LiquidCrystal_I2C
레퍼런스강의(#124)