Mục lục:

Nguyên mẫu Soundboard Arduino-Raspberry Pi: 9 bước (có hình ảnh)
Nguyên mẫu Soundboard Arduino-Raspberry Pi: 9 bước (có hình ảnh)

Video: Nguyên mẫu Soundboard Arduino-Raspberry Pi: 9 bước (có hình ảnh)

Video: Nguyên mẫu Soundboard Arduino-Raspberry Pi: 9 bước (có hình ảnh)
Video: How to Build a SOUND FX WALL! 2024, Tháng bảy
Anonim
Nguyên mẫu Bảng âm thanh Arduino-Raspberry Pi
Nguyên mẫu Bảng âm thanh Arduino-Raspberry Pi

Bảng âm nguyên mẫu được tạo ra với Arduino và Raspberry Pi có nghĩa là một cách đơn giản để phát 4 âm thanh hoặc tiếng ồn khác nhau trong khi có tùy chọn chuyển đổi bộ âm thanh bằng một núm vặn và hiển thị bộ âm thanh hiện tại bằng màn hình LCD.

* Xin lưu ý: Mã cho dự án đã hoàn thành 99%, nhưng không hoạt động.

Raspberry Pi điều khiển màn hình LCD 16x2 và bộ mã hóa quay trong khi Arduino đọc đầu vào tương tự từ các điện trở nhạy cảm với lực (FSR) và gửi tín hiệu đến Arduino để phát âm thanh. Cả hai chúng tôi đều chưa bao giờ sử dụng Arduino hoặc Pi trước đó cho lớp học này, nhưng giáo sư của chúng tôi đã cung cấp cho chúng tôi tất cả các công cụ và hướng dẫn cần thiết để dễ dàng viết mã và xây dựng dự án này. TinkerCad, một công cụ tạo mô hình 3D trực tuyến miễn phí của AutoDesk, đã được sử dụng để lập mô hình cho dự án của chúng tôi.

Phần khó khăn nhất của dự án là tìm cách để Arduino và Raspberry Pi giao tiếp bằng giao tiếp nối tiếp. Ban đầu chúng tôi chỉ muốn sử dụng Pi cho toàn bộ dự án, nhưng chúng tôi cần Arduino để đọc tín hiệu tương tự từ FSR. Chúng tôi có thể dễ dàng gửi các dòng từ hoặc số từ Arduino và hiển thị nó trên Pi, nhưng vấn đề xảy ra là khi chúng tôi cố gắng đọc các giá trị đó sang Python và triển khai chúng thành các câu lệnh điều kiện để xử lý chúng.

Yêu cầu kỹ năng

  • Hiểu đơn giản về C / C ++ để mã hóa Arduino
  • Hiểu đơn giản về Python để mã hóa Raspberry Pi
  • Kiến thức về cách một breadboard được nối dây
  • Kỹ năng tạo mô hình 3D cơ bản
  • Mong muốn tìm hiểu và mở rộng lập trình, hệ thống dây điện và xây dựng một thứ gì đó thật gọn gàng

Danh sách bộ phận

1 x Raspberry Pi 3

1 x Elegoo Uno HOẶC Arduino Uno

1 x 830 Tie Breadboard

1 x Bảng đột phá GPIO (RSP-GPIO)

1 x Cáp ruy-băng cho Bảng đột phá

4 x Điện trở nhạy cảm lực nhỏ

1 x Màn hình LCD 16x2 ký tự cơ bản

1 x Mô-đun mã hóa quay

24 x dây từ nam đến nữ

10 x dây đực sang dây đực

Điện trở 4 x 10k

Chiết áp 1 x 10k

1 x đệm đầu gối bằng bọt biển (cửa hàng đô la)

Bước 1: Kiểm tra FSR với Arduino

Kiểm tra FSR với Arduino
Kiểm tra FSR với Arduino

Đầu tiên, chúng tôi quyết định thử FSR với Arduino. Các FSR gửi tín hiệu tương tự và do đó chúng tôi phải sử dụng Arduino vì Pi không nhận tín hiệu tương tự nếu không có các mạch khác. Chúng tôi muốn kiểm tra các ngưỡng để đảm bảo rằng máy ép ở áp suất tốt. Chúng tôi nhận thấy nó là khoảng 150 trên tổng số 1000. Máy vẽ nối tiếp trên Arduino IDE rất hữu ích cho bước này.

Bước 2: Vẽ ra kế hoạch cho hội đồng quản trị

Vẽ ra các kế hoạch cho Hội đồng quản trị
Vẽ ra các kế hoạch cho Hội đồng quản trị
Vẽ ra các kế hoạch cho Hội đồng quản trị
Vẽ ra các kế hoạch cho Hội đồng quản trị

Sau đó, chúng tôi lập và đo lường các kế hoạch cho hội đồng quản trị. Chúng tôi muốn có 4 miếng đệm để phát âm thanh, một vị trí cho màn hình LCD để hiển thị nhóm âm thanh hiện tại và một bộ mã hóa quay để thay đổi nhóm âm thanh.

Bước 3: Lập mô hình bảng trong TinkerCad

Lập mô hình bảng trong TinkerCad
Lập mô hình bảng trong TinkerCad
Lập mô hình bảng trong TinkerCad
Lập mô hình bảng trong TinkerCad
Lập mô hình bảng trong TinkerCad
Lập mô hình bảng trong TinkerCad

Sau khi lập kế hoạch, chúng tôi đã lập mô hình bảng trên một trang web mô hình 3D trực tuyến, miễn phí có tên là TinkerCad của Autodesk. Chúng tôi thực sự khuyên bạn nên sử dụng phần mềm này cho những người không muốn chi nhiều tiền cho phần mềm tạo mô hình 3D lớn vì nó dễ sử dụng, dựa trên đám mây và có hỗ trợ đầy đủ cho in 3D.

Sau khi nó được tạo mẫu, chúng tôi phải chia nó thành 2 mảnh để lắp vào máy in. Nó in ra thực sự tốt, nhưng lỗi của tôi là không định kích thước khe cắm màn hình LCD thật tốt (đừng mắc phải sai lầm đó!) Chúng tôi đã tải lên các tệp. STL bên trái và bên phải nếu bạn muốn kiểm tra chúng.

Bước 4: Kiểm tra màn hình LCD

Kiểm tra màn hình LCD
Kiểm tra màn hình LCD

Chúng tôi đã sử dụng màn hình trên Arduino và nó rất dễ thiết lập. Tuy nhiên, việc chạy nó với Pi sẽ khó hơn. Với nhiều giờ khắc phục sự cố trên Google và loay hoay với các dây, cuối cùng chúng tôi đã bắt đầu hoạt động. Vui lòng xem mã Python cuối cùng ở cuối để xem nó hoạt động như thế nào. Chúng tôi đã sử dụng một số trang web để giúp chúng tôi chuyển đổi mã và viết mã.

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

Bước 5: Kiểm tra bộ mã hóa quay với màn hình LCD

Kiểm tra bộ mã hóa quay với màn hình LCD
Kiểm tra bộ mã hóa quay với màn hình LCD

Sau đó, chúng tôi muốn xem liệu chúng tôi có thể làm cho màn hình LCD thay đổi văn bản của nó khi bộ mã hóa được xoay. Bộ mã hóa không có số lượng góc hoặc cách xoay đã đặt, vì vậy trong mã, chúng tôi đã đếm số lần nó được xoay theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ và đếm thành 3. Nếu vượt qua, nó sẽ quay trở lại 0 và nếu nó xuống dưới 0, nó sẽ tăng lên 3. Những con số đó có thể được đặt cho bao nhiêu bộ âm thanh mà bạn thích, nhưng chúng tôi chỉ thử nghiệm một bộ âm thanh. Đảm bảo rằng âm thanh của bạn ở cùng thư mục / vị trí với nơi mã Python chính đang được thực thi.

Bước 6: Lắp ráp bảng

Lắp ráp hội đồng quản trị
Lắp ráp hội đồng quản trị
Lắp ráp hội đồng quản trị
Lắp ráp hội đồng quản trị
Lắp ráp hội đồng quản trị
Lắp ráp hội đồng quản trị

Các FSR trượt dưới bốn vị trí khác nhau. Chúng tôi căn giữa chúng và dán chúng xuống. Chúng tôi khuyên bạn nên dùng băng keo hoặc thậm chí có thể dán vì băng keo đơn giản dính vào vật liệu in 3D rất tệ. Sau một chuyến đi nhanh đến cửa hàng đô la, chúng tôi đã tìm thấy một miếng đệm đầu gối làm vườn mềm nhưng có độ dày mà chúng tôi có thể cắt thành bốn miếng để sử dụng làm nút cho bảng. Chúng tôi cắt chúng để chúng có thể ôm khít vào vị trí của chúng để chúng có thể giữ nguyên vị trí, nhưng cũng có thể dễ dàng tháo ra nếu cần.

Bước 7: Lên dây cót tất cả

Dây tất cả lên
Dây tất cả lên
Dây tất cả lên
Dây tất cả lên

Sau khi lắp ráp bảng và đặt FSR, bộ mã hóa và màn hình vào vị trí, chúng tôi đã kết nối mọi thứ. Bạn có thể sử dụng 2 breadboard, nhưng chúng tôi có thể lắp mọi thứ vào một. Bức tranh trông giống như một mớ hỗn độn, nhưng chúng tôi đã tạo một sơ đồ trong một chương trình miễn phí có tên là Fritzing. Lưu ý rằng bạn có thể thay đổi các chân mà bạn muốn gắn mọi thứ vào, nhưng sơ đồ tương ứng với mã của chúng tôi.

Bước 8: Hoàn thành mã hóa MỌI THỨ

Đây là một phần khó khăn. Như đã nêu trong phần giới thiệu, chúng tôi không thể hoàn thành phần này. Mã là 99% tất cả ở đó, nhưng một phần không hoạt động là giao tiếp nối tiếp từ Arduino đến Pi. Chúng tôi có thể gửi thông tin dễ dàng khi chúng tôi kết nối Arduino với Pi bằng cáp USB, nhưng Pi không thể làm gì ngoại trừ hiển thị thông tin đó trên màn hình. Chúng tôi muốn có thể biết nút nào đã được nhấn và phát ra âm thanh cụ thể, nhưng không thể đưa dữ liệu đến thông qua giao tiếp vào một câu lệnh điều kiện để kiểm tra xem nút nào đã được nhấn.

Vui lòng xem mã đính kèm, ghi chú đã được nhận xét trong mã Python cho Pi. Mã Arduino phải là 100%.

Bước 9: Kết luận

Kết luận
Kết luận

Nhìn chung, dự án này là một trải nghiệm học tập KHỔNG LỒ đối với hai chúng tôi và chúng tôi hy vọng rằng bài viết này có thể mang lại cho sinh viên, giáo viên hoặc những người mày mò trong tương lai một số cảm hứng cho dự án của riêng họ và hướng dẫn họ học hỏi từ những sai lầm của chúng tôi. Hãy gửi lời cảm ơn đến giáo sư chế tạo rô bốt tuyệt vời của chúng tôi, người đã giúp đỡ rất nhiều trong thời gian chúng tôi ở lớp và cho chúng tôi cơ hội để có rất nhiều niềm vui và học hỏi được nhiều điều trong một lớp COMP cao cấp! Cảm ơn vì đã đọc:)

Đề xuất: