안녕하세요? 만들오 입니다. Joystick Bit 사용 중 알게된 팁을 공유합니다.
엄밀히 따지면 모든 조이스틱 방식에 적용되는 팁 입니다.
기존 RC카 코드는 2개의 서보모터(1개는 무한회전, 1개는 0~180도)를 사용했고,
서보모터는 0~180의 값으로 제어하기 때문에 조이스틱 값을 0~18로 맵핑했습니다.
하지만 조이스틱이 움직이는 영역은 다음 그림의 초록색 영역과 같습니다.
최대값이 18인데, 파란색 표시지점에서는 x, y축 모두 18보다 작은 값이 나옵니다.
위 코드대로면, RC카는 느린 속도로 살짝만 조향하여 움직입니다.
따라서, 아래 빨간 사각형 영역을 실제 사용 구간으로 하고,
이를 초과하는 값은 최대값인 18로 변환해야 합니다.
다음은 이를 반영한 블록코딩 예제 입니다.
기존 map 함수의 영역을 0~18에서 -4~22로 4씩 확장해 주었고,
constrin 함수를 이용해 0보다 작으면 0, 18보다 크면 18을 반환하게 했습니다.
조금이나마 도움이 되길 바라며 글을 마칩니다.
감사합니다.
728x90
'하드웨어 > 마이크로비트' 카테고리의 다른 글
[마이크로비트] ESP32와 시리얼 통신하기 (2) | 2021.03.09 |
---|---|
[마이크로비트] Joystick:bit 1년 사용자의 코드 공유 (0) | 2021.02.20 |
[마이크로비트] 모터 확장보드 Robotbit 사용법 (0) | 2021.01.12 |
[마이크로비트] 조이스틱 확장보드 Joystick Bit 사용방법 (0) | 2021.01.10 |
댓글