Mục lục:

Bộ chuyển đổi âm thanh: 9 bước
Bộ chuyển đổi âm thanh: 9 bước

Video: Bộ chuyển đổi âm thanh: 9 bước

Video: Bộ chuyển đổi âm thanh: 9 bước
Video: Dữ liệu được truyền qua không khí như thế nào? Giải thích siêu đơn giản 2024, Tháng bảy
Anonim
Bộ chuyển đổi âm thanh
Bộ chuyển đổi âm thanh

Bạn đã bao giờ nghe nhạc dồn dập tại nơi làm việc và không nhận ra ai đó đang cố gắng nói chuyện với bạn. Tệ hơn nữa, bạn đã bao giờ muốn ngủ tại nơi làm việc, nhưng không có cách nào tốt để đánh thức nếu ai đó (như sếp của bạn) chuẩn bị vào phòng làm việc của bạn. Tôi có. Để giải quyết những vấn đề này, tôi đã phát minh ra SoundSwitcher dựa trên Arduino. Về cơ bản, điều này sử dụng 6 bóng bán dẫn để chuyển đổi giữa nguồn âm thanh (trong trường hợp của tôi là iPod) và tấm chắn Wave của Ladyada cho bạn biết điều gì đang xảy ra. Sau đó, bạn có thể kết nối Arduino với bất kỳ loại cảm biến nào bạn thích. Ví dụ: của tôi được kết nối với công cụ tìm phạm vi siêu âm Parallax Ping, micrô, nút chuông cửa và máy tính (cảnh báo trên email mới). Bạn có thể đi xa hơn bằng cách kết nối điện trở quang để phát hiện khi điện thoại di động của bạn đổ chuông (màn hình sáng lên) hoặc cảm biến Parallax CH4 để bạn có thể nhận được cảnh báo sớm về việc tăng nồng độ khí mê-tan trong phòng của bạn vì người bạn đời trong phòng của bạn có quá nhiều bắp cải vào bữa trưa. Dù sao, hầu hết các bạn có thể không gặp vấn đề đó (ước gì tôi không làm vậy).. Hy vọng rằng những điều này có thể hữu ích cho những người khác trong các dự án của họ. Đây là dự án đầu tiên tôi từng thiết kế với bóng bán dẫn, vì vậy tôi có thể thiếu một số nắp và điốt ở đâu đó… Nếu ai đó có bất kỳ lời khuyên nào, tôi rất vui được nghe và kết hợp với nó.

Bước 1: Các bộ phận

Các bộ phận
Các bộ phận
Các bộ phận
Các bộ phận

1- Arduino1- Tấm chắn sóng (Ladyada) 6 - 2n3904 bóng bán dẫn 6 - 330 Ohm Điện trở 6 - 22 Ohm Điện trở 2 - 10k Ohm (kéo cho các nút) 2 - nút 2 - Đầu nối tai nghe âm thanh nổi nam1 - Đầu nối tai nghe âm thanh nổi nữ Microphone1 - Parallax Ping Ultrasonic Range Finder1- Photocell1 - Máy tính chạy tập lệnh Ruby kiểm tra email và kết nối với Arduino qua nối tiếp

Bước 2: Bóng bán dẫn

Linh kiện bán dẫn
Linh kiện bán dẫn

Các bóng bán dẫn chủ yếu được sử dụng để khuếch đại mọi thứ hoặc làm công tắc. Trong trường hợp này, tôi đang sử dụng các bóng bán dẫn làm công tắc. Khi tôi vặn chân Arduino lên cao thì bóng bán dẫn cho phép âm thanh phát ra từ thiết bị được kết nối với chúng đến tai nghe của tôi. Ba bóng bán dẫn ở mỗi bên cho phép tôi chuyển đổi mặt đất và các kênh âm thanh nổi trái và phải cho mỗi nguồn âm thanh. Tôi đã thử nghiệm với một số điện trở và giải quyết chúng. Các bóng bán dẫn không bị nóng và điện trở từ chính bóng bán dẫn rất thấp khi chân Arduino kết nối với nó ở mức cao. Điều này rất quan trọng để tôi có thể có được âm thanh tốt không bị nhiễu. Như bạn có thể thấy trong sơ đồ ở bước tiếp theo, mỗi bóng bán dẫn được kết nối với nhau để đế đi đến chân Arduino để điều khiển nó (với một điện trở giữa chúng). Bộ phát được kết nối với đất (với một điện trở) và đầu vào âm thanh. Bộ thu được kết nối với đầu ra âm thanh của tai nghe. Đây là trang web tốt về cách sử dụng bóng bán dẫn làm công tắc

Bước 3: Kết nối tất cả với nhau

Kết nối tất cả với nhau
Kết nối tất cả với nhau

Sơ đồ này khá đơn giản. Một điều cần lưu ý là tấm chắn sóng sử dụng nhiều chân cắm trên Arduino, vì vậy hãy tránh xa chúng (tôi đã điền chúng bằng chất hàn trên bảng của mình). Tôi đã sử dụng chân 8 và 9 cho bóng bán dẫn (8 phát tấm chắn sóng, 9 phát nguồn âm thanh bên ngoài). Chân số 0 tương tự đã được sử dụng cho micrô (mặc dù nó không hoạt động tốt lắm, tôi đang nghiên cứu điều này). Chân tương tự 1 được sử dụng cho nút "Bỏ qua". Khi nhấn nút này, tất cả các cảm biến sẽ bị bỏ qua trong một khoảng thời gian được xác định trước. Chân số 2 tương tự là "chuông cửa". Vẫn còn một số ghim miễn phí cho những thứ khác. Tôi đang lên kế hoạch thêm một điện trở hình ảnh mà tôi đặt trên màn hình điện thoại di động để phát hiện khi nào nó đổ chuông trên chân Analog 3. Tôi sẽ thêm điện trở đó vào đây khi tôi dùng thử.

Bước 4: Cảm biến

Cảm biến
Cảm biến

Hiện tại, tôi đang sử dụng các "cảm biến" sau (có thể là đầu vào chính xác hơn) để kích hoạt các sự kiện: - Nút nhấn cho chuông cửa - Điều này khá đơn giản, giúp ai đó có thể nhấn nút và nó sẽ phát âm thanh qua tai nghe của bạn cho bạn biết ai đó xung quanh. Nút tôi đã sử dụng đóng mạch theo mặc định và mở mạch khi nút được nhấn (tôi chỉ có những thứ này xung quanh). Đừng quên điện trở pullup (thường là điện trở 10k Ohm đi vào phía chân Arduino của dây để giúp cho tín hiệu cao tốt khi mạch hở). Của tôi được kết nối với Arduino Analog Pin 2.-Công cụ tìm phạm vi siêu âm Ping thị sai - Hãy cho tôi biết khi ai đó ở gần (tức là ai đó sắp bước vào phòng của bạn). Của tôi được kết nối với Arduino Pin 6 (trên dây màu trắng của cảm biến). Dây màu đỏ của cảm biến đi đến 5 volt và dây màu đen đi xuống đất.-Micrô - Điều này có nghĩa là để phát hiện khi ai đó đang nói chuyện với bạn. Bạn biết những kẻ không nhận ra bạn đang đeo tai nghe và bắt đầu nói chuyện. Tôi vẫn đang làm việc này, có vẻ như tôi cần một bộ tiền khuếch đại để đọc tốt với micrô tôi nhận được từ sparkfun. Một bước thú vị tiếp theo sẽ là ghi lại một vài giây âm thanh vào một tệp trên tấm chắn sóng và sau đó phát nó để bạn biết liệu đó có phải là thứ bạn quan tâm trước khi tắt nhạc hay không. script để kiểm tra email mới và gửi tín hiệu đến cổng nối tiếp nơi Arduino ở đó để cho nó biết một email mới đã được nhận. Bạn rõ ràng có thể làm được nhiều hơn với điều này. Về cơ bản bất cứ thứ gì máy tính có thể cảnh báo, bạn có thể bật cảnh báo qua tai nghe của mình. Sẽ thật tuyệt nếu tôi có thể để máy tính tự động tạo tệp sóng bằng cách sử dụng một số giọng nói của AT&T, sau đó gửi nó đến Arduino qua nối tiếp. Đó là một cách ra khỏi đó.-Cảm biến chuông điện thoại di động - Tôi đã sử dụng một tế bào quang điện từ Radio Shack (The Shack) cho việc này. Tôi kết nối nó với chân analog 4 sau đó đến 5 volt. Bạn cũng cần làm một điện trở 10k Ohm từ phía kết nối với chân 4 trên Arduino để nối đất (nếu không tín hiệu sẽ không thay đổi). Đối với điện thoại của tôi nếu tế bào quang điện tôi đang sử dụng vượt quá 400 trên số đọc tương tự trên Arduino, thì màn hình sẽ sáng lên. Tùy thuộc vào điện thoại, có thể có một số cách để làm điều đó. Tôi sẽ phải suy nghĩ thêm về vấn đề này để xem liệu tôi có thể đưa ra một giải pháp cho mục đích chung hay không.-Laser và điện trở quang - Bạn có thể hướng một con trỏ laser ngang qua cửa tủ của bạn tới một điện trở quang. Khi đèn bị hỏng do ai đó bước vào phòng của bạn, bạn có thể phát ra âm thanh cảnh báo.-Máy dò khí CH4 - Phát hiện nồng độ khí mê-tan tăng cao trong phòng của bạn. Điều này có thể giúp hoạt động như một hệ thống cảnh báo sớm đối với khí gas đi qua gần đó.

Bước 5: Chuyển văn bản dòng lệnh thành giọng nói

Đây là một tiện ích nhỏ mà tôi đã viết rất nhanh để chuyển văn bản thành giọng nói. Nó được viết bằng C # với FreeVisual C # 2008 Express Edition. Có thể bạn sẽ cần. Net 3.5 để chạy nó. Mã được bao gồm, nhưng nếu bạn chỉ muốn exe, bạn có thể lấy nó trong CommandLineText2Speech / CommandLineText2Speech / bin / Release trong tệp zip. Để công cụ hoạt động, bạn chỉ cần mở dấu nhắc lệnh, điều hướng đến thư mục bạn đặt exe và nhập CommandLineText2Speech.exe. Nó sẽ xuất ra cái này: Cách sử dụng: Để liệt kê các giọng nói đã cài đặt: CommandLineText2Speech.exe whatvoices

Để chuyển đổi văn bản thành wav: CommandLineText2Speech.exe [voice] [rate - default 0 (-10 to 10)] [volume - default 80 (0 to 100)] "[text to convert]" [output file] Nói cách khác có thể bạn sẽ muốn chạy trước: CommandLineText2Speech.exe whatvoicesĐiều này sẽ liệt kê những giọng nói bạn đã cài đặt trên máy tính của mình. Bạn sẽ cần tên của một giọng nói để chạy công cụ. Giọng nói đi kèm với Windows không tuyệt vời, AT&T có một số tính năng khá tốt. Tiếp theo để chuyển đổi văn bản thành tệp wav, hãy thực hiện điều nàyCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Đây là một thử nghiệm" test.wav Đây là tất cả những gì nó có nghĩa là: "Microsoft Sam" - giọng nói, đây là một trong những đi kèm với Windows, bạn có để đặt nó trong dấu ngoặc kép vì có khoảng trắng 0- Tốc độ bình thường (có thể từ -10 đến 10) 80- Âm lượng bình thường (có thể tăng từ 0 đến 100) "Đây là một bài kiểm tra" - Văn bản sẽ được chuyển thành wav filetest.wav- tệp wav sẽ được gọi là gì

Bước 6:

Mã Ruby đính kèm sẽ thực hiện các bước sau để kiểm tra xem có email mới hay không và nếu có thì nó sẽ chuyển nó đến Arduino thông qua giao diện USB to Serial được tích hợp trong Arduino. Tôi đã gặp sự cố khi thực hiện kết nối tốc độ cao qua Serial (có thể là kích thước của bộ đệm). Tất cả các cài đặt cho tệp đều nằm ở đầu tệp. Điều này sử dụng chương trình C # của tôi để tạo tệp wav. Có lẽ tôi nên chuyển tất cả những thứ này sang một ngôn ngữ, tôi là một fan hâm mộ lớn của Ruby, nhưng có vẻ như nó không thể tạo wav từ văn bản một cách dễ dàng nên tôi đã viết một ứng dụng C # nhỏ. Bạn cũng sẽ cần ruby đá quý nối tiếp, tôi cũng đã bao gồm nó. Để cài đặt nó (sau khi bạn đã cài đặt Ruby), hãy nhập "gem install win32-serial-0.5.1-x86-mswin32-60.gem" trong dấu nhắc lệnh của thư mục mà bạn tải xuống gem. Đó là tất cả những gì bạn cần để chương trình này hoạt động.

Bước 7: Mã

Tôi đã đính kèm bản phác thảo Arduino của mình. Nó có rất nhiều bình luận trong đó để giúp đỡ. Về cơ bản, nó tiếp tục kiểm tra tất cả các đầu vào, nếu một trong số chúng kích hoạt, thì nó sẽ chuyển âm thanh của Wave Shield và phát tệp wav được liên kết với cảnh báo đó.

Bước 8: Chạy chương trình

Ok, bây giờ bạn đã có tất cả các phần. Để làm cho điều này hoạt động chính xác, bạn cần phải1. Cài đặt Wave Shield trên Arduino2. Kết nối Arduino với Máy tính (hoặc sử dụng XBee) - Tôi giả sử rằng bạn đã cài đặt phần sụn 3. Chạy tập lệnh Ruby checkEmail.rb4. Hãy thưởng thức âm nhạc của bạn, Arduino sẽ ngắt lời bạn khi nó cần đọc email của bạn hoặc khi nó cảm nhận được điều gì đó trong tiền của bạn.

Bước 9: Video về thành phẩm

Đây là công cụ chuyển đổi âm thanh tại nơi làm việc

Đề xuất: