Mục lục:
- Bước 1: Vật liệu cần thiết
- Bước 2: Các nút
- Bước 3: Hộp đựng các nút
- Bước 4: Raspberry Pi
- Bước 5: Lập trình
- Bước 6: Chạy Python Script tại mỗi lần khởi động
- Bước 7: Kết thúc ghi chú
Video: Trình ghi phát lại với Raspberry Pi: 7 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Chào mọi người, Trong phần hướng dẫn này, tôi giải thích cách tôi tạo một trình ghi phát lại bằng Raspberry Pi. Thiết bị này là Raspberry Pi model B +, có 7 nút nhấn ở phía trên, loa được kết nối với một trong các cổng usb của Pi và micrô được kết nối với các cổng usb khác. Mỗi nút được liên kết với một âm thanh, vì vậy nó có thể phát 7 âm thanh khác nhau. Âm thanh được phát sau một lần nhấn nút ngắn. Để ghi âm thanh mới, chỉ cần nhấn nút trong hơn 1 giây, ghi âm sau tiếng bíp và nhả nút ở cuối bản ghi. Nó không nhận được bất kỳ đơn giản hơn thế!
Bước 1: Vật liệu cần thiết
Đối với dự án này, tôi cần:
- Một Raspberry Pi mô hình B + và thẻ micro SD - 29,95 đô la + 9,95 đô la
- Vỏ nhựa Raspberry Pi - 7,95 USD
- Loa USB - 12,50 USD
- Một micrô USB - 5,95 đô la
- Một bảng perma-proto có kích thước bằng một nửa - 4,50 đô la
- 7 nút nhấn tạm thời - 2,50 đô la
Tôi cũng cần:
- Một số dây điện
- Tiêu đề nữ góc phải
- Một số gỗ, sơn đen và keo cho hộp nút
- Một mỏ hàn và thuốc hàn
Bước 2: Các nút
Các nút được sử dụng khá cao (6mm) để chúng có thể đi qua độ dày của vỏ máy.
Tôi đã đặt 7 nút của mình trên một bảng perma-proto, nó giống như một bảng mạch, ngoại trừ các thành phần được hàn trên đó. Điều này mạnh mẽ hơn một breadboard và rẻ hơn in một pcb. Mỗi nút liên kết mặt đất với một GPIO trên Raspberry Pi. Tôi không có điện trở ở đây vì Pi đã có điện trở kéo lên / xuống bên trong sẽ được thiết lập trong chương trình. Trong trường hợp này, tôi đã đặt chúng thành pull-up (xem chương trình bên dưới).
Các nút được đặt mỗi 4 hàng hoặc mỗi 0,4 inch.
Bước 3: Hộp đựng các nút
Tôi đã làm một chiếc hộp rất đơn giản cho các nút, với các tấm ván ép và chốt vuông bằng gỗ. Kích thước chốt phải đủ lớn để chứa đế nút và bo mạch, nhưng đủ nhỏ để có thể để nút trên ra khỏi vỏ. Tôi đã sử dụng 1/4 in x 1/4 in dowel.
Sau khi đảm bảo bo mạch phù hợp với vỏ, các chốt được dán vào tấm đế. Sau đó, các lỗ được khoan trên tấm trên cùng (bảng có thể được sử dụng để tạo dấu chính xác sau mỗi 0,4 inch). Tất cả các bộ phận bằng gỗ đều được sơn, bảng được đặt trong hộp và tấm trên cùng được dán lên trên.
Bước 4: Raspberry Pi
Tôi không muốn hàn dây trực tiếp với Pi, trong trường hợp tôi muốn sử dụng Pi cho việc khác trong tương lai. Do đó, tôi đã hàn dây vào các tiêu đề nữ góc phải và cắm các tiêu đề trên Pi.
Các GPIO được sử dụng là 21, 26, 20, 19, 13, 6 và 5. Chân nối đất cũng được sử dụng.
Microphone và loa được cắm đơn giản vào 2 trong 4 cổng usb.
Pi được cấp nguồn qua ổ cắm micro-usb
Bước 5: Lập trình
Để lập trình Pi, tôi đã kết nối nó với internet bằng cáp ethernet và điều khiển nó từ một máy tính từ xa bằng VNC viewer. Tuy nhiên, bạn không thể sử dụng thiết lập này trong lần đầu tiên kết nối với Pi, vì hệ điều hành chưa được cài đặt và SSH chưa được gỡ bỏ. Vì vậy, bạn sẽ cần kết nối màn hình, bàn phím và chuột, ít nhất là lần đầu tiên.
Khá rắc rối khi tìm các lệnh để ghi và phát âm thanh trên sound card bên phải. Đây là những lệnh phù hợp với tôi:
-
aplay -D plughw: CARD = Device_1, DEV = 0 0.wav
Chơi 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Ghi tối đa 20 giây trong tệp 0.wav, với chất lượng cd
Các tệp âm thanh được đặt trong thư mục mặc định (/ home / pi). Một tệp âm thanh cho tiếng bíp cũng cần thiết, được đặt trong thư mục mặc định và được gọi là beep.wav.
Bản thân mã python như sau:
mã python cho trình ghi phát lại Raspberry Pi
nhập RPi. GPIO dưới dạng GPIO |
thời gian nhập khẩu |
nhập hệ điều hành |
#biến: |
butPressed = [True, True, True, True, True, True, True] # nếu tôi được nhấn nút, thì butPressed là False |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO chân của mỗi nút |
recordBool = False # True nếu một bản ghi đang được xử lý |
GPIO.setmode (GPIO. BCM) |
cho tôi trong phạm vi (0, 7): |
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP) # đặt các điện trở bên trong của Pi để kéo lên |
trong khi Đúng: |
cho tôi trong phạm vi (0, 7): |
butPressed = GPIO.input (pin ) # kiểm tra xem một nút có được nhấn không |
if butPressed == False: # nếu một nút được nhấn |
beforeTime = time.time () |
while butPressed == False và recordBool == Sai: |
butPressed = GPIO.input (pin ) |
if time.time () - beforeTime> 1.0: # nếu nút được nhấn trong hơn một giây, thì recordBool là True |
recordBool = True |
if recordBool == True: #if recordBool là True, nó sẽ phát âm thanh bíp và sau đó ghi lại |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 beep.wav") |
os.system ("arecord% d.wav -D sysdefault: CARD = 1 -f cd -d 20 &"% i) #records trong tối đa 20 giây trong tệp i.wav, với chất lượng cd |
while butPressed == False: |
butPressed = GPIO.input (pin ) |
os.system ("pkill -9 arecord") # bản ghi bị dừng khi thả nút hoặc sau 20 giây |
recordBool = Sai |
khác: #if recordBool là False, nó phát âm thanh i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0% d.wav"% i) |
time.sleep (0,1) |
xem trình ghi rawPlayback được lưu trữ với ❤ bởi GitHub
Bước 6: Chạy Python Script tại mỗi lần khởi động
Để chạy tập lệnh python khi khởi động mỗi Pi, các dòng sau được đặt trong một tệp có tên là playback.desktop trong thư mục /home/pi/.config/autostart/
chạy playback.py khi khởi động Raspberry Pi
[Mục nhập trên máy tính để bàn] |
Mã hóa = UTF-8 |
Loại = Ứng dụng |
Tên = Phát lại |
Nhận xét = Đây là một ứng dụng phát lại |
Exec = python /home/pi/playback.py |
StartupNotify = false |
Terminal = true |
Ẩn = sai |
xem rawplayback.desktop được lưu trữ với ❤ bởi GitHub
Bước 7: Kết thúc ghi chú
Vui lòng cho tôi biết bạn nghĩ gì về dự án này trong phần bình luận, cho tôi biết về các đề xuất của bạn và bình chọn cho tôi trong cuộc thi Raspberry Pi nếu bạn thích nó.
Mong được bạn đọc!
Đề xuất:
OreServer - Máy chủ Minecraft chuyên dụng cho Raspberry Pi với đèn LED chỉ báo trình phát: 9 bước (có hình ảnh)
OreServer - Máy chủ Minecraft chuyên dụng cho Raspberry Pi với chỉ báo trình phát LED: CẬP NHẬT tháng 7 năm 2020 - Trước khi bạn bắt đầu dự án này, hãy lưu ý rằng RẤT NHIỀU thay đổi và cập nhật đã được thực hiện cho các công cụ phần mềm khác nhau mà tôi đã sử dụng để tạo điều này hơn hai nhiều năm trước. Do đó, nhiều bước không còn hoạt động như đã viết.
Trình đọc / ghi và ghi âm thanh ScanUp NFC cho người mù, người khiếm thị và mọi người khác: 4 bước (có hình ảnh)
Máy đọc / ghi âm thanh ScanUp NFC và Máy ghi âm cho Người mù, Khiếm thị và Mọi người Khác: Tôi học thiết kế công nghiệp và dự án là công việc trong học kỳ của tôi. Mục đích là để hỗ trợ người khiếm thị và người mù bằng một thiết bị cho phép ghi lại âm thanh ở định dạng WAV trên thẻ SD và gọi thông tin đó bằng thẻ NFC. Vì vậy, trong
(gần như) Lập trình viên MIDI SysEx CC đa năng (và Trình tự lập trình tự ): 7 bước (có Hình ảnh)
(gần như) Lập trình viên MIDI SysEx CC đa năng (và Trình lập trình …): Vào giữa những năm tám mươi, các bộ sản xuất tổng hợp bắt đầu " ít hơn là tốt hơn " quá trình dẫn đến synths barebone. Điều này cho phép giảm chi phí về mặt sản xuất, nhưng làm cho quá trình vá lỗi trở nên thành công nếu không muốn nói là không thể sử dụng cuối cùng
Theo dõi và ghi lại nhiệt độ với Bluetooth LE và RaspberryPi: 9 bước (có hình ảnh)
Theo dõi và ghi lại nhiệt độ với Bluetooth LE và RaspberryPi: Hướng dẫn này là về cách kết hợp một hệ thống theo dõi nhiệt độ nhiều nút với lỗi cảm biến Bluetooth LE từ Blue Radios (BLEHome) và RaspberryPi 3BT. Nhờ sự phát triển của tiêu chuẩn Bluetooth LE, có hiện đã có sẵn
Phát minh lại những phát minh miễn phí của bạn cho robot 'Fantastic Plastics Works' để phát sáng: 5 bước
Phát minh lại những sáng tạo miễn phí của bạn cho robot 'Fantastic Plastics Works' để phát sáng: Sử dụng đèn LED có sẵn để làm cho 'robot' bằng nhựa phát sáng và làm phai màu! Cung cấp giới thiệu về hàn cơ bản, mạch điện, đèn LED và chất dẻo