Mục lục:
- Quân nhu
- Bước 1: Lý thuyết về hoạt động
- Bước 2: Tháo mặt số
- Bước 3: In Bao vây
- Bước 4: Lập trình Arduino của bạn
- Bước 5: Lên dây cót mọi thứ
- Bước 6: Lắp ráp
- Bước 7: Thiết lập tập lệnh Python
Video: Vintage Rotary Phone Dial Điều khiển âm lượng PC: 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:31
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ố
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
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
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ứ
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
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
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!
Về nhì trong Cuộc thi Arduino 2020
Đề xuất:
Động cơ bước được điều khiển Động cơ bước không có vi điều khiển (V2): 9 bước (có hình ảnh)
Động cơ bước được điều khiển bằng động cơ bước Không cần vi điều khiển (V2): Trong một trong những Hướng dẫn trước đây của tôi, tôi đã chỉ cho bạn cách điều khiển động cơ bước bằng cách sử dụng động cơ bước mà không cần vi điều khiển. Đó là một dự án nhanh chóng và thú vị nhưng nó đi kèm với hai vấn đề sẽ được giải quyết trong Có thể hướng dẫn này. Vì vậy, hóm hỉnh
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: 5 bước
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: Đây là các hướng dẫn để tạo ô tô được điều khiển từ xa của riêng bạn, được điều khiển bằng bộ điều khiển Xbox 360 không dây
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Tự làm bộ điều khiển bay điều khiển đa hệ điều khiển Arduino: 7 bước (có hình ảnh)
Tự làm bộ điều khiển máy bay đa năng điều khiển Arduino: Dự án này là tạo ra một bảng logic máy bay không người lái đa năng linh hoạt nhưng tùy chỉnh dựa trên Arduino và Multiwii
Điều khiển các thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) với Màn hình nhiệt độ và độ ẩm: 9 bước
Điều khiển thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) Có Hiển thị nhiệt độ và độ ẩm: xin chào, tôi là Abhay và đây là blog đầu tiên của tôi về Các thiết bị điện và hôm nay tôi sẽ hướng dẫn bạn cách điều khiển các thiết bị điện bằng điều khiển từ xa bằng cách xây dựng cái này dự án đơn giản. cảm ơn atl lab đã hỗ trợ và cung cấp tài liệu