이전에 적외선 거리 센서를 다뤘습니다. https://conceptbug.tistory.com/entry/아두이노-적외선-거리-센서-GP2Y0A21-IR-C29-with-3m-연장선 [아두이노] 적외선 거리 센서 : GP2Y0A21 IR - C29 (with 3m 연장선) 거리를 측정해야 할 일이 있는데 아두이노와 쉽게 호환되는 센서 종류로는 대~충 3가지가 있는 것 같습니다. 적외선 센서 초음파 센서 LIDAR 센서 해당 제품은 적외선을 통해 거리를 측정하는 센 conceptbug.tistory.com 사실 사용할 환경이 워낙 특이 케이스라서 LIDAR는 너무 비싸고.. 적당한 적외선과 초음파 센서를 둘 다 사서 써보자 하는 마음으로 구매했습니다. 동작 원리는 적외선 센서와 크게 다를것이 없습니다. 사..
거리를 측정해야 할 일이 있는데 아두이노와 쉽게 호환되는 센서 종류로는 대~충 3가지가 있는 것 같습니다. 적외선 센서 초음파 센서 LIDAR 센서 해당 제품은 적외선을 통해 거리를 측정하는 센서로, 측정 방법에 '빛'이 사용된다는 점이 특징입니다. 따라서 측정의 매개체가 되는 빛에 영향을 주는 환경에서는 해당 센서를 사용하는 것을 고려해야 할 것입니다. (예를 들면 직사광선이 쏟아지는 야외, 그늘과 양지를 오가는 상황, 비가 올 수도 있는 환경 등) 센서의 구조 자체는 크게 적외선 발광부와 수광부로 이루어져 있습니다. 적외선을 발광하여 반사물에 반사되는 적외선의 양에 따라 거리를 측정하며, 측정 된 거리만큼 아날로그 전압으로 출력하는 방식입니다. 참고로, 해당 모델은 아날로그형 모델(GP2Y0'A'21..
저는 RC 컨트롤러를 최소 6채널 이상 되는 녀석으로 바꿀 예정입니다. 지금 사용중인 건(gun)형태의 컨트롤러는 딱 테스트용이라서 테스트 이후 놓아줄 예정입니다... 따라서 위 그림과 같은 전형적인 패드(pad)형 RC 컨트롤러를 예로 생각해 봤습니다. 정리를 해보자 조종 신호 수신 머리로는 대~충 이해가 가지만 막상 코드로 표현하려고 하니 순서가 뒤죽박죽 되더라구요. 먼저 제가 가공할 신호부터 정리 해봤습니다. 기본적으로 Rudder와 Throttle, 이렇게 두 가지 조작이 이루어집니다. 각각의 조작 스틱은 1개의 채널에 할당되어 무선으로 리시버에 전달되며 그 전달된 값의 최대, 최소, 중간값은 이전의 포스팅에서 이미 관찰했었죠. 2021/02/13 - [로봇] - [아두이노] Differentia..
이전까지의 포스팅에서 모터의 회전 방향, 그리고 데드존까지 테스트 해봤습니다. 바로 차동 구동 알고리즘으로 들어갈까 하여 구상을 해보니 하나 걸리는게 있어서 작업을 해놓고 넘어가려고 합니다. 굳이? 지금 구상한 것들을 간단하게(귀찮으니까) 그려봤습니다. 평균 함수는 솔직히 마무리 단계에서 사용을 하게 될지 잘 모르겠습니다. 일단 평균 함수를 사용하면 연산이 느려지는데, 모터의 가동 범위가 줄었을 뿐더러 "과연 필터링을 하지 않은 값이 그렇게 영향을 미칠까?" 라는 생각도 들기 때문입니다. 믹서의 알고리즘 양단에 있는 스케일링 함수는 어쩌면 최대한 중복을 피해서 사용하게 될 것 같습니다. 느려지기도 하고 굳이 여러번 할 필요가 없으니까요. 그런데 어찌됐던 반드시 빠지지 않을 부분이 있습니다. 바로 알고리즘..
데드존(Deadzone) 모터에서 데드존, 특히 기어 모터에서 데드존(deadzone)은 사전에 테스트를 통해 알아두어야 합니다. 주변에서 쉽게 찾아볼 수 있는 예로 요새 어디서든 쉽게 찾아볼 수 있는 전동 킥보드가 있습니다. 저도 전동 킥보드를 거의 4년째 타고 다니고 있는데요, 저는 앞/뒤 휠이 모두 굴러가는 듀얼 BLDC 모터로 각각 1,000W의 힘을 갖고 있습니다. 모터의 와트가 높고, 듀얼 모터이기 때문에 힘이 매우 좋습니다. 약 150만원에 주고 구매했습니다. 하지만 30~40만원 대 저가형 모델의 경우 대부분 모터가 1개만 장착되고, 그나마도 매우 힘이 약한 350~500W 정도의 모터를 사용합니다. 이러한 제품의 경우 탑승자의 몸무게가 많이 나갈 경우, 경사로를 주행해야 하는 경우 등 환..
DC 모터에 대해.. 개념 DC 모터에 대해 간단하게 짚고 넘어가기 위해 구글링을 하다가 괜찮은 링크가 있어서 띄웁니다. www.devicemart.co.kr/goods_process/get_html_to_string? DC MOTOR DC Motor [디바어스마트 바로가기] 작성자: 유은재 (CJ) 작성일: 2018.9.27 1. DC 모터 개요 DC(Direct Current, 직류)모터는 브러시의 유/무에 따라서 일반적으로 Brushed DC모터와 Brushless DC (BLDC)모터로 구분할 www.devicemart.co.kr 위는 DC 모터에 대한 '기본' 개념이고, 기어(감속) 모터, BLDC 모터, 스텝 모터, 서보 모터, 액추에이터 등등 다양한 종류의 DC 모터가 있습니다. 그리고 각 ..
이전 포스팅에서 Cytron 사의 코딩 교육용 아두이노 호환 보드인 Maker UNO를 살펴봤습니다. 내장된 푸쉬 버튼을 토글 버튼으로 사용할 수 있도록 코드를 작성했습니다. 이제 toogleStatus 변수를 가지고 음악을 재생할지, 정지할지 정할 수 있겠네요. 피에조 부저 (Piezo Buzzer) 방금 만든 토글 스위치가 활성화(SET) 되었을 때 음악을 재생할 함수 playBuzzer()을 호출합니다. 피에조 부저는 tone() 함수를 사용하여 재생할 수 있습니다. www.arduino.cc/reference/en/language/functions/advanced-io/tone/ tone() - Arduino Reference Notes and Warnings If you want to play ..
이전 포스팅에서 Cytron 사의 코딩 교육용 아두이노 호환 보드인 Maker UNO를 살펴봤습니다. 가격도 저렴하며 디자인도 예쁘고 코딩을 처음 접하는 청소년들이나 어린이들이 쉽게 접근할 수 있게끔 설계 되었습니다. 각 디지털 핀에 LED가 내장되어 있어 신호의 입/출력을 마치 RX/TX LED가 깜빡이는 것과 비슷하게 육안으로 확인 가능하며 푸쉬 버튼과 피에조 부저가 내장되어 있어 여러가지 재미있는 것들을 해볼 수 있습니다. 디지털 핀의 LED는 확인했고, 리뷰가 길어질 것 같아 해당 포스팅에서 푸쉬 버튼과 피에조 부저의 사용법에 대해서만 간단히 다뤄볼 예정입니다. Push Button -> Toggle Button 앞에 "programmable"이라는 단어가 붙어있는데, 말 그대로 프로그램 가능한 ..
이번에 아두이노 호환 보드인 Cytron사의 Maker UNO를 구매하였습니다. 나름 기대를 하고 구매한 제품이기에 리뷰를 작성해봅니다. 아두이노 "정품 보드" VS "호환 보드" 대부분의 전자 부품 판매 사이트를 들어가서 아두이노 카테고리를 보면 '정품 보드'와 '호환 보드'가 따로 존재하는 것을 볼 수 있습니다. 아시다시피, 아두이노의 설계도는 오픈되어 있습니다. 이 말은 해당 설계도를 누구나 사용할 수 있다는 말입니다. 호환 보드는 이 설계도를 가지고 커스텀 제작된 아두이노 보드들을 호환 보드라고 합니다. 정품 보드를 사용하지 않고 굳이 호환 보드를 만드는 이유는 여러가지가 있다고 생각합니다. 1. 대다수는 무선 통신, 쉴드, 부품 등, 본인들이 원하는 기능을 추가하기 위해 호환 보드를 제작하는 것..
스케일 (scale) '스케일'이라는 단어를 처음 접하는 사람들에게는 조금 생소할 수 있습니다. 예를 들어 60분을 기준으로 하였을 때, 46분은 0~60분에 대하여 몇 %일까요? (46 / 60) * 100 = 약 77% 입니다. 이렇게 1차 함수로 이해하시면 편합니다. 이를 좀 더 프로그램을 짠다는 입장에서 생각해보면 아래와 같습니다. 함수를 제작할 때 정의해야 할 매개 변수(parameter)로 5개의 매개 변수가 나올 수 있습니다. in_min : 입력 값의 최소값 in_max : 입력 값의 최대값 out_min : 출력 값의 최소값 out_max : 출력 값의 최대값 in_val : 스케일링 할 입력값 이제 위의 매개 변수를 가지고 함수를 만들면 되는데, 놀랍게도 아두이노에는 이미 간단한 스케일..
평균 (average) 이전의 포스팅에서 RC 송신기에서 신호를 만들어내는 방식에 대해 잠깐 언급했었습니다. 2021/02/11 - [로봇] - [아두이노] Differential Wheeled RC카 만들기 #1-1 "RC 수신기 신호 읽어들이기" [아두이노] Differential Wheeled RC카 만들기 #1-1 "RC 수신기 신호 읽어들이기" 구상 및 계획 RC카 하드웨어를 만들었으니 이제 제어 프로그램을 준비할겁니다. 프로그램을 처음 만들어보는 사람은 아마 가장 처음에 무엇을 어떻게 시작해야 할지 헷갈릴수도 있습니다. 솔직 conceptbug.tistory.com 가변 저항과 스위치의 위치를 읽어들여 신호를 발생시킵니다. RC 수신기도 송신기로부터 들어오는 신호를 수신측 센서에서 감지합니다...
구상 및 계획 RC카 하드웨어를 만들었으니 이제 제어 프로그램을 준비할겁니다. 프로그램을 처음 만들어보는 사람은 아마 가장 처음에 무엇을 어떻게 시작해야 할지 헷갈릴수도 있습니다. 솔직히 케바케라고 생각하는데 저는신호(signal)를 가장 먼저 생각 해봤습니다. 먼저 저의 목표는"내가 조종값을 넣으면 그 값대로 RC카가 움직였으면 좋겠다."정도 일겁니다 . 이를 좀더 자세하게 풀어보자면 아래와 같겠네요. 제가 조종한 RC 송신기는 바인딩 되어있는 RC 수신기에게 명령값을 전달합니다. RC 수신기는 받은 명령 신호를 내보내는 출력핀이 있고, 그 핀을 통해 아두이노로 신호를 읽어 들일겁니다. 아두이노로 들어온 신호(PWM)를 적절하게 가공합니다. 입력(input) 신호는 2가지 입니다: Steering과 T..