Mục lục:

Vintage Rotary Phone Dial Điều khiển âm lượng PC: 7 bước (có hình ảnh)
Vintage Rotary Phone Dial Điều khiển âm lượng PC: 7 bước (có hình ảnh)

Video: Vintage Rotary Phone Dial Điều khiển âm lượng PC: 7 bước (có hình ảnh)

Video: Vintage Rotary Phone Dial Điều khiển âm lượng PC: 7 bước (có hình ảnh)
Video: Biến hình khi văn phòng Schannel có khách đến 2024, Tháng mười một
Anonim
Image
Image
Tháo mặt số
Tháo mặt số

Nếu bạn giống tôi, bạn thấy mình thay đổi âm lượng trên máy tính của mình khá thường xuyên. Một số video lớn hơn những video khác, đôi khi bạn muốn tắt âm lượng trên máy tính của mình trong khi nghe podcast hoặc nhạc và bạn có thể cần nhanh chóng giảm âm lượng nếu nhận được cuộc gọi điện thoại. Nếu bạn không có các điều khiển phương tiện được tích hợp trong máy tính của mình, thì bạn có thể biến một mặt số điện thoại xoay cổ điển thành một điều khiển âm lượng cho PC Windows của mình.

Thiết bị điều khiển âm lượng này cắm vào máy tính của bạn thông qua USB và sẽ tự động đặt âm lượng của mọi chương trình đang mở thành bất kỳ số nào bạn quay. Nếu bạn quay số "2", âm lượng sẽ được đặt thành 20%. Quay số "8" và nó sẽ được đặt thành 80%. Quay số "0" đặt nó thành 0% và hoạt động giống như tắt tiếng. Thật nhanh chóng, thỏa mãn và thú vị hơn là nhấp vào điều khiển âm lượng trên thanh tác vụ của bạn.

Quân nhu

  • Hệ thống chuông cổ điển Điện thoại quay Trimline
  • Arduino Nano
  • Bộ chèn nhiệt có ren M3
  • Vít máy M3
  • Điện trở (470 ohm và 10k ohm)
  • Dây điện
  • Truy cập vào máy in 3D

Bước 1: Lý thuyết về hoạt động

Điện thoại quay, bao gồm Bell Systems Trimline được sử dụng trong dự án này, hoàn toàn là thiết bị cơ điện tương tự. Khi bạn xoay mặt số, một lò xo sẽ quay mặt số trở lại vị trí ban đầu. Khi nó đi qua mỗi số, một công tắc sẽ bị ngắt kết nối (hoặc kết nối) trong một khoảnh khắc ngắn, tạo ra một xung. Tất cả những gì chúng ta phải làm là đếm những xung đó để xác định số nào đã được quay.

Guidomax có một hướng dẫn tuyệt vời về các giải pháp có thể đi sâu về cách thức hoạt động chính xác của điều này và bạn có thể tìm thêm thông tin chi tiết ở đó.

Đối với dự án này, chúng tôi sử dụng Arduino Nano để đếm các xung. Sau đó Arduino gửi số đến PC thông qua kết nối nối tiếp. Tôi đã viết một tập lệnh Python cơ bản chạy ở chế độ nền và giám sát kết nối nối tiếp đó. Khi nó nhận được các bit, nó sẽ lấy số và sử dụng thư viện Python Core Audio Windows để đặt âm lượng thích hợp.

Do những hạn chế với Windows và thư viện đó, tập lệnh không đặt khối lượng hệ thống tổng thể (thanh trượt chính trong thanh tác vụ của bạn). Thay vào đó, nó đặt âm lượng riêng cho mọi chương trình hiện đang chạy. Hiệu quả là như nhau, ngoại trừ việc bạn không thể duy trì các mức âm lượng tương đối khác nhau giữa các chương trình.

Bước 2: Tháo mặt số

Tháo mặt số
Tháo mặt số

Bước này rất đơn giản: chỉ cần tháo rời điện thoại Trimline của bạn để loại bỏ cơ chế quay số. Về cơ bản, nó là một mô-đun độc lập, vì vậy bạn chỉ cần tháo nó ra khỏi thiết bị cầm tay.

Tôi đã chọn mô hình Trimline cho dự án này, bởi vì mô-đun quay số đó nhỏ gọn hơn những mô-đun bạn sẽ tìm thấy trên hầu hết các điện thoại quay khác.

Nếu bạn cho nó một vài vòng quay thử nghiệm, bạn sẽ nghe thấy tiếng tách của công tắc khi nó quay trở lại vị trí ban đầu.

Bước 3: In Bao vây

In Bao vây
In Bao vây

Sử dụng hai tệp STL được cung cấp để in các bộ phận bao vây. Bạn có thể sử dụng bất kỳ vật liệu sợi nào bạn thích (tôi đã sử dụng PLA). Các cài đặt cụ thể mà bạn sử dụng không quá quan trọng, nhưng tôi khuyên bạn nên sử dụng hỗ trợ cho phần "Rotary_Top". Bạn có thể in hai phần này trong khi bạn làm việc trên phần còn lại của dự án.

Bước 4: Lập trình Arduino của bạn

Lập trình Arduino của bạn
Lập trình Arduino của bạn

Mã bạn sẽ tải lên Arduino Nano của mình được lấy ngay từ hướng dẫn của Guidomax, vì nó hoạt động hoàn hảo cho dự án này:

int needToPrint = 0; int count; int trong = 2;

int lastState = LOW;

int trueState = LOW;

long lastStateChangeTime = 0;

int xóa = 0;

// hằng số

int dialHasFinishingRotatingAfterMs = 100;

int debounceDelay = 10;

void setup () {

Serial.begin (9600);

pinMode (vào, INPUT); }

void loop () {

int read = digitalRead (in);

if ((millis () - lastStateChangeTime)> dialHasFinishingRotatingAfterMs) {// quay số không được quay hoặc vừa mới quay xong.

if (needToPrint) {// nếu nó chỉ được quay số xong, chúng ta cần gửi số xuống dòng // serial và đặt lại số lượng. Chúng tôi điều chỉnh số đếm bằng 10 vì '0' sẽ gửi 10 xung.

Serial.print (đếm% 10, DEC);

needToPrint = 0;

đếm = 0;

xóa = 0; }}

if (read! = lastState) {lastStateChangeTime = millis ();

}

if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - điều này xảy ra khi nó ổn định

if (read! = trueState) {// điều này có nghĩa là công tắc vừa chuyển từ trạng thái đóng-> mở hoặc ngược lại. trueState = đọc; if (trueState == HIGH) {// tăng số lượng xung nếu nó tăng cao.

tính ++;

needToPrint = 1; // chúng ta sẽ cần in số này (sau khi mặt số quay xong)

}

}

}

lastState = đọc; }

Bước 5: Lên dây cót mọi thứ

Lên dây mọi thứ
Lên dây mọi thứ
Lên dây mọi thứ
Lên dây mọi thứ
Lên dây mọi thứ
Lên dây mọi thứ

Hệ thống dây cho dự án này thực sự đơn giản. Mô-đun quay số phải có hai trụ hình lục giác ở mặt sau với các vít trong chúng. Đó là các kết nối công tắc. Sự phân cực không thành vấn đề.

Lưu ý: Bỏ qua màu sắc của dây của tôi trong ảnh. Tôi trộn đất và 5V, vì vậy chúng thực sự được đảo ngược.

Kết nối một dây từ Post A (GND) và kết nối nó với chân nối đất trên Arduino Nano của bạn. Lấy dây thứ hai và hàn nó và dây thứ ba vào một bên của điện trở 470 ohm. Dây thứ hai sẽ đến Cột B (+) trên mặt số. Dây thứ ba sẽ được hàn vào một bên của điện trở 10k ohm. Lấy dây thứ tư và hàn nó từ phía bên kia của điện trở 470 ohm vào Pin 2 trên Arduino Nano. Cuối cùng, một dây thứ năm sẽ kết nối phía bên kia của điện trở 10k ohm với chân 5V trên Arduino Nano.

Chúng tôi đang sử dụng các điện trở và chân 5V để kéo chân lên mức cao khi công tắc mở (như trong mỗi "xung").

Bước 6: Lắp ráp

cuộc họp
cuộc họp
cuộc họp
cuộc họp

Bạn nên nhận thấy rằng phần Rotary_Top của vỏ có sáu lỗ nhỏ. Đây là những bộ chèn nhiệt có ren của bạn. Ba phần trên cùng (ở mặt dưới của bề mặt trên) để gắn mặt đồng hồ quay. Ba điều dưới cùng là vặn Rotary_Base vào Rotary_Top.

Có thể đốt nóng các thanh chèn đã được tạo nhiệt bằng mỏ hàn (hoặc dụng cụ chuyên dụng) rồi đẩy vào các lỗ. Nhiệt sẽ làm chảy nhựa, nhựa sẽ cứng lại sau khi loại bỏ nhiệt để giữ cố định các miếng chèn. Sử dụng bộ chèn nhiệt dễ chịu hơn nhiều so với việc luồn vít trực tiếp vào nhựa.

Chèn sáu bộ chèn nhiệt. Sau đó, sử dụng một vài vít máy M3 ngắn (10mm hoặc lâu hơn) để gắn mặt số. Hãy lưu ý đến vết khía trên vết cắt, đó là nơi mà ngón tay kim loại sẽ dừng lại. Sau đó, cẩn thận đặt cáp Arduino Nano với USB được kết nối vào bên trong vỏ (nó bị lỏng, chưa được gắn) và vặn đế vào đúng vị trí.

Có thể bạn sẽ muốn sử dụng băng dính hai mặt hoặc Dải lệnh 3M để dán vỏ vào bàn của mình, vì vậy nó sẽ không di chuyển khi bạn xoay mặt số.

Bước 7: Thiết lập tập lệnh Python

Thiết lập tập lệnh Python
Thiết lập tập lệnh Python

Trước tiên, hãy đảm bảo rằng bạn đã cài đặt Python (sử dụng Python 3, vì Python 2 đang bị loại bỏ dần).

Sau đó, bạn sẽ cần cài đặt hai thư viện bắt buộc: PyCAW và PySerial.

Sử dụng:

"pip install pycaw" và "pip install pyserial" (từ cửa sổ Python hoặc Windows Powershell)

Sau đó, hãy kiểm tra xem Arduino Nano của bạn được kết nối với cổng nào. Bạn có thể kiểm tra điều đó từ bên trong Arduino IDE. Đảm bảo rằng bạn đã chọn cổng đó, sau đó mở màn hình nối tiếp. Đảm bảo tốc độ truyền của bạn được đặt thành 9600, sau đó quay một số số để đảm bảo chúng hiển thị trong màn hình nối tiếp.

Nếu có, hãy chỉnh sửa mã "rotary.py" bằng số cổng của bạn. Nếu bạn chạy script, thì bây giờ bạn có thể thay đổi âm lượng bằng cách quay một số.

Bước cuối cùng là thiết lập tập lệnh tự động chạy trong nền khi bạn khởi động PC.

Để làm điều đó, hãy thay đổi "rotary.py" thành "rotary.pyw" để cho phép nó chạy trong nền. Sau đó, đặt tập lệnh đó vào thư mục sau: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup

Rõ ràng là bạn sẽ cần thay đổi "current_user" thành tên thư mục người dùng thực của mình.

Đó là nó! Bất cứ khi nào máy tính của bạn khởi động, tập lệnh Python đó sẽ bắt đầu chạy. Nó sẽ giám sát kết nối nối tiếp từ Arduino và sẽ đặt tất cả các khối lượng chương trình thành bất kỳ thứ gì bạn quay!

Cuộc thi Arduino 2020
Cuộc thi Arduino 2020
Cuộc thi Arduino 2020
Cuộc thi Arduino 2020

Về nhì trong Cuộc thi Arduino 2020

Đề xuất: