Mục lục:
- Bước 1: Nội dung máy tính
- Bước 2: Piano
- Bước 3: Lắp ráp
- Bước 4: Thách thức kỹ thuật và cân nhắc trong tương lai
Video: Synesthesia Player Piano: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Máy chơi piano này chơi nhạc bằng bánh xe màu và máy ảnh! Hình ảnh được máy ảnh ghi lại, xử lý và diễn giải như các nốt nhạc. Ngay bây giờ, nó được lập trình để chơi các giai điệu thiếu nhi có thể thay đổi bằng cách tải lên một bản phác thảo arduino mới, trong đó chỉ định các nốt nhạc nên được phát (Màu sắc nào sẽ được hiển thị trước máy ảnh).
PC chạy hệ điều hành Linux tích hợp bắt đầu một dịch vụ khi khởi động để chụp ảnh bằng máy ảnh, tính toán hàm của các giá trị RGB trong ảnh và phát ra âm thanh dựa trên giá trị trả về của hàm. Trước khi phát âm thanh, nó sẽ gửi tín hiệu yêu cầu Arduino xoay một servo, hiển thị màu sắc tương ứng với nốt nhạc tiếp theo sẽ được phát. Sau đó, vòng lặp lại bắt đầu, một bức ảnh được chụp, bánh xe màu được quay và một âm thanh được phát trong thời gian ngắn.
Dự án này là một cách thú vị để tích hợp âm nhạc, lập trình hệ thống Linux hiện đại, lập trình bộ điều khiển vi mô, vẽ nguệch ngoạc inkscape, cắt laser và tái định hình một số hộp các tông rác.
Tất cả mã và inkscape SVG đều có sẵn trên github tại:
github.com/melvyniandrag/pyMusic
Vật liệu được sử dụng:
- Nhãn trắng trống
- Thùng các - tông
- Webcam
- bút chì màu
- Arduino
- Beagleboard-xM
- Dây điện
- Cáp nối tiếp
- Kiến thức cơ bản về xử lý hình ảnh và âm nhạc
Bước 1: Nội dung máy tính
Trên bo mạch, bạn sẽ cần một máy tính nhỏ có khả năng chạy Linux, chẳng hạn như Raspberry Pi. Tôi đã sử dụng BeagleBoard-xM cũ vì tôi tình cờ đặt nó và tôi đã có hệ điều hành trên thẻ SD. Bạn có thể sử dụng bất cứ thứ gì, miễn là nó có thể xử lý webcam, có thể chạy OpenCV (thư viện thị giác máy tính được sử dụng để chụp và xử lý hình ảnh của bánh xe màu) và có giắc cắm ngõ ra âm thanh.
Tôi thiết lập hệ điều hành để chạy mã python chụp ảnh khi khởi động theo hướng dẫn systemd. Để tập lệnh chạy, bạn sẽ cần sudo apt-get install python-pyaudio python-opencv để nhận các thư viện được chỉ định. Bạn cũng sẽ cần phải cài đặt numpy pyserial để lấy các thư viện đó. pyaudio được sử dụng để phát âm thanh, opencv được sử dụng để chụp và xử lý hình ảnh, numpy cũng được sử dụng để xử lý hình ảnh và pyserial cần thiết để giao tiếp với Arduino.
Arduino được sử dụng để quay động cơ servo có gắn bánh xe màu trên đó. Nếu bạn có Raspberry Pi, bạn có thể sử dụng các chân GPIO trên đó và loại bỏ Arduino, nhưng bạn cần phải sửa đổi mã Python.
Trong các hình ảnh, bạn có thể thấy công nghệ của hoạt động và một vài đoạn mã.
Bước 2: Piano
Tôi làm đàn piano bằng bìa cứng từ một số hộp cũ mà tôi có. Tôi có may mắn được sống gần một không gian sản xuất có máy cắt laser. Trong cả năm, tôi đã tự hỏi cái quái gì muốn có một chiếc máy cắt laser, và hóa ra cuối cùng tôi đã tìm thấy một công dụng cho nó.
Tôi đo máy tính, arduino và servo để biết mình cần bao nhiêu không gian, vẽ các bộ phận của cây đàn piano trong inkscape và cắt chúng ra trên máy cắt laser. (Chỉnh sửa: Tôi đã hết bìa cứng để làm hộp đựng máy tính và arduino, vì vậy tôi đã không đặt chúng vào. Chúng ở bên ngoài hộp đựng. Không thành vấn đề, có thể đã lấy một hộp khác từ đâu đó, nhưng nó đã không cuối cùng thì không thành vấn đề.)
Các mảnh được ghép lại với nhau bằng epoxy.
Bước 3: Lắp ráp
Dưới đây là một số hình ảnh đàn được lắp ráp và tô màu. Máy in hết mực nên tôi không thể in màu lên nhãn trắng như tôi đã định. Vì vậy, tôi đã sử dụng bút chì màu của con gái tôi. Và tôi không thể tìm thấy một con dao xacto để cắt nhãn theo hình dạng của bìa cứng, vì vậy tôi chỉ sử dụng một con dao bít tết và đặt một cái gì đó bảo vệ trên quầy bếp. Sử dụng những gì bạn có!
Bước 4: Thách thức kỹ thuật và cân nhắc trong tương lai
Một phần thách thức của dự án này là nhận được các giá trị RGB thích hợp để máy ảnh đọc được. Webcam tôi có có một số đèn LED cực sáng trên đó mà tôi không biết làm thế nào để tắt trong Linux. Tôi nghĩ rằng có một trình điều khiển Windows cho phép bạn bật và tắt chúng. Tôi đã thử nghiệm với việc dán các đèn LED bằng băng dính điện và để chúng bật sáng. Tôi cũng đã kiểm tra độ bền của phần mềm bằng cách không chỉ cho nó xem giấy màu mà còn viết một trang web nhỏ hiển thị màu sắc.
Những âm thanh do máy tính tạo ra đôi khi có tiếng nổ và lách tách, và điều này xuất phát từ thực tế là tôi có rất ít kinh nghiệm về lập trình âm thanh Linux. Thư viện pyaudio đưa ra hàng loạt lời phàn nàn về việc JACK không được cài đặt trên PC, nhưng theo mặc định JACK không muốn chạy không cần thiết (không có máy tính để bàn gui và màn hình). Đây là một nhiệm vụ lập trình mà tôi nghĩ là một sự cải tiến, nhưng không cần thiết để thể hiện bản chất của cây đàn piano cơ mà tôi có trong đầu.
Tôi đã cân nhắc việc sử dụng một tay quay để thay đổi màu sắc, và có lẽ để chúng trên một loại ghim lăn, nhưng điều đó tạo ra những phức tạp riêng của nó. Servo có một chút ồn ào, nhưng hiện hoạt động tốt.
Đàn piano cơ hiện chỉ được lập trình để chơi 4 nốt. Điều này là do servo chỉ di chuyển 180 độ, hầu hết các bài hát thiếu nhi chỉ có thể chơi với 3-4 nốt nhạc và tôi không muốn bánh xe màu lộn xộn với các vùng màu, có thể gây nhầm lẫn cho máy ảnh. Vì vậy, thông qua sự kết hợp của may mắn âm nhạc và hạn chế kỹ thuật, 4 nốt là ổn.
Đề xuất:
Arduino Piezo Buzzer Piano: 5 bước
Arduino Piezo Buzzer Piano: Ở đây chúng tôi sẽ tạo ra một cây đàn piano Arduino sử dụng một bộ rung piezo làm loa. Dự án này có thể dễ dàng mở rộng và có thể hoạt động với nhiều ghi chú hơn hoặc ít hơn, tùy thuộc vào bạn! Chúng tôi sẽ xây dựng nó chỉ với bốn nút / phím cho đơn giản. Điều này thật thú vị và dễ dàng
Pi-aser a Laser Piano: 9 bước
Pi-aser a Laser Piano: Xin chào, tôi là sinh viên Đa phương tiện & Công nghệ Sáng tạo tại Howest Belgium. Bạn luôn muốn chơi nhạc nhưng không giống như mọi người? Vậy thì đây có thể là thứ dành cho bạn! Tôi đã làm một cây đàn piano từ Lasers. Bạn chỉ cần đặt các ngón tay của mình lên trên
Piano Arduino đơn giản: 8 bước
Đàn piano Arduino đơn giản: Hôm nay chúng ta sẽ tạo một cây đàn piano Arduino một quãng tám đơn giản, có thể là một điểm khởi đầu tuyệt vời cho các dự án khác. Dự án này sẽ giới thiệu các thành phần cơ bản và lập trình Arduino ở cấp trung học. Trong khi mã được tạo sẵn các cá nhân c
Makey Makey Piano Player: 7 bước
Makey Makey Piano Player: Vì vậy, hãy bắt đầu. Nhìn chung, ý tưởng này sẽ mất khoảng 30 phút để thực hiện toàn bộ dự án nhưng khi nói đến quá trình xây dựng, bạn phải đảm bảo rằng bạn đang đọc kỹ các bước nên dù sao thì hãy bắt đầu công việc này
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy