본문 바로가기
로봇프로젝트

아두이노를 이용한 자가 연주 우쿨렐레 로봇

by 모빌리티키즈 2024. 9. 19.
728x90
반응형

소개

자가 연주 우쿨렐레를 상상해 보세요! 이 프로젝트는 아두이노 마이크로컨트롤러를 사용하여 자율적으로 음악을 연주할 수 있는 우쿨렐레 로봇을 설계하고 제작하는 것입니다.

필요한 부품

  • 우쿨렐레: 기본 모델이면 충분합니다.
  • 아두이노 우노: 프로젝트의 두뇌 역할을 합니다.
  • L293D 모터 드라이버 쉴드: 모터를 제어합니다.
  • 12V 솔레노이드: 줄을 누르기 위해 사용됩니다.
  • 스테퍼 모터 및 드라이버: 피크를 움직이기 위해 사용됩니다.
  • 마이크로 서보: 줄을 튕기기 위해 사용됩니다.
  • 3D 프린팅 부품: 부품을 장착하기 위해 사용됩니다.
  • 전원 공급 장치: 12V 10A.
  • 기타: 브레드보드, 전선, 너트, 볼트 등.

이 프로젝트에서는 자율적으로 음악을 연주할 수 있는 자동 연주 우쿨렐레 로봇을 설계하고 제작합니다!

공급

아두이노 우노(Arduino Uno) 마이크로컨트롤러 기반!

면책 조항 - 소모품 목록에는 제휴사/유료 링크가 포함될 수 있습니다.

부품

  1. 우쿨렐레 (저렴한 모델이라면 무엇이든 가능) 아마존
  2. 아두이노 우노 아마존
  3. L293D 모터 드라이버 실드 아마존
  4. 8× 12V 솔레노이드 아마존
  5. Nema 17 스테퍼 아마존
  6. TMC2208 스테퍼 드라이버 아마존
  7. 미니 브레드보드 아마존
  8. 150mm MGN9B 리니어 레일 w/ 블록 아마존
  9. GT2 6mm 타이밍 벨트 아마존
  10. 풀리 및 아이들러 아마존
  11. 마이크로 서보 아마존
  12. 12V 10A 전원 공급 장치 아마존
  13. 솔리드 코어 와이어(22AWG) 아마존
  14. M3 너트와 볼트 아마존

도구

  1. 3D 프린터
  2. 납땜
  3. 드라이버
  4. 멀티 미터

1단계: 동영상을 시청하세요!

 

로봇이 실제로 연주하는 모습을 보고 싶고, 몇 곡의 노래와 디자인/빌드 과정에 대해 좀 더 자세히 알고 싶다면 비디오를 확인해 보세요.

2단계: 3D 프린팅

첫 번째 단계는 필요한 부품을 3D 프린팅하는 것입니다. shell_bottom.stl  shell_top.stl은 다음 장착 구성 요소가 연결되는 기본 역할을 하므로 먼저 인쇄하는 것이 좋습니다.

  1. rail_mount.stl (×2)
  2. idler_holder.stl
  3. stepper_mount.stl

그런 다음 피킹 메커니즘의 부품을 인쇄 할 수 있습니다 (servo_mount.stl, pick.stl).

로봇의 다른 쪽은 solenoid_cage.stl을 기반으로 합니다. 이것은 2× neck_mount.stl을 통해 우쿨렐레에 연결됩니다. 그런 다음 4× plunger_center.stl 및 4× plunger_side.stl이 필요하지만 사용되는 솔레노이드의 수와 레이아웃에 따라 변경될 수 있습니다.

servo_mount.stl
0.16MB
rail_mount.stl
0.04MB
plunger_side.stl
0.01MB
plunger_center.stl
0.01MB
pick.stl
0.06MB
neck_mount.stl
0.04MB
idler_holder.stl
0.07MB

stepper_mount.stl
0.15MB
shell_top.stl
0.31MB
solenoid_cage.stl
0.15MB
shell_bottom.stl
0.26MB

3 단계 : 3D 프린팅 2

부품을 인쇄하는 동안 주의해야 할 중요한 사항:

⚠️ 대부분의 소프라노 우쿨렐레는 쉘 조각이 제대로 맞을 수 있을 만큼 충분히 유사한 디자인을 가져야 하지만 항상 그런 것은 아니므로 이러한 부분을 악기에 맞게 약간 수정해야 할 수도 있습니다.

4 단계 : 상부 절반 조립

먼저 리니어 레일 마운트를 상단 절반에 놓고 M3 나사로 고정합니다. 쉘의 아래쪽에는 M3 너트를 조일 수 있도록 설계된 슬롯이 있습니다.

이 과정을 반복하여 스테퍼 마운트를 측면에 부착한 다음 스테퍼를 위쪽을 향한 위치로 밀어 넣습니다.

5단계: 하단 절반 조립

하단 절반의 경우 아이들러 홀더를 설치한 다음 다른 레일 마운트를 설치하여 시작합니다. 그런 다음 모터 실드가 있는 Arduino를 측면에 부착합니다.

완성된 결과는 위에 표시된 그림과 유사해야 합니다.

6단계: 레일 장착

이제 리니어 레일을 우쿨렐레 본체 전체에 설치할 수 있습니다. 올바른 위치에 놓이면 레일 마운트를 끝까지 조여야 합니다.

그런 다음 3D 프린팅된 서보 마운트를 타이밍 벨트에 연결합니다. 서보 마운트에는 벨트를 고정하기 위한 특정 슬롯이 있어 쉽게 제자리에 밀어 넣을 수 있습니다.

슬라이딩 블록이 리니어 레일을 위아래로 자유롭게 움직이는지 다시 한 번 확인한 다음 서보 마운트를 나사로 고정하여 올바른 방향에 있는지 확인합니다.

7 단계 : 벨트 및 풀리 시스템

아이들러 풀리를 마운트에 놓고 벨트와 스테퍼 샤프트를 감습니다. 벨트를 적절한 길이로 자르고 스테퍼 마운트의 다른 슬롯에 삽입합니다. 이렇게 하면 스테퍼가 슬라이딩 블록을 위아래로 움직일 수 있습니다.

8 단계 : 전자 제품 1

스테퍼 모터 옆에 미니 브레드보드를 놓고 TMC2208 스테퍼 드라이버를 중앙에 삽입합니다. 이제 스테퍼 모터에 공급되는 전류를 제한하려면 드라이버 모듈에서 전압 기준을 설정해야 합니다.

  1. 먼저 드라이버를 12V 전원에 연결합니다.
  2. 전원을 켜고 멀티미터를 설정하여 DC 전압을 측정합니다.
  3. 검은색 프로브를 GND 핀에 놓고 빨간색 프로브를 작은 전위차계에 놓습니다.
  4. 멀티미터 판독값을 모니터링하면서 전위차계를 조정하여 기준 전압(VREF)
⚠️ 결국 기준 전압을 약 1V로 설정했습니다.

9 단계 : 전자 2

Arduino에 대한 나머지 연결의 경우:

  1. M1A, M1B, M2A, M2B는 스테퍼 모터에 연결됩니다.
  2. VIO는 모터 쉴드의 5V 출력에 납땜됩니다.
  3. DIR, STEP  ENABLE은 선택한 Arduino 디지털 핀에 연결되며 드라이버에 신호를 보내는 데 사용됩니다.
  4. 접지는 연결되어야 합니다.

10단계: 스테퍼 및 서보 코드

 
 

이제 메커니즘을 움직일 시간입니다!

슬라이더를 스테퍼에 최대한 가깝게 이동하여 슬라이더의 위치를 재설정합니다. 그런 다음 Accelstepper 라이브러리를 사용하는 stepper.ino 코드를 업로드하여 움직임을 테스트합니다(슬라이더의 전체 이동 범위를 보장하기 위해 제한을 조정해야 할 수 있음).

완료되면 마이크로 서보를 Arduino에 연결하고 servo.ino 코드를 실행하여 작동을 확인합니다.

stepper.ino
0.00MB
servo.ino
0.00MB

11단계: 슬라이더 보정

 

두 섹션이 모두 제대로 작동하면 이제 서보를 슬라이더에 장착하여 결합하고 이전의 두 코드 조각을 모두 통합할 수 있습니다

⚠️서보 모터가 제자리에 놓이면 올바른 각도를 조정하고 결정해야 할 수도 있습니다.

12단계: 위치 보정

 

이 부분은 약간 더 어렵고 약간의 시행착오가 필요할 수 있습니다.

로봇이 현을 뽑도록 하려면 각 현의 위치를 찾아 코드에 넣어 곡괭이가 4개의 현 각각의 측면에 부드럽게 놓이도록 합니다. 이후 섹션의 코드가 도움이 될 수 있습니다(불필요한 부분 제거).

13단계: 솔레노이드 조립 1

이 작업이 완료되면 솔레노이드 케이지를 아직 인쇄하지 않은 경우 인쇄하고 위 이미지에 표시된 패턴으로 솔레노이드를 삽입(먼저 와이어를 끼워 넣음)합니다. 각 솔레노이드에 대해 하나의 와이어를 접지에 연결하고 다른 와이어를 arduino 실드의 모터 입력 중 하나에 연결합니다.

14단계: 솔레노이드 조립 2

 

플런저를 솔레노이드 끝에 나사로 고정한 다음 케이지 마운트를 사용하여 케이지를 우쿨렐레 목에 부착합니다. 플런저가 스트링을 올바르게 눌렀는지 확인하고 필요한 경우 다시 정렬합니다.

15단계: 모든 것을 합치기

설정에 따라 모든 것이 작동하도록 하려면 여러 번 시도해야 할 수 있습니다. 이 섹션에는 이 프로세스에 도움이 될 수 있는 몇 가지 스크립트가 포함되어 있습니다.

매번 기억해야 할 테스트 프로세스:

  1. 12V 전원을 연결합니다.
  2. 아두이노를 연결합니다.
  3. 슬라이더를 홈 위치로 이동합니다.

ukulele.ino
0.01MB

16 단계 : 재생할 노래

ukulele.ino 스케치에 몇 가지 다른 노래를 넣었으니 모두 시도해 보세요!

 

728x90
반응형