Mục lục:

PAB: Hộp âm thanh cá nhân: 5 bước
PAB: Hộp âm thanh cá nhân: 5 bước

Video: PAB: Hộp âm thanh cá nhân: 5 bước

Video: PAB: Hộp âm thanh cá nhân: 5 bước
Video: [Guitar Đệm Hát Cơ Bản - Bài 1] Cách đánh điệu Ballad nhịp 4/4 2024, Tháng bảy
Anonim
PAB: Hộp âm thanh cá nhân
PAB: Hộp âm thanh cá nhân

Ý tưởng cho dự án này được nảy sinh từ nhu cầu xử lý ba thành phần lớn của hệ thống HiFi, hiện đã hết tuổi thọ của chúng. Ngoài ra, tôi cần thêm không gian trong kệ cho các đồ vật khác, vì vậy tôi đã bắt đầu nghiên cứu về Hộp âm thanh cá nhân để thay thế tất cả các chức năng của ba "người khổng lồ" cổ điển.

Raspberry Pi3B + dường như là lựa chọn tốt nhất vì những lý do sau:

  • Hệ số hình thức nhỏ và tiêu thụ điện năng thấp;
  • Một đầu ra PCM âm thanh với chất lượng chấp nhận được;
  • Có sẵn mopidy, một máy chủ âm nhạc có thể mở rộng thực hiện giao thức mpd;
  • Tích hợp cao các nguồn: nhạc cục bộ, CDROM, các luồng radio, Spotify, Tunein, v.v.

Tích hợp nó với một số thành phần khác, tôi đã có thể tạo ra một hệ thống hoàn chỉnh và không có đầu, có khả năng phát nhạc từ CD, tệp cục bộ, radio trực tuyến, danh sách phát Spotify, podcast. Và thông qua việc sử dụng giao diện người dùng, giờ đây tôi có thể quản lý tất cả hoạt động của nó từ bất kỳ thiết bị nào được kết nối với mạng LAN (điện thoại thông minh, máy tính, máy tính bảng).

Quân nhu

  • Raspberry PI3B +
  • Một hộp DVD cũ
  • Đầu đọc CDROM
  • Nguồn điện 5v-5A
  • Siêu tụ điện
  • Các thành phần khác nhau (bóng bán dẫn, đèn LED, rơ le, Op-Amp): xem chi tiết dự án

Bước 1: Trường hợp và bố cục của các thành phần

Trường hợp và bố cục của các thành phần
Trường hợp và bố cục của các thành phần
Trường hợp và bố cục của các thành phần
Trường hợp và bố cục của các thành phần
Trường hợp và bố cục của các thành phần
Trường hợp và bố cục của các thành phần
Trường hợp và bố cục của các thành phần
Trường hợp và bố cục của các thành phần

Vấn đề đầu tiên tôi phải đối mặt là lựa chọn và tìm một trường hợp phù hợp. Không tìm thấy gì ở nhà, tôi tìm thấy đầu đĩa DVD giá rẻ này trên Amazon với giá vài đô la, nhưng bất cứ thứ gì tương tự cũng đủ tốt. Hộp đựng có kích thước: 27cm x 20cm x 3.5cm.

Tôi đã loại bỏ hoàn toàn tất cả nội dung, chỉ giữ lại bảng nhỏ để quản lý đèn LED phía trước, nút nguồn và đầu vào USB. Sau đó, tôi lập kế hoạch bố trí bên trong cho các thành phần mới (xem hình).

Bước 2: Công tắc cảm biến âm thanh nổi

Công tắc cảm biến âm thanh nổi
Công tắc cảm biến âm thanh nổi
Công tắc cảm biến âm thanh nổi
Công tắc cảm biến âm thanh nổi
Công tắc cảm biến âm thanh nổi
Công tắc cảm biến âm thanh nổi

Tại sao phải chuyển đổi âm thanh tự động? Nhu cầu nảy sinh từ thực tế là tôi thường nghe TV thông qua bộ khuếch đại HiFi, nhưng tôi không muốn chọn công tắc nguồn trên bộ khuếch đại mỗi lần. Với mạch này, đầu vào bộ khuếch đại luôn giống nhau và nguồn được chọn tự động bởi Công tắc cảm biến âm thanh nổi.

Giản đồ là đơn giản. Khi PAB không phát, nguồn âm thanh đến HiFi sẽ đến từ TV. Nếu PAB phát, rơ le sẽ chọn âm thanh từ Raspberry.

Bước 3: Hộp siêu tụ điện

Hộp siêu tụ điện
Hộp siêu tụ điện
Hộp siêu tụ điện
Hộp siêu tụ điện

Như đã biết, việc cung cấp điện cho Raspberry bị gián đoạn đột ngột khiến máy bị tắt nguồn ngay lập tức mà không cần thực hiện quy trình tắt máy, có nguy cơ làm ảnh hưởng đến hệ điều hành và do đó là toàn bộ chức năng của nó. Siêu tụ điện khác với tụ điện truyền thống ở hai đặc điểm cơ bản: các tấm của nó thực sự có diện tích lớn hơn và khoảng cách giữa chúng nhỏ hơn nhiều, vì chất cách điện xen kẽ hoạt động khác với chất điện môi thông thường. Với những kỹ thuật này, có thể tạo ra các tụ điện dung lượng rất cao (theo thứ tự vài chục Farads) mà vẫn duy trì kích thước nhỏ. Do đó, ý tưởng là tạo ra một "bộ đệm" 5v thông qua các siêu tụ điện và kích hoạt tắt máy khi phát hiện ra sự thiếu vắng điện áp cung cấp. Bằng cách này, bạn sẽ không cần phải can thiệp thủ công để khởi động tắt máy mà chỉ cần tháo phích cắm (hoặc kích hoạt công tắc) để đảm bảo tắt máy an toàn.

Đề cập đến sơ đồ, nguồn điện được áp dụng cho đầu cuối bên trái và diode Schottky ngăn chặn bất kỳ sự trở lại nào của dòng điện trở lại nguồn điện. Hai điện trở công suất 1,2Ω 5W mắc song song hạn chế dòng điện tích của các siêu tụ điện, để bảo vệ nguồn điện. Nếu không có các điện trở này, dòng điện cực đại do hai siêu tụ điện phóng ra gần như chắc chắn có thể làm hỏng nguồn điện. Đi-ốt nguồn nhất thiết phải là loại Schottky để có thể mắc nối tiếp mức giảm điện áp tối thiểu với thanh 5V.

Hai siêu tụ điện được mắc nối tiếp để đảm bảo điện áp tối đa là 5,4 vôn ở hai đầu của chúng (mỗi siêu tụ điện là 10F, 2,7V) và hai điện trở song song với các tụ điện sẽ cân bằng dòng sạc và đảm bảo xả chậm khi Raspberry được quay tắt. Hai điện trở 1KΩ song song với đầu vào chia đôi 5V của bộ nguồn để lấy tín hiệu cần thiết để phát hiện mất điện (kết nối với Raspberry GPIO 7). Không giống như các tế bào lithium hiện đại, siêu tụ điện đảm bảo số chu kỳ sạc và phóng điện gần như vô hạn, mà không làm mất bất kỳ đặc tính nào.

Do đó, mạch sẽ có thể giữ cho Raspberry được cấp nguồn và hoạt động trong thời gian cần thiết để thực hiện tắt máy thường xuyên. Việc bắt đầu quá trình tắt máy sẽ được phát hiện bởi một chương trình chạy trên Raspberry, chương trình này sẽ theo dõi trạng thái của GPIO 7, mà mức năng lượng được kết nối. Khi nguồn điện bị ngắt, chân GPIO 7 đi qua ở mức thấp và kích hoạt tắt máy. Đây là mã:

#! / usr / bin / env python

nhập RPi. GPIO dưới dạng GPIO nhập quy trình con GPIO.setmode (GPIO. BCM) # sử dụng GPIO đánh số GPIO.setwarnings (Sai) INT = 7 # pin 26 màn hình Nguồn điện # sử dụng pull_up yếu để tạo GPIO.setup cao (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): while True: # thiết lập ngắt trên cạnh xuống và đợi nó xảy ra GPIO.wait_for_edge (INT, GPIO. FALLING) # kiểm tra lại mức pin nếu GPIO.input (INT) == 0: # vẫn ở mức thấp, tắt Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) nếu _name_ == '_main_': chủ chốt()

Chương trình phải được lưu trong / usr / local / bin /.py và được định cấu hình để chạy khi Raspberry khởi động. Từ các thử nghiệm đã thực hiện, dung lượng của hai siêu tụ điện đã được chứng minh là đủ để đảm bảo thời gian tắt cho Raspberry. Nếu cần thêm thời gian, sẽ đủ để sử dụng song song hai siêu tụ điện khác với những siêu tụ điện hiện có hoặc thay thế chúng bằng hai siêu tụ điện có công suất lớn hơn.

Bước 4: Lắp ráp và sử dụng các cổng USB

Lắp ráp và sử dụng cổng USB
Lắp ráp và sử dụng cổng USB

Sơ đồ khối cho thấy cách kết nối một số thiết bị cho PAB trên bus 3 chính (+ 5v, USB và âm thanh nổi).

Lưu ý rằng nguồn điện của đầu đọc CD đã được kết nối trực tiếp với Nguồn điện chính thông qua cáp "Y", trong khi đầu vào âm thanh đi đến Raspberry. Bốn cổng USB Raspberry đã được sử dụng cho:

  • Đầu đọc đĩa CD;
  • một ổ đĩa 250GB để lưu trữ các tệp nhạc cục bộ (mp3, m4a, wma, flac, v.v.);
  • một thẻ micro SD 16GB (với bộ chuyển đổi USB) để lưu trữ bản sao lưu đầy đủ của Raspi SD chính (xem bên dưới);
  • kết nối với cổng USB bên ngoài trên vỏ máy.

Cổng USB bên ngoài có thể được sử dụng để phát nhạc bên ngoài hoặc cấp nguồn cho các thiết bị bên ngoài. Trong trường hợp của tôi, tôi đang cấp nguồn cho bộ phát Bluetooth bên ngoài vì tôi đã loại bỏ bộ phát bên trong của Raspi do phạm vi thấp và không ổn định. Với bluetooth bên ngoài, tôi đang điều khiển 2 loa âm thanh nổi khác nhau ở nhà.

Thẻ micro SD 16GB (với bộ chuyển đổi USB) đang chứa bản sao lưu Raspberry đầy đủ. Tôi đang sử dụng rpi-clone, được tiết lộ là một dự án rất tốt cho phép có một bản sao lưu hoạt động đầy đủ của Raspberry mà không cần phải xóa SD bên trong. Tôi đã hoán đổi nhiều lần SD này với SD bên trong mà không gặp vấn đề gì. Vì vậy, tôi đã thiết lập một cronjob cho người dùng root:

#Backup trên sda - mỗi tối Thứ Tư

15 2 * * 3 / usr / sbin / rpi-clone sda -u | mail -s "Sao lưu PAB trên SD - đã xong"

Sau đó, tôi đã sử dụng lại nút nguồn ban đầu trên vỏ máy để tắt và khởi động lại Raspberry, làm theo hướng dẫn sau:

Bước 5: Phần mềm và Hệ điều hành

Phần mềm và Hệ điều hành
Phần mềm và Hệ điều hành
Phần mềm và Hệ điều hành
Phần mềm và Hệ điều hành
Phần mềm và Hệ điều hành
Phần mềm và Hệ điều hành

Hệ điều hành chính của PAB là hệ điều hành Raspbian đơn giản (Debian Buster) với một số bổ sung cụ thể:

  • rpi-clone để sao lưu chính;
  • ssmtp, một MTA đơn giản để lấy thư ra khỏi hệ thống;
  • udevil, để cho phép tự động tính toán các ổ USB;
  • abcde, để lấy bộ sưu tập CD của tôi và nén nó thành bất kỳ định dạng âm thanh nào;
  • mopidy, một Daemon Trình phát nhạc đầy đủ với một loạt các plugin.

Sau đó, tôi đã viết một ứng dụng máy chủ PAB Scheduler đầy đủ bằng python3 và tornado, có mã nằm ngoài phạm vi của bài viết này, nhưng tôi có thể cung cấp hướng dẫn theo yêu cầu. Với Công cụ lập lịch, bạn có thể thiết lập danh sách phát cho bất kỳ thời điểm nào trong ngày, phân biệt các ngày trong tuần với các ngày cuối tuần.

Phần mềm chính chạy PAB là mopidy. Để cài đặt và cấu hình mopidy (khá rộng rãi), vui lòng tham khảo tài liệu của nó tại đây:

Đây là các plugin đã cài đặt:

  • Mopidy-Alsamixer
  • Mopidy-Internetarchive
  • Mopidy-Local-Sqlite
  • Mopidy-Podcast
  • Mopidy-Scrobbler
  • Mopidy-Soundcloud
  • Mopidy-Spotify
  • Mopidy-Spotify-Tunigo
  • Mopidy-Cd
  • Mopidy-Iris
  • Mopidy-Local-Hình ảnh
  • Mopidy-TuneIn

Để có toàn quyền kiểm soát PAB, tôi đã chọn phần mở rộng giao diện người dùng Iris (xem hình ảnh). Đây là một ứng dụng web rất mạnh mẽ với các tính năng sau:

  • Điều khiển giao diện dựa trên web đầy đủ cho Mopidy
  • Cải thiện hỗ trợ cho các thư viện địa phương (được cung cấp bởi Mopidy-Local-Sqlite)
  • Duyệt và quản lý danh sách phát và bản nhạc
  • Khám phá nhạc mới, phổ biến và liên quan (do Spotify cung cấp)
  • Được lưu trữ tự do
  • Hội nhập với:

    • Spotify
    • LastFM
    • Thiên tài
    • Snapcast
    • Icecast

Bằng cách này, tôi có thể tự do điều khiển nhạc của mình từ hầu hết mọi nơi (máy tính, máy tính bảng, điện thoại thông minh).

Đề xuất: