소개
자가 연주 우쿨렐레를 상상해 보세요! 이 프로젝트는 아두이노 마이크로컨트롤러를 사용하여 자율적으로 음악을 연주할 수 있는 우쿨렐레 로봇을 설계하고 제작하는 것입니다.
필요한 부품
- 우쿨렐레: 기본 모델이면 충분합니다.
- 아두이노 우노: 프로젝트의 두뇌 역할을 합니다.
- L293D 모터 드라이버 쉴드: 모터를 제어합니다.
- 12V 솔레노이드: 줄을 누르기 위해 사용됩니다.
- 스테퍼 모터 및 드라이버: 피크를 움직이기 위해 사용됩니다.
- 마이크로 서보: 줄을 튕기기 위해 사용됩니다.
- 3D 프린팅 부품: 부품을 장착하기 위해 사용됩니다.
- 전원 공급 장치: 12V 10A.
- 기타: 브레드보드, 전선, 너트, 볼트 등.
이 프로젝트에서는 자율적으로 음악을 연주할 수 있는 자동 연주 우쿨렐레 로봇을 설계하고 제작합니다!
공급
아두이노 우노(Arduino Uno) 마이크로컨트롤러 기반!
면책 조항 - 소모품 목록에는 제휴사/유료 링크가 포함될 수 있습니다.
부품
- 우쿨렐레 (저렴한 모델이라면 무엇이든 가능) 아마존
- 아두이노 우노 아마존
- L293D 모터 드라이버 실드 아마존
- 8× 12V 솔레노이드 아마존
- Nema 17 스테퍼 아마존
- TMC2208 스테퍼 드라이버 아마존
- 미니 브레드보드 아마존
- 150mm MGN9B 리니어 레일 w/ 블록 아마존
- GT2 6mm 타이밍 벨트 아마존
- 풀리 및 아이들러 아마존
- 마이크로 서보 아마존
- 12V 10A 전원 공급 장치 아마존
- 솔리드 코어 와이어(22AWG) 아마존
- M3 너트와 볼트 아마존
도구
- 3D 프린터
- 납땜
- 드라이버
- 멀티 미터
1단계: 동영상을 시청하세요!
로봇이 실제로 연주하는 모습을 보고 싶고, 몇 곡의 노래와 디자인/빌드 과정에 대해 좀 더 자세히 알고 싶다면 비디오를 확인해 보세요.
2단계: 3D 프린팅
첫 번째 단계는 필요한 부품을 3D 프린팅하는 것입니다. shell_bottom.stl 및 shell_top.stl은 다음 장착 구성 요소가 연결되는 기본 역할을 하므로 먼저 인쇄하는 것이 좋습니다.
- rail_mount.stl (×2)
- idler_holder.stl
- stepper_mount.stl
그런 다음 피킹 메커니즘의 부품을 인쇄 할 수 있습니다 (servo_mount.stl, pick.stl).
로봇의 다른 쪽은 solenoid_cage.stl을 기반으로 합니다. 이것은 2× neck_mount.stl을 통해 우쿨렐레에 연결됩니다. 그런 다음 4× plunger_center.stl 및 4× plunger_side.stl이 필요하지만 사용되는 솔레노이드의 수와 레이아웃에 따라 변경될 수 있습니다.
3 단계 : 3D 프린팅 2
부품을 인쇄하는 동안 주의해야 할 중요한 사항:
⚠️ 대부분의 소프라노 우쿨렐레는 쉘 조각이 제대로 맞을 수 있을 만큼 충분히 유사한 디자인을 가져야 하지만 항상 그런 것은 아니므로 이러한 부분을 악기에 맞게 약간 수정해야 할 수도 있습니다.
4 단계 : 상부 절반 조립
먼저 리니어 레일 마운트를 상단 절반에 놓고 M3 나사로 고정합니다. 쉘의 아래쪽에는 M3 너트를 조일 수 있도록 설계된 슬롯이 있습니다.
이 과정을 반복하여 스테퍼 마운트를 측면에 부착한 다음 스테퍼를 위쪽을 향한 위치로 밀어 넣습니다.
5단계: 하단 절반 조립
하단 절반의 경우 아이들러 홀더를 설치한 다음 다른 레일 마운트를 설치하여 시작합니다. 그런 다음 모터 실드가 있는 Arduino를 측면에 부착합니다.
완성된 결과는 위에 표시된 그림과 유사해야 합니다.
6단계: 레일 장착
이제 리니어 레일을 우쿨렐레 본체 전체에 설치할 수 있습니다. 올바른 위치에 놓이면 레일 마운트를 끝까지 조여야 합니다.
그런 다음 3D 프린팅된 서보 마운트를 타이밍 벨트에 연결합니다. 서보 마운트에는 벨트를 고정하기 위한 특정 슬롯이 있어 쉽게 제자리에 밀어 넣을 수 있습니다.
슬라이딩 블록이 리니어 레일을 위아래로 자유롭게 움직이는지 다시 한 번 확인한 다음 서보 마운트를 나사로 고정하여 올바른 방향에 있는지 확인합니다.
7 단계 : 벨트 및 풀리 시스템
아이들러 풀리를 마운트에 놓고 벨트와 스테퍼 샤프트를 감습니다. 벨트를 적절한 길이로 자르고 스테퍼 마운트의 다른 슬롯에 삽입합니다. 이렇게 하면 스테퍼가 슬라이딩 블록을 위아래로 움직일 수 있습니다.
8 단계 : 전자 제품 1
스테퍼 모터 옆에 미니 브레드보드를 놓고 TMC2208 스테퍼 드라이버를 중앙에 삽입합니다. 이제 스테퍼 모터에 공급되는 전류를 제한하려면 드라이버 모듈에서 전압 기준을 설정해야 합니다.
- 먼저 드라이버를 12V 전원에 연결합니다.
- 전원을 켜고 멀티미터를 설정하여 DC 전압을 측정합니다.
- 검은색 프로브를 GND 핀에 놓고 빨간색 프로브를 작은 전위차계에 놓습니다.
- 멀티미터 판독값을 모니터링하면서 전위차계를 조정하여 기준 전압(VREF)
⚠️ 결국 기준 전압을 약 1V로 설정했습니다.
9 단계 : 전자 2
Arduino에 대한 나머지 연결의 경우:
- M1A, M1B, M2A, M2B는 스테퍼 모터에 연결됩니다.
- VIO는 모터 쉴드의 5V 출력에 납땜됩니다.
- DIR, STEP 및 ENABLE은 선택한 Arduino 디지털 핀에 연결되며 드라이버에 신호를 보내는 데 사용됩니다.
- 접지는 연결되어야 합니다.
10단계: 스테퍼 및 서보 코드
이제 메커니즘을 움직일 시간입니다!
슬라이더를 스테퍼에 최대한 가깝게 이동하여 슬라이더의 위치를 재설정합니다. 그런 다음 Accelstepper 라이브러리를 사용하는 stepper.ino 코드를 업로드하여 움직임을 테스트합니다(슬라이더의 전체 이동 범위를 보장하기 위해 제한을 조정해야 할 수 있음).
완료되면 마이크로 서보를 Arduino에 연결하고 servo.ino 코드를 실행하여 작동을 확인합니다.
11단계: 슬라이더 보정
두 섹션이 모두 제대로 작동하면 이제 서보를 슬라이더에 장착하여 결합하고 이전의 두 코드 조각을 모두 통합할 수 있습니다
⚠️서보 모터가 제자리에 놓이면 올바른 각도를 조정하고 결정해야 할 수도 있습니다.
12단계: 위치 보정
이 부분은 약간 더 어렵고 약간의 시행착오가 필요할 수 있습니다.
로봇이 현을 뽑도록 하려면 각 현의 위치를 찾아 코드에 넣어 곡괭이가 4개의 현 각각의 측면에 부드럽게 놓이도록 합니다. 이후 섹션의 코드가 도움이 될 수 있습니다(불필요한 부분 제거).
13단계: 솔레노이드 조립 1
이 작업이 완료되면 솔레노이드 케이지를 아직 인쇄하지 않은 경우 인쇄하고 위 이미지에 표시된 패턴으로 솔레노이드를 삽입(먼저 와이어를 끼워 넣음)합니다. 각 솔레노이드에 대해 하나의 와이어를 접지에 연결하고 다른 와이어를 arduino 실드의 모터 입력 중 하나에 연결합니다.
14단계: 솔레노이드 조립 2
플런저를 솔레노이드 끝에 나사로 고정한 다음 케이지 마운트를 사용하여 케이지를 우쿨렐레 목에 부착합니다. 플런저가 스트링을 올바르게 눌렀는지 확인하고 필요한 경우 다시 정렬합니다.
15단계: 모든 것을 합치기
설정에 따라 모든 것이 작동하도록 하려면 여러 번 시도해야 할 수 있습니다. 이 섹션에는 이 프로세스에 도움이 될 수 있는 몇 가지 스크립트가 포함되어 있습니다.
매번 기억해야 할 테스트 프로세스:
- 12V 전원을 연결합니다.
- 아두이노를 연결합니다.
- 슬라이더를 홈 위치로 이동합니다.
16 단계 : 재생할 노래
ukulele.ino 스케치에 몇 가지 다른 노래를 넣었으니 모두 시도해 보세요!
'로봇프로젝트' 카테고리의 다른 글
Arduino를 사용하여 집에서 인간 추적 로봇을 만드는 방법 (2) | 2024.12.06 |
---|---|
태양열 장애물 회피 자동차 (3) | 2024.11.01 |
DC 모터를 사용하는 Doodlebot (1) | 2024.09.03 |
체이스 탱크 로봇 만들기 (0) | 2023.12.11 |
TinkerCAD를 사용한 Sokoban 로봇 제작 - Sokoban Robot Using L0Cost Robot Controller With FPV - Designed With TinkerCAD (1) | 2023.12.01 |