Mục lục:

Đồng hồ hiển thị bảy đoạn cơ học: 7 bước (có hình ảnh)
Đồng hồ hiển thị bảy đoạn cơ học: 7 bước (có hình ảnh)

Video: Đồng hồ hiển thị bảy đoạn cơ học: 7 bước (có hình ảnh)

Video: Đồng hồ hiển thị bảy đoạn cơ học: 7 bước (có hình ảnh)
Video: ✈️ Top 6 Phát Hiện Bí Ẩn Và Kỳ Lạ Nhất Khiến Các Nhà Khoa Học Cũng Phải Kinh Ngạc | Khám Phá Đó Đây 2024, Tháng mười một
Anonim
Đồng hồ hiển thị bảy phân đoạn cơ học
Đồng hồ hiển thị bảy phân đoạn cơ học
Đồng hồ hiển thị bảy phân đoạn cơ học
Đồng hồ hiển thị bảy phân đoạn cơ học

Vài tháng trước, tôi đã chế tạo một màn hình 7 phân đoạn cơ học hai chữ số mà tôi đã biến thành đồng hồ đếm ngược. Nó hoạt động khá tốt và một số người đề nghị tăng gấp đôi màn hình để làm đồng hồ. Vấn đề là tôi đã hết PWM IO trên Arduino Mega của mình và không có đủ số thứ hai hoặc thứ ba. Sau đó, tôi được hướng dẫn của các trình điều khiển PWM 16 kênh PCA9685 này hoạt động trên giao diện I2C. Những điều này giúp bạn có thể lái 28 servos mà tôi cần tất cả bằng cách sử dụng hai chân I2C trên Arduino. Vì vậy, tôi phải bắt tay vào xây dựng một chiếc đồng hồ hiện sử dụng mô-đun đồng hồ thời gian thực DS1302 để giữ thời gian và hai trình điều khiển servo 16 kênh để điều khiển 28 servo được sử dụng để tạo nên màn hình, tất cả đều được cung cấp bởi Arduino Uno.

Nếu bạn cảm thấy thích thú với Tài liệu hướng dẫn này, hãy cân nhắc bỏ phiếu cho nó trong Cuộc thi Đồng hồ

Quân nhu:

Để chế tạo đồng hồ của mình, bạn sẽ cần những vật dụng sau cùng với một số công cụ cơ bản:

  • Arduino Uno - Mua tại đây
  • Mô-đun đồng hồ DS1302 - Mua tại đây
  • 2 x Trình điều khiển Servo PCA9685 16Ch - Mua tại đây
  • 28 x Micro Servos - Mua tại đây
  • Cáp ruy-băng - Mua tại đây
  • Dải đầu ghim nam - Mua tại đây
  • Dải đầu ghim nữ - Mua tại đây
  • 3mm MDF - Mua tại đây
  • Sơn phun màu đen - Mua tại đây
  • Mạch loại bỏ pin 5V 5A - Mua tại đây
  • Nguồn điện 12V - Mua tại đây

Đối với dự án này, bạn cũng sẽ cần một số bộ phận được in 3D. Nếu bạn chưa có máy in 3D và bạn thích làm mọi thứ thì bạn chắc chắn nên cân nhắc mua một chiếc. Creality Ender 3 Pro được sử dụng ở đây có giá cả phải chăng và tạo ra các bản in chất lượng khá tốt so với mức giá của nó.

  • Máy in 3D đã sử dụng - Mua tại đây
  • Filament - Mua tại đây

Bước 1: In 3D các thành phần nhựa

In 3D các thành phần nhựa
In 3D các thành phần nhựa
In 3D các thành phần nhựa
In 3D các thành phần nhựa
In 3D các thành phần nhựa
In 3D các thành phần nhựa

Tôi đã thiết kế màn hình 7 phân đoạn càng đơn giản càng tốt. Servo cũng là giá đỡ để giữ phân khúc phía trên nó. Có hai thành phần được in 3D cần thiết cho mỗi phân đoạn, một khối đệm để hỗ trợ mặt dưới của servo và phân đoạn hiển thị dán trực tiếp vào cánh tay servo.

Tải xuống Tệp In 3D - Đồng hồ Hiển thị Phân đoạn Cơ khí 7 Tệp In 3D

In các phân đoạn và chấm servo bằng PLA màu sáng. Tôi đã sử dụng màu xanh lá cây mờ, nhưng màu đỏ, cam hoặc vàng cũng sẽ hoạt động tốt. Tôi đã sử dụng PLA màu đen cho các khối đệm và hỗ trợ chấm để chúng không hiển thị khi các phân đoạn được chuyển sang vị trí tắt.

Nếu bạn không có quyền truy cập vào máy in 3D, hãy thử một trong các dịch vụ in trực tuyến. Có một số dịch vụ giá cả phải chăng có sẵn sẽ in các thành phần và giao chúng đến tận nhà của bạn trong vài ngày.

Bước 2: Chuẩn bị bảng điều khiển & hệ thống dây điện của bạn

Chuẩn bị bảng điều khiển & hệ thống dây điện của bạn
Chuẩn bị bảng điều khiển & hệ thống dây điện của bạn
Chuẩn bị bảng điều khiển & hệ thống dây điện của bạn
Chuẩn bị bảng điều khiển & hệ thống dây điện của bạn
Chuẩn bị bảng điều khiển & hệ thống dây điện của bạn
Chuẩn bị bảng điều khiển & hệ thống dây điện của bạn
Chuẩn bị bảng điều khiển & hệ thống dây điện của bạn
Chuẩn bị bảng điều khiển & hệ thống dây điện của bạn

Bạn sẽ cần sử dụng hai trình điều khiển PCA9685 16 kênh PWM để điều khiển các servo 28 xung nhịp của bạn. Tôi đã tách các servo thành các chữ số giờ và phút, với mỗi cặp chữ số được điều khiển bởi một bảng. Vì vậy, tôi có một bảng điều khiển servos cho hai chữ số giờ và bảng thứ hai điều khiển servos cho hai chữ số phút.

Để liên kết cả hai lại với nhau, bạn sẽ cần tạo một đầu nối cáp dải băng 6 dây và hàn dải tiêu đề thứ hai vào đầu kia của bảng điều khiển servo đầu tiên. Bạn cũng sẽ cần thay đổi địa chỉ I2C trên bảng thứ hai để nó khác với địa chỉ đầu tiên và có thể nhận dạng duy nhất.

Bạn cũng sẽ cần tạo bộ dây để kết nối ba bảng (hai bảng servo và mô-đun đồng hồ) với Arduino của bạn. Bạn sẽ cần 5V và GND cho mỗi bảng cũng như các kết nối I2C với các chân Arduino của bạn A4 và A5 (I2C trên Arduino Uno) và mô-đun đồng hồ ghim chân CLK, DAT & RST vào chân 6, 7 và 8 trên Arduino của bạn tương ứng.

Nguồn được cung cấp cho Arduino trực tiếp từ nguồn điện 12V và tới các servo bằng cách sử dụng 5V 5A BEC, sau đó được kết nối với hai thiết bị đầu cuối trên đầu trình điều khiển PWM. Bạn chỉ cần kết nối một trình điều khiển servo để cấp nguồn và nó sẽ cấp nguồn cho trình điều khiển thứ hai thông qua kết nối cáp ribbon 6 dây.

Bước 3: Lắp ráp các Servos

Lắp ráp các Servos
Lắp ráp các Servos
Lắp ráp các Servos
Lắp ráp các Servos
Lắp ráp các Servos
Lắp ráp các Servos

Khi bạn đã in các phân đoạn của mình, bạn sẽ cần phải phun màu đen mặt sau và các mặt để chúng ít bị nhìn thấy hơn khi chúng quay 90 độ về vị trí tắt.

Sau đó, bạn cần dán các phân đoạn vào các cánh tay servo của mình bằng keo nóng chảy. Việc dán chúng lên servo rất hữu ích với cánh tay đã có trên servo, bằng cách này, bạn có thể kiểm tra xem mình đang dán chúng thẳng hàng và bằng phẳng.

Bạn cũng sẽ cần phải dán một khối đệm vào dưới cùng của mỗi servo.

Lắp ráp các dấu chấm bằng cách dán một cái chốt nhỏ hoặc que kebab vào mặt sau của các dấu chấm và sau đó vào các khối cơ sở. Tôi cũng phun những que này màu đen để chúng ít bị nhìn thấy hơn nếu nhìn từ một góc độ.

Bước 4: Thiết lập và kiểm tra

Thiết lập & Kiểm tra
Thiết lập & Kiểm tra
Thiết lập & Kiểm tra
Thiết lập & Kiểm tra

Tôi đã đánh số tất cả các Servos và ghi số vào mỗi khách hàng tiềm năng để việc theo dõi chúng dễ dàng hơn. Tôi bắt đầu với phân đoạn trên cùng trên chữ số hàng đơn vị và làm việc xung quanh phân đoạn giữa trên chữ số hàng chục. Đây cũng là thứ tự mà tôi cắm chúng vào bảng điều khiển servo, hãy nhớ rằng số nhận dạng trên bảng đếm từ 0 đến 13 chứ không phải từ 1 đến 14.

Sau đó, tôi thiết lập các phân đoạn trên một bảng có đủ không gian giữa chúng để kiểm tra sao cho chúng không di chuyển thành đoạn này và đoạn khác trong khi thiết lập giới hạn đi lại và chỉ đường. Nếu bạn cố gắng đặt chúng gần nhau, bạn sẽ có thể có một hoặc hai người cố gắng di chuyển sai hướng hoặc di chuyển quá mức ở một số giai đoạn và va vào một giai đoạn khác có thể làm hỏng phân đoạn, cánh tay servo hoặc làm bong các bánh răng trên servo.

Bước 5: Tải lên mã

Tải lên mã
Tải lên mã
Tải lên mã
Tải lên mã
Tải lên mã
Tải lên mã

Đoạn mã thoạt nhìn có vẻ phức tạp, nhưng thực ra nó tương đối đơn giản nhờ vào hai thư viện được sử dụng. Cũng có rất nhiều sự lặp lại vì có bốn màn hình 7 phân đoạn khác nhau cần được cập nhật.

Đây là phần mô tả tóm tắt của code, các bạn xem hướng dẫn đầy đủ để được giải thích chi tiết hơn và link tải code - Đồng Hồ Hiển Thị Cơ 7 Đoạn

Chúng tôi bắt đầu bằng cách nhập hai thư viện, VirtuabotixRTC.h cho mô-đun đồng hồ và Adafruit_PWMServoDriver.h cho các trình điều khiển servo. Thư viện Adafruit có thể được tải xuống và cài đặt trực tiếp thông qua trình quản lý thư viện trong IDE.

Sau đó, chúng tôi tạo một đối tượng cho mỗi bảng điều khiển với địa chỉ liên quan, một cho các chữ số giờ và một cho các chữ số phút.

Sau đó, chúng tôi có bốn mảng để lưu trữ các vị trí bật và tắt cho mỗi servo. Bạn sẽ cần phải điều chỉnh những con số này trong các bước tiếp theo để đảm bảo rằng các servo của bạn thẳng đứng khi bật, xoay 90 độ khi tắt và không di chuyển quá mức.

Một mảng chữ số lưu trữ vị trí của mỗi đoạn cho mỗi chữ số được hiển thị.

Sau đó, chúng tôi thiết lập mô-đun đồng hồ và tạo các biến để lưu trữ các chữ số riêng lẻ hiện tại và quá khứ.

Trong chức năng thiết lập, chúng tôi khởi động và thiết lập bảng điều khiển PWM cũng như cập nhật thời gian đồng hồ nếu được yêu cầu. Sau đó, chúng tôi chạy qua một vòng lặp để đặt màn hình thành 8 8: 8 8 để chúng tôi biết vị trí bắt đầu của tất cả các Servos. Điều này cũng được sử dụng để thiết lập các Servos sao cho tất cả chúng đều hướng lên trên một cách chính xác.

Trong vòng lặp chính, chúng tôi lấy thời gian cập nhật từ mô-đun đồng hồ, đổ nó vào bốn chữ số và sau đó kiểm tra xem thời gian có thay đổi so với lần kiểm tra cuối cùng hay không. Nếu thời gian đã thay đổi thì chúng tôi cập nhật màn hình hiển thị và sau đó cập nhật các chữ số trước đó.

Trong chức năng hiển thị cập nhật, trước tiên chúng ta di chuyển các phân đoạn ở giữa. Điều này được thực hiện đầu tiên vì cần có một số logic để di chuyển hai phân đoạn trên cùng liền kề với phân đoạn giữa ra khỏi đường một chút trước khi di chuyển phân đoạn giữa, nếu không nó sẽ va vào chúng. Khi các phân đoạn ở giữa được di chuyển thì các phân đoạn còn lại sẽ được di chuyển đến các vị trí chính xác.

Bước 6: Lắp ráp đồng hồ trên bo mạch sau

Lắp ráp đồng hồ trên bo mạch sau
Lắp ráp đồng hồ trên bo mạch sau
Lắp ráp đồng hồ trên bo mạch sau
Lắp ráp đồng hồ trên bo mạch sau
Lắp ráp đồng hồ trên bo mạch sau
Lắp ráp đồng hồ trên bo mạch sau

Khi tôi đã hoàn tất quá trình kiểm tra, tôi đã lắp ráp các servo vào bo mạch sau bằng cách sử dụng cách bố trí trên làm hướng dẫn.

Khu vực màu trắng là kích thước bảng tổng thể, màu xám nhạt hơn là khu vực xung quanh mỗi chữ số nơi các phân đoạn servo di chuyển vào và đường viền trên khu vực màu xám đậm là đường chính giữa cho 6 phân đoạn bên ngoài cho mỗi chữ số.

Tôi cắt bảng, đánh dấu bố cục và sau đó dán các chữ số vào vị trí để tạo thành mặt đồng hồ.

Sau đó, tôi khoan các lỗ gần mỗi servo và luồn dây qua mặt sau của bo mạch để chúng ít bị nhìn thấy hơn.

Tôi gắn các thiết bị điện tử vào mặt sau của đồng hồ bằng băng dính hai mặt.

Bước 7: Thiết lập và vận hành lần cuối

Thiết lập và vận hành cuối cùng
Thiết lập và vận hành cuối cùng
Thiết lập và vận hành cuối cùng
Thiết lập và vận hành cuối cùng
Thiết lập và vận hành cuối cùng
Thiết lập và vận hành cuối cùng
Thiết lập và vận hành cuối cùng
Thiết lập và vận hành cuối cùng

Khi tất cả các servo đã sẵn sàng, tôi đã tháo tất cả các nhánh servo để có những điều chỉnh cuối cùng đối với vị trí của các phân đoạn. Bạn nên bật nguồn Arduino ở trạng thái này để hiển thị 8 8: 8 8 và sau đó ngắt kết nối nguồn, điều này sẽ tập trung lại tất cả các Servo của bạn để bạn có thể đặt các nhánh servo trở lại với các phân đoạn quay gần với chiều dọc càng tốt.

Sau đó, bạn sẽ cần phải tuần tự cấp nguồn cho Arduino của mình và thực hiện các điều chỉnh đối với vị trí bật và tắt phân đoạn của bạn trong bốn mảng của bạn để các servo hoàn toàn thẳng đứng khi bật và xoay 90 độ khi tắt mà không di chuyển quá mức. Bước này khá mất thời gian và cần một chút kiên nhẫn nhưng thành quả cuối cùng rất xứng đáng!

Đồng hồ có thể được cấp nguồn bằng cách sử dụng nguồn điện 12V và 5V BEC được kết nối với nó. Nếu mất điện, pin trên mô-đun RTC sẽ giữ nguyên thời gian để khi có điện trở lại, đồng hồ sẽ tự động đặt lại về thời gian chính xác.

Nếu bạn thích Nội dung có thể hướng dẫn này, vui lòng bỏ phiếu cho nó trong cuộc thi Đồng hồ và cho tôi biết về bất kỳ cải tiến hoặc đề xuất nào mà bạn có thể đưa ra trong phần nhận xét bên dưới.

Cuộc thi đồng hồ
Cuộc thi đồng hồ
Cuộc thi đồng hồ
Cuộc thi đồng hồ

Giải nhì cuộc thi đồng hồ

Đề xuất: