[아두이노#243] (#4/스탭모터/28BYJ-48) nRF24L01을 이용한 1:1 단방향 무선통신 원격제어 시리즈!(녹칸다/포로리야공대가자)
프로그래밍/nRF24L01 2021. 3. 17. 23:16
(#4/스탭모터/28BYJ-48) nRF24L01을 이용한 1:1 단방향 무선통신 원격제어 시리즈!(녹칸다/포로리야공대가자)
-RF무선통신 모듈중 가장 저렴한 nRF24L01을 이용한 원격제어 시리즈로 구성한다!
-큰 범주로 1:1단방향, 1:1양방향, 1:N단방향, 1:N양방향, N:N단방향, N:N양방향이 있다!(어디까지 할지는 모름)
-이번 시리즈는 nRF24L01을 이용한 1:1단방향 무선통신으로 한쪽 아두이노에서 다른쪽 아두이노를 원격제어하는 것을 목표로 한다!
-아두이노 2대를 준비하고 nRF24L01을 1개씩 연결해주면 아두이노끼리 양방향으로 무선통신이 가능해진다!
-nRF24L01모듈이 달린 2개의 아두이노보드를 각각 A와 B라고 하자!
-A에서 유저에게 스탭값을 시리얼통신으로 입력받고 B에 연결된 스탭모터를 RF무선통신으로 원격제어해보자!
-A에 버튼 2개를 연결하고 B에 스탭모터를 연결해서 A의 버튼 2개를 이용해서 B의 스탭모터 각도를 증가시키거나 감소시켜라!
-A에 가변저항을 연결하고 B에 스탭모터를 연결해서 A의 가변저항값을 각도값으로 환산해서 B의 스탭모터 각도를 제어하라!
-A에 2축조이스틱을 연결하고 B에 스탭모터를 연결해서 A의 조이스틱 X축을 이용해서 B의 스탭모터 각도를 증가시키거나 감소시켜라!
예제 243-1-1 트랜시버용코드
아두이노에 D2,D3에 버튼을 연결했다!
D2를 누르면 '0'을 리시버로 전송한다!(리시버는 +32스탭 회전한다)
D3을 누르면 '1'을 리시버로 전송한다!(리시버는 -32스탭 회전한다)
예제 243-2-1 트랜시버용코드
아두이노에 A0핀에 가변저항을 연결했다!
가변저항의 절대적인 위치를 각도로 환산해서 그 각도대로 스탭모터를 회전시키시오!
예제 243-3-1 트랜시버용코드
아두이노에 A0핀에 2축조이스틱의 X축을 연결했다!
조이스틱의 아날로그값을 읽어서 700보다 크면 스탭모터를 양의방향으로 제어할 수 있는 명령을 전송하고
300보다 작으면 음의방향으로 제어할 수 있는 명령을 무선으로 보내보자!
양의방향으로 제어하려면 '0'을 전송하고, 음의방향으로 제어하려면 '1'을 전송해보자!
관련라이브러리(nRF24L01)