Mục lục:

Prima - Robot chơi piano: 13 bước
Prima - Robot chơi piano: 13 bước

Video: Prima - Robot chơi piano: 13 bước

Video: Prima - Robot chơi piano: 13 bước
Video: [MP.90]. Robo côn trùng 2024, Tháng bảy
Anonim
Prima - Robot chơi piano
Prima - Robot chơi piano

Ý tưởng về một con rô bốt chơi nhạc cụ luôn khiến tôi bị cuốn hút và tôi luôn muốn tự mình chế tạo ra một loại nhạc cụ. Tuy nhiên, tôi chưa bao giờ có nhiều kiến thức về âm nhạc và nhạc cụ, vì vậy không bao giờ có thể hình dung được mình sẽ bắt đầu với điều đó như thế nào. Cho đến gần đây, tôi quan tâm đến việc tạo ra âm nhạc, bắt đầu tìm hiểu các công cụ sản xuất âm nhạc và sau khi có được bàn phím MIDI, tôi nhận ra đây không phải là một nhạc cụ khó chơi và tôi thực sự có thể chế tạo một con rô bốt có thể chơi nó. Vì vậy, đó là cách tạo ra Prima bắt đầu.

Tôi không chắc về sự thành công của dự án này, vì vậy tôi không bận tâm đến việc ghi lại nó. Nhưng vì nó hoạt động rất tốt, tôi đã quyết định chia sẻ thông tin chi tiết với cộng đồng Người hướng dẫn. Đây sẽ không phải là một nhật ký xây dựng từng bước, mà là một hướng dẫn giúp bạn bắt đầu. Tôi sẽ giải thích cách hoạt động của từng bộ phận của robot này, chia sẻ hình ảnh của chúng và mã cho Arduino. Hy vọng rằng sẽ là đủ nếu bạn muốn nhân rộng dự án này.

Và, thiết kế được lấy cảm hứng từ tài liệu hướng dẫn này, hãy gửi lời cảm ơn đến JimRD!

Vậy hãy bắt đầu

Bước 1: Tổng quan về Toàn bộ Dự án

Prima là một robot có thể chơi keyboard / piano hoặc bất kỳ nhạc cụ dựa trên phím nào tương tự. Nó có Arduino Uno làm bộ não, màn hình LCD để xuất hình ảnh và cảm biến siêu âm để khởi động không cần chạm. Bất kỳ bộ chuyển đổi nguồn nào cung cấp amp 5 volt 2 đều có thể cấp nguồn cho nó.

Nó có các tính năng sau:

  • Có thể lập trình - Có thể được lập trình để chơi bất kỳ sáng tác nào bị giới hạn trong một quãng tám.
  • Tốc độ điều chỉnh - Nhịp độ nó sẽ tuân theo khi chơi nhạc cụ có thể được thiết lập trong mã.
  • Bắt đầu không cần chạm - Người dùng có thể kích hoạt chơi chỉ bằng cách vuốt tay trên cảm biến, điều này sẽ rất hữu ích nếu người dùng đang bận chơi một nhạc cụ khác và muốn Prima chơi cùng với anh ấy / cô ấy sau một thời gian cụ thể. Người chơi của con người gây nhiễu với người chơi robot - thậm chí điều này cũng có thể đạt được nhờ sự trợ giúp của tính năng này.

Bước 2: Video

Image
Image

Bạn có thể xem nó chơi bàn phím trong video.

Bước 3: Tạo mô hình 3D

Tạo mô hình 3D
Tạo mô hình 3D
Tạo mô hình 3D
Tạo mô hình 3D

Sau khi hoàn thiện những gì nó có thể làm, tôi thiết kế phần thân trên TinkerCAD để tôi có thể bắt đầu xây dựng nó với ý tưởng rõ ràng về những gì tôi đang làm.

Cách tiếp cận này đã giúp tôi rất nhiều để có được một robot trông gọn gàng hoạt động chính xác theo cách mà nó được thiết kế. Mặc dù tôi đã phải sửa đổi thiết kế ban đầu một chút trong khi xây dựng nó, nhưng mô hình 3D vẫn giúp tôi tiết kiệm rất nhiều thời gian và công sức. Bạn có thể xem mô hình 3D chi tiết hơn tại đây.

Bước 4: Các bộ phận và công cụ

Các bộ phận và công cụ
Các bộ phận và công cụ
Các bộ phận và công cụ
Các bộ phận và công cụ
Các bộ phận và công cụ
Các bộ phận và công cụ

Đối với phần điện tử, bạn sẽ cần -

  • Arduino Uno (Số lượng - 1)
  • Màn hình LCD 16x2 (Số lượng - 1)
  • Bộ điều hợp I2C cho màn hình LCD (Số lượng - 1)
  • TowerPro SG90 Micro Servo (Số lượng - 2)
  • Cảm biến siêu âm HC-SR04 (Số lượng - 1)
  • Chuyển đổi Công tắc Đẩy (Số lượng - 1)
  • Buzzer (Số lượng - 1)
  • Bảng Vero / Bảng chấm / Bảng Perf
  • Dây nhảy nam - nam và dây nhảy nam - nữ

Để làm cho cơ thể -

  • Tấm PVC 5 mm
  • Chu kỳ nói (Số lượng - 2)
  • Vít
  • Ống đựng bút tiếp mực
  • Phun sơn (Nếu bạn muốn sơn nó)

Các công cụ bạn sẽ cần -

  • Keo siêu dính
  • Súng bắn keo nóng
  • Sắt hàn
  • Chống cắt (A. K. A Paper-cutter)

Bước 5: Mạch điện

Mạch điện
Mạch điện
Mạch điện
Mạch điện
Mạch điện
Mạch điện

Phần mạch khá dễ dàng. Tôi đang giải thích cách tôi đã thực hiện từng phân đoạn của nó -

Phân đoạn LCD - Tôi đã sử dụng bộ điều hợp I2C cho màn hình LCD để Arduino có thể giao tiếp với nó qua I2C, điều này không cần thiết nhưng đã đơn giản hóa mạch và giảm số lượng dây. Bạn có thể sử dụng màn hình LCD tiêu chuẩn bằng cách sửa đổi mã một chút.

Phân đoạn nguồn - Tôi đã tạo một mạch đơn giản trên veroboard bao gồm một công tắc đẩy bật tắt, một bộ rung, một đèn LED (mà tôi quyết định không sử dụng sau đó) và một bus nguồn chung 5V. Bus nguồn như trong, chân 5V và chân nối đất của servo, cảm biến sonar, màn hình LCD và Arduino đều được kết nối tương ứng với nhau. Một chân của công tắc đẩy được kết nối với đường 5V + và chân khác được kết nối với chân VCC của nguồn điện. Đường dây nối đất được kết nối trực tiếp với chân nối đất của nguồn điện. Vì vậy, có thể bật / tắt Prima bằng công tắc. Bộ rung và đèn LED được kết nối song song và chân VCC của chúng đi đến chân 13 của Arduino. Mặt đất của chúng được kết nối với mặt đất của xe buýt điện chung.

Sửa đổi đầu nối của Servos - Vì dây jumper thường có xu hướng ngắt kết nối khỏi đầu nối của servo, tôi đã cắt VCC và dây nối đất khỏi cả hai Servos và hàn chúng trực tiếp vào bus nguồn. Tuy nhiên, đối với các chân tín hiệu, tôi đã sử dụng dây nhảy để kết nối chúng với Arduino.

Cảm biến sonar - Được hàn hai dây tương ứng với chân VCC và chân nối đất của cảm biến sonar, đi đến bus nguồn chung và sử dụng dây jumper để kết nối chân kích hoạt và chân echo với Arduino.

Arduino - Được cấp nguồn thông qua đầu nối giắc cắm thùng.

Đi đến cái nào -

Chân kích hoạt của Cảm biến Sonar -> Chân A2 của Arduino

Chân echo của Cảm biến Sonar -> Chân A3 của Arduino

Chân SDA của Bộ điều hợp I2C -> Chân A4 của Arduino

Chân SCL của Bộ điều hợp I2C -> Chân A5 của Arduino

Buzzer VCC -> Chân D13 của Arduino

Phím nhấn chân tín hiệu của servo -> Chân D9 của Arduino

Chân tín hiệu của servo trục X -> Chân D8 của Arduino

Tất cả các chân VCC và chân nối đất được kết nối với bus nguồn chung.

Bước 6: Gắn cảm biến sonar

Giá đỡ cảm biến sonar
Giá đỡ cảm biến sonar

Hình ảnh có thể tự giải thích, chỉ cần dán siêu kệ hình chữ L lên "tường" và dán nóng cảm biến sonar trên giá.

Bước 7: Tạo đường ray trục X

Tạo đường ray trục X
Tạo đường ray trục X
Tạo đường ray trục X
Tạo đường ray trục X

Tôi đã mượn khái niệm về đường ray trục X từ máy CNC. Nó chỉ là hai nan hoa chu trình đặt song song với nhau, và các "bức tường" có các lỗ để các nan hoa chu trình đi qua. Ở các đầu khác của bức tường, các nan hoa được dán nóng vào tường để chúng không di chuyển. Các nan hoa đủ mạnh để hỗ trợ nền tảng trục X.

Bước 8: Nền tảng trục X

Nền tảng trục X
Nền tảng trục X
Nền tảng trục X
Nền tảng trục X
Nền tảng trục X
Nền tảng trục X
Nền tảng trục X
Nền tảng trục X

Đó là phần đi ngang để tiếp cận các phím nhất định và có một servo có một cánh tay gắn vào nó để nhấn phím.

Nó có hai ống đựng bút tiếp mực được dán nóng ở dưới cùng của nó, qua đó các nan hoa sẽ cho phép nó trượt trên chúng. Tôi lấy cái ống này từ một cây bút, bạn có thể sử dụng bất cứ thứ gì phù hợp với nan hoa chẳng hạn như ống hút.

Sau đó, ở giữa tấm PVC dưới cùng, có một tấm PVC khác đứng thẳng. Nó có một lỗ được cắt ở phần dưới vừa với thân servo và servo được lắp vào qua nó. Servo đã được bảo vệ bằng keo nóng.

Servo có một cánh tay kết nối với nó. Khi rô bốt phải nhấn một phím, servo sẽ xoay cánh tay xuống dưới để nhấn phím và xoay nó về vị trí cũ sau đó.

Bước 9: Di chuyển nền tảng trục X

Di chuyển nền tảng trục X
Di chuyển nền tảng trục X
Di chuyển nền tảng trục X
Di chuyển nền tảng trục X
Di chuyển nền tảng trục X
Di chuyển nền tảng trục X

Servo "Máy di chuyển trục X" được gắn vào bệ nâng ở phía bên trái của rô bốt. Bệ trục X có một giá đỡ ở trên cùng, nơi có một cánh tay được nối bằng vít. Ở đầu kia của cánh tay, một cánh tay khác được nối bằng vít và cái này được kết nối với còi servo. Tất cả các khớp đều có thể di chuyển được và servo có thể điều khiển bệ trục X trên đường ray trục X bằng cách xoay còi của nó sang trái / phải, điều này sẽ tạo ra các cánh tay để đẩy / kéo bệ trên ray.

Các khớp được thực hiện bằng vít.

Bước 10: Mã

Sau khi hoàn thành việc xây dựng phần thân và mạch, hãy tải mã lên Arduino. Đặt robot song song với bàn phím / đàn piano Nền tảng trục x trước tiên sẽ bắt đầu di chuyển về phía trái và dừng lại tại một điểm nhất định. Di chuyển robot cho đến khi phím C của đàn piano gặp điểm đó. Đây là một bước quan trọng, bởi vì nếu không định vị robot theo cách này, nó sẽ không chơi giai điệu một cách chính xác. Sau đó, bật robot, nó sẽ bắt đầu phát một giai điệu trong vòng vài giây.

Mã này khá cơ bản và có nhiều chỗ để cải thiện. Nếu bạn muốn robot chơi giai điệu của riêng bạn, bạn chỉ cần đặt nó vào mã khá dễ dàng.

Bước 11: Vẽ nó

Nếu bạn muốn sơn nó giống như của tôi (tôi thực sự khuyên bạn nên làm như vậy, nó trông đẹp hơn sơn), hãy làm tất cả các bộ phận cơ thể trước, đảm bảo chúng được cắt chính xác. Sau đó, rửa chúng bằng xà phòng để chúng không còn dầu và bụi bẩn. Mọi người thường chà nhám bề mặt trước khi sơn, nhưng ở đây bạn không cần phải làm như vậy. Xịt một lớp lên chúng trước, để đủ thời gian khô (vài giờ), sau đó sơn lớp khác. Bạn có thể bắt đầu lắp ráp các bộ phận và dán chúng lại với nhau sau khi sơn khô.

Tôi đã sử dụng sơn phun để sơn của tôi

Bước 12: Sắp xếp và tổ chức các thiết bị điện tử

Sắp xếp và tổ chức các thiết bị điện tử
Sắp xếp và tổ chức các thiết bị điện tử
Sắp xếp và tổ chức các thiết bị điện tử
Sắp xếp và tổ chức các thiết bị điện tử

Tôi vặn Arduino vào tấm PVC cơ bản và dán nóng cả mạch nguồn và màn hình LCD trên bo mạch cơ sở. Tổ chức các dây bằng keo nóng.

Bước 13: Kết luận: Cảm ơn bạn đã đọc tài liệu hướng dẫn

Vì vậy, đây là cách tôi xây dựng Prima. Hy vọng nhật ký xây dựng rõ ràng và dễ hiểu. Nếu có bất kỳ thắc mắc nào, đừng ngại để lại trong phần bình luận, mình sẽ cố gắng trả lời sớm nhất có thể.

Các kế hoạch trong tương lai với dự án này -

  • Tạo một phần mềm để lập trình Prima dễ dàng hơn.
  • Thêm tính năng khai thác nhịp độ để bạn có thể chỉ cần nhấn vào một nút để điều chỉnh nhịp độ.
  • Trao đổi các Servos với những chiếc chạy êm hơn và nhanh hơn

Nếu bạn xây dựng cái này, hãy thả ảnh vào bình luận, tôi rất thích xem của bạn!:)

Đề xuất: