Mục lục:

Piano nhanh trái cây với MIDI: 6 bước (có hình ảnh)
Piano nhanh trái cây với MIDI: 6 bước (có hình ảnh)

Video: Piano nhanh trái cây với MIDI: 6 bước (có hình ảnh)

Video: Piano nhanh trái cây với MIDI: 6 bước (có hình ảnh)
Video: cách đánh đàn piano bài /see tình/ 2024, Tháng mười một
Anonim
Image
Image
Piano nhanh trái cây với MIDI
Piano nhanh trái cây với MIDI

Đây là một cây đàn piano cảm ứng điện dung thực sự đơn giản. Chạm vào trái cây, lon nước ngọt, chai nước, dải lá nhôm, v.v. và bạn có được bản nhạc piano đa âm sắc từ máy tính của mình. Bây giờ phần mềm đã được viết xong, dự án sẽ không mất quá 10 phút để kết hợp với phiên bản Arduino.

Bạn cần:

  • một Arduino (Mega cho 8 phím, Uno cho 6 phím) hoặc một bảng STM32F103C8 dạng viên thuốc màu đen ($ 2 trên Aliexpress) cùng với một bộ chuyển đổi UART-sang-USB (ví dụ: Arduino hoặc CH340)
  • cáp USB
  • một số lá nhôm
  • lý tưởng là thử nghiệm kẹp, nhưng jumper và giấy kẹp giấy sẽ làm được (ý tưởng cho điều đó từ đây)
  • trái cây hoặc bột nặn, hoặc các mảnh giấy có các vùng được tô màu bằng bút chì
  • máy vi tính.

Không cần thành phần bổ sung, vì điều này sử dụng mã từ thư viện ADCTouch tuyệt vời của martin2250 và Arduino gửi các lệnh MIDI qua nối tiếp đến máy tính. Quá trình phát lại âm thanh của Arduino thông qua một tập lệnh python đi kèm trên máy tính hoặc không có lông-midiserial.

Nếu bạn sử dụng bảng phát triển STM32F103C8, thì nó thậm chí còn đẹp hơn: đàn piano trở thành một bộ điều khiển MIDI USB thực sự, mà không cần thiết bị trung gian không lông.

Lưu ý: Để tránh làm hỏng Arduino / STM32F1 do tĩnh điện, đặc biệt là vào những ngày khô ráo hoặc trên thảm, tôi khuyên bạn không nên chạm vào lá nhôm hoặc kẹp thử khi thiết bị đang hoạt động. Thay vào đó, hãy chạm vào trái cây, bột nặn, v.v., những thứ có khả năng chống chịu sẽ cung cấp một số biện pháp bảo vệ ESD

Bước 1: Thư viện Arduino

Thư viện Arduino
Thư viện Arduino

Trong IDE Arduino, chọn Sketch | Bao gồm Thư viện | Quản lý Thư viện. Tìm kiếm ADCTouchSensor của tôi. Cài đặt thư viện.

Sau đó chọn Tệp | Ví dụ | ADCTouchSensor | CapacitivePiano.

Nếu bạn có Arduino, hãy cắm Arduino của bạn vào cổng USB của máy tính và tải bản phác thảo CapacitivePiano lên Uno hoặc Mega của bạn. Bản phác thảo sẽ gửi dữ liệu đến máy tính thông qua nối tiếp USB mà cảm biến điện dung nào trong số 8 (Mega) hoặc 6 (Uno) đã được kích hoạt.

Nếu bạn có STM32F103C8, trước tiên hãy cài đặt bộ nạp khởi động và thiết lập Arduino IDE cho nó (với nhánh addMidiHID của tôi) bằng cách làm theo ba bước đầu tiên tại đây. Sau đó, quay lại Trình quản lý Thư viện và tìm kiếm thư viện USBHID_stm32f1 của tôi. Cài đặt nó.

Bước 2: Đính kèm khách hàng tiềm năng vào phím đàn piano

Đính kèm khách hàng tiềm năng vào phím đàn piano
Đính kèm khách hàng tiềm năng vào phím đàn piano
Đính kèm khách hàng tiềm năng vào phím đàn piano
Đính kèm khách hàng tiềm năng vào phím đàn piano

Chạy dây từ chân A0-A7 (A0-A5 trên Uno) trên Arduino hoặc STM32F103C8 của bạn đến bất cứ thứ gì bạn muốn hoạt động như phím đàn piano. Ví dụ, tôi đã sử dụng jumper với kẹp cá sấu hoặc kẹp thử nghiệm với các miếng giấy nhôm trên mỗi miếng mà tôi đặt một lon nước ngọt hoặc một quả cam làm chìa khóa. Lá nhôm có thể được sử dụng trực tiếp như một chìa khóa. Hoặc người ta có thể dán một sợi dây vào một miếng trái cây hoặc rau hoặc bột nặn.

Bước 3: Cài đặt phần mềm: Tùy chọn A: Arduino và MIDI không có lông vào Cầu nối tiếp

Bạn có thể tải xuống và cài đặt Hairless MIDI to Serial Bridge (Win / OSX / Linux) để liên kết đầu ra nối tiếp USB của Arduino với phần mềm tổng hợp trên máy tính của bạn.

Nếu bạn có Windows 7 hoặc mới hơn, bạn có thể sử dụng Microsoft Wavetable GS Synth tích hợp sẵn, vì vậy tất cả những gì bạn cần cài đặt là Hairless. Một số phần mềm phát lại khác sẽ yêu cầu loopMIDI.

Trên các hệ thống khác, bạn có thể cần một bộ tổng hợp MIDI như VirtualMidiSynth hoặc Garageband. Bạn cũng có thể sử dụng VirtualMidiSynth trên Windows nếu muốn.

Bước 4: Cài đặt phần mềm: Tùy chọn B: Arduino và Python

Cài đặt phần mềm: Tùy chọn B: Arduino và Python
Cài đặt phần mềm: Tùy chọn B: Arduino và Python

Bạn cũng có thể chỉ cần sử dụng một tập lệnh Python bao gồm đơn giản để phát lại các ghi chú MIDI.

Đảm bảo rằng bạn đã cài đặt Python trên máy tính của mình. 2.7 hoặc 3.x sẽ làm được.

Đảm bảo rằng bạn đã cài đặt gói Python pygame. Nếu không, hãy chạy điều này từ dòng lệnh:

python -m pip cài đặt pygame

Tìm địa chỉ cổng nối tiếp Arduino của bạn. Arduino IDE của bạn sẽ có các cổng nối tiếp được liệt kê trong Công cụ | Hải cảng.

Trong gói CapacitivePiano mà bạn đã tải xuống, bạn sẽ tìm thấy tập lệnh music.py là phần PC của dự án.

Bước 5: Cài đặt phần mềm: Tùy chọn C: STM32F103C và Phần mềm tổng hợp MIDI

Cài đặt phần mềm: Tùy chọn C: STM32F103C và Phần mềm tổng hợp MIDI
Cài đặt phần mềm: Tùy chọn C: STM32F103C và Phần mềm tổng hợp MIDI

Nếu bạn có STM32F103C, bạn có thể sử dụng bất kỳ phần mềm nào hoạt động với bộ điều khiển bàn phím MIDI.

Trên máy tính, tôi sử dụng Bàn phím Piano MIDI ảo (VMPK). Với STM32F103C được cắm vào, hãy chọn Chỉnh sửa | Kết nối MIDI | Nhập Kết nối MIDI, rồi chọn Maple MIDI hoặc Diro Synth.

Trên thiết bị Android, tôi đã sử dụng thành công (với cáp USB OTG) Bộ tổng hợp analog chung và Synth DX7 Piano.

Bước 6: Chơi

Chơi!
Chơi!
Chơi!
Chơi!
Chơi!
Chơi!

Cắm Arduino với bản phác thảo CapacitivePiano vào máy tính. Không chạm vào bất kỳ "nút" nào cho đến khi chỉ có đèn LED nguồn chạy, để cho phép các nút điện dung được hiệu chỉnh.

Đối với tùy chọn Không có lông, hãy chạy cầu nối MIDI Không có lông, chọn cổng nối tiếp từ danh sách thả xuống. Sau đó, chọn một bộ tổng hợp. Trên Windows, nếu bạn chọn Microsoft Wavetable GS Synth, mọi thứ sẽ hoạt động.

Nếu bạn muốn sử dụng tập lệnh Python thay thế, hãy đảm bảo rằng bạn đang ở trong thư mục mà bạn có piano.py và chạy:

python piano.py serialport

trong đó cổng nối tiếp là cổng nối tiếp từ Arduino IDE (ví dụ: COMx trên Windows).

Nếu bạn sử dụng STM32F103C8, thì hãy sử dụng phần mềm tổng hợp MIDI yêu thích của bạn trên máy tính hoặc thiết bị di động.

Bây giờ hãy nhấn "các nút" của bạn và vui chơi!

Ý tưởng giáo dục cho trẻ em để thử nghiệm:

  • Thử nghiệm với các mặt hàng khác nhau trên lá nhôm và xem cái nào hiệu quả và cái nào không - sau đó nói về lý do tại sao những thứ này hiệu quả và những thứ khác thì không.
  • Bột nặn hoạt động thực sự tốt (và sau đó bạn thậm chí không cần giấy bạc và kẹp - bạn có thể chỉ cần cắm dây vào bột nặn, mặc dù phải thừa nhận rằng nó trông giống như một quả bom!).
  • Bạn thậm chí có thể lấy một mảnh giấy và tô bóng ở những khu vực bằng bút chì (nó không cần phải quá tối, nhưng nét gạch chéo là tốt) và kẹp chúng vào.
  • Bạn có thể gắn một chiếc kẹp cá sấu vào một vật kim loại thực sự lớn, như viền của bảng trắng và làm những chiếc chìa khóa khổng lồ.
  • Một thử nghiệm để thử là yêu cầu một người nhỏ hơn cầm một chiếc kẹp cá sấu được gắn vào một trong các sợi dây, sau đó yêu cầu một người lớn hơn bắt tay với hoặc cao năm người nhỏ hơn và xem điều đó có đăng ký hay không. Sau đó, hãy thử lại với một người lớn hơn cầm nó và một người nhỏ hơn chạm vào chúng.

Chỉ cần đảm bảo rằng sau mỗi lần thay đổi những gì được gắn vào Arduino, bạn đặt lại Arduino, bằng cách nhấn nút "đặt lại" hoặc bằng cách cắm lại kết nối USB (và sau đó chạy lại mã python, vì nó có thể sẽ bị lỗi), để hiệu chỉnh lại các cảm biến.

Người ta có thể thảo luận về công suất điện và cảm nhận điện dung.

Đề xuất: