Mục lục:

Giao diện Quay số điện thoại quay với Arduino: 6 bước (có Hình ảnh)
Giao diện Quay số điện thoại quay với Arduino: 6 bước (có Hình ảnh)

Video: Giao diện Quay số điện thoại quay với Arduino: 6 bước (có Hình ảnh)

Video: Giao diện Quay số điện thoại quay với Arduino: 6 bước (có Hình ảnh)
Video: Viết chương trình Arduino với trí thông minh nhân tạo ChatGPT - Lập trình chưa bao giờ dể dàng hơn 2024, Tháng bảy
Anonim
Giao diện một Quay số Điện thoại Quay với Arduino
Giao diện một Quay số Điện thoại Quay với Arduino
Giao diện một Quay số Điện thoại Quay với Arduino
Giao diện một Quay số Điện thoại Quay với Arduino

Điện thoại quay cũ có thể được sử dụng cho một số mục đích trong các dự án Arduino của bạn - sử dụng nó như một thiết bị đầu vào mới hoặc sử dụng Arduino để giao diện điện thoại quay với máy tính của bạn. Đây là hướng dẫn rất cơ bản mô tả cách giao diện quay số tới Arduino và nhận số đã quay được chuyển vào máy tính qua liên kết nối tiếp của Arduino.

Bước 1: Xóa quay số khỏi điện thoại

Xóa quay số khỏi điện thoại
Xóa quay số khỏi điện thoại
Xóa quay số khỏi điện thoại
Xóa quay số khỏi điện thoại
Xóa quay số khỏi điện thoại
Xóa quay số khỏi điện thoại

Bước đầu tiên là tháo bộ phận quay số khỏi điện thoại. Tôi đang sử dụng một chiếc điện thoại GPO từ những năm 1970. Trên chiếc điện thoại này, mặt số hiện ra ngay lập tức - tôi chỉ cần kéo nó một cái. Nếu không, bạn có thể phải mở điện thoại và tìm cách tháo nó ra. Có năm dây cáp được kết nối với mặt sau của bộ phận quay số. Trên điện thoại của tôi, đây là những kết nối thông thường, vì vậy tôi đã nới lỏng các vít và kéo chúng ra. Nếu bạn muốn lắp ráp lại điện thoại của mình, hãy nhớ ghi lại dây màu nào đi đến kết nối nào.

Bước 2: Xác định công tắc

Xác định công tắc
Xác định công tắc

Sau khi mặt số ra ngoài, sẽ tương đối dễ dàng để xem cách mặt số chuyển đổi chuyển động quay thành xung. Hãy thử quay mặt số bằng tay và xem chuyển động ở mặt sau. Bạn sẽ thấy một công tắc tạo ra và ngắt mạch nhanh chóng - vì vậy nếu bạn quay số '9', công tắc sẽ hoạt động chín lần. Tôi đã ghi lại cách nó hoạt động cho điện thoại của tôi trong Ghi chú của ảnh bên dưới. Ngoài ra còn có một video mờ về cơ chế hoạt động.

Bước 3: Tạo mạch

Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch

Khi bạn đã tìm thấy công tắc đang được chế tạo và bị hỏng, bạn sẽ có thể xác định các kết nối bằng cách đi theo dây trở lại các đầu kết nối. Trong trường hợp của tôi, hai bên của công tắc được kết nối với hai thiết bị đầu cuối bên trái. Công tắc trong quay số của tôi luôn bật và bị hỏng đối với mỗi xung khi quay số, vì vậy tôi đã sử dụng mạch rất đơn giản bên dưới. Chân 2 sẽ lên CAO cho mỗi xung khi mặt số quay. Khi điện thoại không được quay số, công tắc trong bộ quay số bị đóng (công tắc được gọi là công tắc ĐƯỢC ĐÓNG THƯỜNG, vì những lý do rõ ràng) vì vậy mạch kết nối chân 2 với mặt đất (với Arduino là THẤP). Điều này là do điện trở 470 ohm ít hơn nhiều so với điện trở 10K. Khi công tắc mở, chân 2 không được kết nối với đất - thay vào đó nó được kết nối với nguồn 5V thông qua điện trở 10470 ohms. Điều này được Arduino hiểu là CAO. Nếu mặt số của bạn có công tắc MỞ THƯỜNG, thì hãy hoán đổi vị trí của điện trở 10K và mặt số sẽ thực hiện thủ thuật.

Bước 4: Phát triển mã

Phát triển mã
Phát triển mã

Bây giờ chúng ta cần một số mã để Arduino đếm các xung và gửi tổng số cho mỗi số được quay lại thông qua cổng nối tiếp. Mã của tôi bên dưới. Vì chúng tôi đang làm việc với thợ cơ khí ở đây, nên công việc của bạn có thể khác. Hãy thử chơi với hằng số debounce và hằng số 'chúng ta đợi bao lâu trước khi giả sử rằng quay số đã quay xong'. Tôi đã cố gắng nhận xét nó gọn gàng nhất có thể. Hy vọng rằng nó khá đơn giản. void setup () {Serial.begin (9600); pinMode (in, 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 (reading! = 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 quay xong)}}} lastState = reading;}

Bước 5: Kiểm tra hoạt động

Kiểm tra xem nó hoạt động bằng cách mở cửa sổ nối tiếp (tôi sử dụng màn hình trên máy unix, bạn có thể muốn sử dụng Hyperterm hoặc tương tự trên Windows) và thử quay một số số. Đảm bảo rằng chương trình nối tiếp được thiết lập để đọc từ USB- > bộ điều hợp nối tiếp trong Arduino của bạn (kiểm tra menu Công cụ-> Cổng nối tiếp trong phần mềm Arduino nếu bạn quên đó là gì) và tốc độ truyền là 9600 bps. Bạn sẽ thấy số chính xác bật lên khi nó được quay.

Bước 6: Kết nối nó vào một cái gì đó hữu ích

Kết nối nó vào một cái gì đó hữu ích!
Kết nối nó vào một cái gì đó hữu ích!

Tôi đã nghĩ ra tệp Quartz Composer trên máy Mac của mình để lấy dữ liệu đầu vào và hiển thị nó trên màn hình một cách độc đáo. Sau khi nó nằm trong máy dưới dạng dữ liệu nối tiếp, bạn có thể làm bất cứ điều gì với nó. để giữ máy ảnh cho tôi - ước gì tôi có ba tay.

Đề xuất: