Mục lục:

LEDura - Đồng hồ LED tương tự: 12 bước (có hình ảnh)
LEDura - Đồng hồ LED tương tự: 12 bước (có hình ảnh)

Video: LEDura - Đồng hồ LED tương tự: 12 bước (có hình ảnh)

Video: LEDura - Đồng hồ LED tương tự: 12 bước (có hình ảnh)
Video: CSF Leaks - What the POTS Community Should Know, presented by Dr. Ian Carroll 2024, Tháng bảy
Anonim
LEDura - Đồng hồ LED tương tự
LEDura - Đồng hồ LED tương tự
LEDura - Đồng hồ LED tương tự
LEDura - Đồng hồ LED tương tự
LEDura - Đồng hồ LED tương tự
LEDura - Đồng hồ LED tương tự

Dự án Tinkercad »

Sau một thời gian dài chỉ thực hiện các dự án khác nhau, tôi quyết định tự mình làm một người hướng dẫn. Đối với phần đầu tiên, tôi sẽ hướng dẫn bạn quy trình tạo đồng hồ kim của riêng bạn được làm bằng vòng LED địa chỉ tuyệt vời. Vòng trong hiển thị giờ, vòng ngoài hiển thị phút và giây.

Ngoài hiển thị thời gian, đồng hồ còn có thể hiển thị nhiệt độ phòng và nó có thể là một vật trang trí rất đẹp trong phòng. Cứ sau 15 phút, đồng hồ cũng tạo ra một số hiệu ứng đặc biệt - video hiển thị tất cả, hãy nhớ xem. Với sự trợ giúp của 2 nút bấm và chiết áp, người dùng có thể lựa chọn giữa các chế độ và màu sắc modifie khác nhau theo ý muốn của mình. Tôi cũng đã nâng cấp nó để tự động làm mờ đèn LED nếu phòng tối, vì vậy người dùng sẽ không bị quấy rầy vào ban đêm.

Đồng hồ có thể được đặt trên bàn làm việc, bàn đầu giường hoặc treo trên tường.

Lưu ý: Hình ảnh không đẹp như trong thực tế vì độ sáng cao.

Bước 1: Làm thế nào để đọc nó?

Làm thế nào để đọc nó?
Làm thế nào để đọc nó?

Đồng hồ có 2 vòng - một vòng nhỏ hơn để hiển thị giờ và một vòng lớn hơn để hiển thị phút và giây. Một số đèn LED phát sáng mọi lúc - một cái gọi là la bàn chỉ ra các vị trí chính của đồng hồ. Trên vòng giờ, nó đại diện cho 3, 6, 9 và 12 ', trên vòng phút, nó đại diện cho 15, 30, 45 và 0 phút.

Bước 2: Bạn sẽ cần gì

Bạn sẽ cần gì
Bạn sẽ cần gì

Vật liệu:

  • 1x Arduino Nano (bạn cũng có thể sử dụng bất kỳ Arduino nào khác)
  • 1x mô-đun RealTimeClock DS3231
  • 1x Vòng dẫn có thể định địa chỉ - 60 đèn LED
  • 1x Vòng dẫn có thể định địa chỉ - 24 đèn LED
  • 2x Nút (KHÔNG - mở bình thường)
  • Chiết áp 1x 100kOhm
  • Nguồn điện 1x 5V (có khả năng cung cấp 1 Amp)
  • 1x Đầu nối nguồn cung cấp
  • Một số dây
  • 1x điện trở 10kOhm
  • 1x điện trở quang
  • Prefboard (tùy chọn)
  • Đầu nối dây khối đầu cuối (tùy chọn)
  • Gỗ dày 25mm, kích thước tối thiểu là 22cmx22cm
  • Thảm nhựa PVC mỏng 1mm kích thước 20cmx20xm

Công cụ:

  • Dụng cụ cơ bản để xây dựng thiết bị điện tử (mỏ hàn, kìm, tuốc nơ vít,…)
  • Máy khoan
  • Súng bắn keo nóng
  • Giấy nhám và một ít dầu bóng gỗ
  • Máy CNC (có thể một số bạn bè có nó)

Bước 3: Linh kiện Điện tử - Nền

Linh kiện Điện tử - Nền
Linh kiện Điện tử - Nền
Linh kiện Điện tử - Nền
Linh kiện Điện tử - Nền
Linh kiện Điện tử - Nền
Linh kiện Điện tử - Nền

DS3231

Chúng tôi có thể xác định thời gian bằng cách sử dụng bộ tạo dao động và bộ đếm thời gian của Arduinos, nhưng tôi quyết định sử dụng mô-đun Đồng hồ thời gian thực (RTC) chuyên dụng, có thể theo dõi thời gian ngay cả khi chúng tôi ngắt kết nối đồng hồ khỏi nguồn điện của nó. Bo mạch DS3231 có pin, cung cấp năng lượng khi mô-đun không được kết nối với nguồn điện. Nó cũng chính xác hơn trong khoảng thời gian dài hơn so với nguồn đồng hồ Arduinos.

DS3231 RTC sử dụng giao diện I2C để giao tiếp với bộ điều khiển vi mô - rất đơn giản để sử dụng và chúng ta chỉ cần 2 dây để giao tiếp với nó. Mô-đun cũng cung cấp cảm biến nhiệt độ, sẽ được sử dụng trong dự án này.

Quan trọng: Nếu bạn định sử dụng pin không thể sạc lại cho mô-đun RTC, bạn nên khử hàn điện trở 200 ohm hoặc diode 1N4148. Nếu không, pin của bạn có thể bị nổ. Thông tin thêm có thể được tìm thấy trên liên kết này.

Vòng LED WS2812

Tôi quyết định sử dụng 60 vòng LED để theo dõi phút và 24 vòng LED trong nhiều giờ. Bạn có thể tìm thấy chúng trên Adafruit (neoPixel ring) hoặc một số phiên bản giá rẻ trên eBay, Aliexpress hoặc các cửa hàng web khác. Có một sự đa dạng lớn giữa các dải đèn led có thể định địa chỉ và nếu đây là lần đầu tiên bạn chơi với chúng, tôi khuyên bạn nên đọc qua một số mô tả sử dụng - đây là một số liên kết hữu ích:

https://www.tweaks4all.com/hardware/arduino/adr…

https://randomnerdtutorials.com/guide-for-ws2812b…

Dải LED định vị có 3 đầu nối: 5V, GND và DI / DO. Hai đầu tiên là để cấp nguồn cho đèn LED, cuối cùng là cho dữ liệu. Hãy cẩn thận khi kết nối vòng với Arduino - đường dữ liệu của bạn phải được kết nối với chân DI (data IN).

Arduino

Tôi đang sử dụng Arduino Nano vì nó đủ nhỏ và đủ cho dự án này. Bạn có thể sử dụng gần như bất kỳ Arduino nào khác, nhưng sau đó bạn phải cẩn thận khi kết nối mọi thứ với nó. Các nút và vòng LED có thể nằm trên cùng một chân, nhưng các đầu nối I2C (cho mô-đun RTC) có thể khác nhau giữa các nền tảng - hãy xem biểu dữ liệu của chúng.

Bước 4: Điện tử - Nguồn điện

Điện tử - Nguồn điện
Điện tử - Nguồn điện

Arduino và dải LED đều phải được cung cấp nguồn điện 5V để chúng ta biết điện áp nào là cần thiết. Vì đèn LED đổ chuông nên nó thu hút khá nhiều ampe nên chúng tôi không thể cấp nguồn trực tiếp cho nó bằng Arduino, vốn có thể chịu được tối đa 20mA trên đầu ra kỹ thuật số của nó. Theo phép đo của tôi, các vòng LED có thể cùng nhau tạo ra tới 500 mA. Đó là lý do tại sao tôi mua một bộ chuyển đổi có khả năng cung cấp lên đến 1A.

Với cùng một nguồn điện, chúng ta muốn cấp nguồn cho Arduino và đèn LED - ở đây bạn phải cẩn thận.

Cảnh báo! Hãy hết sức cẩn thận khi bạn đang kiểm tra dải đèn LED - bộ chuyển đổi nguồn KHÔNG được kết nối với Arduino, khi Arduino cũng được kết nối với PC bằng đầu nối USB (bạn có thể làm hỏng cổng USB của máy tính).

Lưu ý: Trong sơ đồ bên dưới, tôi đã sử dụng công tắc bình thường để chọn xem Arduino được cấp nguồn qua nguồn điện hay qua đầu nối USB. Nhưng trên bảng điều khiển, bạn có thể thấy rằng tôi đã thêm một tiêu đề chân để chọn nguồn điện Arduino được cấp.

Bước 5: Điện tử - Hàn

Điện tử - Hàn
Điện tử - Hàn
Điện tử - Hàn
Điện tử - Hàn
Điện tử - Hàn
Điện tử - Hàn
Điện tử - Hàn
Điện tử - Hàn

Khi bạn tập hợp tất cả các bộ phận đó là lúc để hàn chúng lại với nhau.

Vì tôi muốn làm cho hệ thống dây điện gọn gàng, tôi đã sử dụng perfboard và một số đầu nối khối thiết bị đầu cuối cho dây dẫn, vì vậy tôi có thể rút phích cắm của chúng trong trường hợp sửa đổi. Đây là tùy chọn - bạn cũng có thể hàn dây trực tiếp với Arduino.

Một mẹo: sẽ dễ dàng hơn nếu bạn in các sơ đồ để bạn có nó trước mặt trong khi hàn. Và kiểm tra kỹ mọi thứ trước khi kết nối với nguồn điện.

Bước 6: Phần mềm - Nền

Arduino IDE

Chúng tôi sẽ lập trình Arduino bằng phần mềm chuyên dụng của nó: Arduino IDE. Nếu bạn đang chơi với Arduino lần đầu tiên, tôi khuyên bạn nên xem một số tài liệu hướng dẫn về cách thực hiện. Đã có rất nhiều hướng dẫn trên web, vì vậy tôi sẽ không đi vào chi tiết.

Thư viện

Tôi quyết định sử dụng thư viện FastLED thay vì Adafruit phổ biến. Nó có một số hàm toán học gọn gàng mà bạn có thể tạo ra các hiệu ứng tuyệt vời (Đồng ý với các nhà phát triển!). Bạn có thể tìm thấy thư viện trên kho lưu trữ GitHub của họ, nhưng tôi đã thêm tệp.zip của phiên bản mà tôi đang sử dụng vào mã của mình.

Nếu bạn đang tự hỏi, làm thế nào để thêm thư viện bên ngoài vào Arduino IDE, bạn có thể kiểm tra một số hướng dẫn đã được thực hiện

Đối với mô-đun đồng hồ, tôi đã sử dụng thư viện Arduino cho đồng hồ thời gian thực (RTC) DS3231 (liên kết), bạn có thể dễ dàng cài đặt trong Arduino IDE. Khi bạn đang ở trong IDE, hãy nhấp vào Phác thảo → Bao gồm thư viện → Quản lý thư viện… và sau đó lọc tìm kiếm của bạn với tên ở trên.

Lưu ý: Vì một số lý do, tôi hiện không thể thêm tệp.zip. Bạn có thể tìm thấy thư viện trên kho lưu trữ GitHub của tôi.

Bước 7: Phần mềm - Mã

Phần mềm - Mã
Phần mềm - Mã
Phần mềm - Mã
Phần mềm - Mã

Kết cấu

Ứng dụng được xây dựng với 4 tệp:

  • LEDclokc.ino Đây là ứng dụng Arduino chính, nơi bạn có thể tìm thấy các chức năng để điều khiển toàn bộ đồng hồ - chúng bắt đầu bằng tiền tố CLOCK_.
  • LEDclokc.h đây là định nghĩa kết nối chân và một số cấu hình đồng hồ.
  • ring.cpp và ring.h đây là mã của tôi để điều khiển các vòng LED.

LEDclock.h

Ở đây bạn sẽ tìm thấy tất cả các định nghĩa về đồng hồ. Trong đầu, có các định nghĩa cho hệ thống dây điện. Đảm bảo rằng chúng giống với các kết nối của bạn. Sau đó, có các cấu hình đồng hồ - ở đây bạn có thể tìm thấy macro cho số chế độ mà đồng hồ có.

LEDclock.ino

Trên sơ đồ, vòng lặp chính được biểu diễn. Đầu tiên, mã sẽ kiểm tra xem có nút nào được nhấn không. Vì bản chất của các thiết bị chuyển mạch, chúng ta phải sử dụng phương pháp gỡ lỗi để đọc các giá trị của chúng (bạn có thể đọc thêm về điều này trên liên kết).

Khi nhấn nút 1, chế độ biến đổi sẽ tăng lên 1, nếu nhấn nút 2, chế độ biến đổi được nâng lên. Chúng tôi sử dụng các biến này để xác định chế độ đồng hồ mà chúng tôi muốn xem. Nếu cả hai nút được nhấn cùng một lúc, hàm CLOCK_setTime () sẽ được gọi để bạn có thể thay đổi thời gian của đồng hồ.

Đoạn mã sau đó đọc giá trị của chiết áp và lưu trữ nó vào biến - người dùng biến này có thể thay đổi màu sắc của đồng hồ, độ sáng, v.v.

Sau đó, có một câu lệnh switch-case. Ở đây chúng tôi xác định đồng hồ hiện đang ở chế độ nào và theo chế độ đó, chức năng tương ứng được gọi, thiết lập màu đèn LED. Bạn có thể thêm các chế độ đồng hồ của riêng mình và viết lại hoặc sửa đổi các chức năng.

Như được mô tả trong thư viện FastLED, bạn phải gọi hàm FastLED.show () để chuyển các đèn LED sang màu mà chúng ta đã thiết lập trước đó.

Bạn có thể tìm thấy nhiều mô tả chi tiết hơn giữa các dòng mã

Toàn bộ mã được đính kèm bên dưới trong các tệp bên dưới.

MẸO: bạn có thể tìm thấy toàn bộ dự án trên kho lưu trữ GitHub của tôi. Ở đây mã cũng sẽ được cập nhật nếu tôi sẽ thêm bất kỳ thay đổi nào vào nó.

Bước 8: Chế tạo đồng hồ

Làm đồng hồ
Làm đồng hồ
Làm đồng hồ
Làm đồng hồ
Làm đồng hồ
Làm đồng hồ

Khung đồng hồ

Tôi chế tạo khung đồng hồ bằng máy CNC và gỗ dày 25mm. Bạn có thể tìm thấy bản phác thảo được vẽ trong ProgeCAD đính kèm dưới đây. Các khe cho vòng LED lớn hơn một chút, bởi vì các nhà sản xuất chỉ cung cấp các phép đo đường kính ngoài - trong có thể khác nhau khá nhiều… Ở mặt sau của đồng hồ, có rất nhiều không gian cho các thiết bị điện tử và dây dẫn.

Vòng PVC

Bởi vì đèn LED khá sáng nên bằng cách nào đó rất tốt để khuếch tán chúng. Đầu tiên, tôi đã thử với silicone trong suốt, nó thực hiện công việc khuếch tán, nhưng nó khá lộn xộn và rất khó để làm mịn nó trên đầu trang. Đó là lý do tại sao tôi đặt hàng một miếng nhựa PVC “sữa” 20x20 cm và cắt hai vòng trong đó bằng máy CNC. Bạn có thể sử dụng giấy nhám để làm mềm các cạnh để các vòng trượt trong các khe.

Lỗ bên

Sau đó là thời gian để khoan các lỗ cho các nút, chiết áp và đầu nối nguồn điện. Đầu tiên, vẽ mọi vị trí bằng bút chì, sau đó khoan lỗ. Ở đây, nó phụ thuộc vào loại nút bạn có - Tôi đã chọn các nút nhấn có đầu hơi cong. Chúng có đường kính 16mm nên tôi đã sử dụng máy khoan gỗ có kích thước đó. Tương tự đối với chiết áp và đầu nối nguồn. Hãy chắc chắn xóa tất cả các hình vẽ bằng bút chì sau đó.

Bước 9: Vẽ trong gỗ

Vẽ trong rừng
Vẽ trong rừng
Vẽ trong rừng
Vẽ trong rừng
Vẽ trong rừng
Vẽ trong rừng

Tôi quyết định vẽ một số chỉ số đồng hồ bằng gỗ - ở đây bạn có thể sử dụng trí tưởng tượng và thiết kế của riêng mình. Tôi đốt gỗ bằng cách sử dụng mỏ hàn, nung nóng đến nhiệt độ tối đa.

Để các hình tròn được tròn đẹp mắt, tôi dùng một miếng nhôm, khoan một lỗ vào đó và dùng mỏ hàn nối các cạnh của lỗ đó lại (nhìn vào hình). Đảm bảo rằng bạn đang cầm nhôm chắc chắn để không bị trượt khi vẽ. Và hãy thận trọng trong khi thực hiện để tránh bị thương.

Nếu bạn đang tạo bản vẽ và muốn chúng được căn chỉnh phù hợp với các pixel đồng hồ, bạn có thể sử dụng “Chế độ bảo trì”, chế độ này sẽ cho bạn biết vị trí các pixel sẽ được đặt (chuyển đến chương Lắp ráp).

Bảo vệ gỗ

Khi bạn hài lòng với chiếc đồng hồ, đó là lúc bạn nên chà nhám và bảo vệ nó bằng vecni gỗ. Tôi đã sử dụng giấy nhám rất mềm (giá trị 500) để làm mềm các cạnh. Tôi khuyên bạn nên sử dụng vecni gỗ trong suốt để màu sắc của gỗ không thay đổi. Cho một lượng nhỏ dầu bóng lên bàn chải và kéo theo hướng của các hình hàng năm trên gỗ. Lặp lại nó ít nhất 2 lần.

Bước 10: Assamble

Assamble
Assamble
Assamble
Assamble
Assamble
Assamble

Firs đặt các nút và chiết áp vào vị trí của chúng - nếu lỗ của bạn quá lớn, bạn có thể sử dụng một ít keo nóng để cố định chúng tại chỗ. Sau đó, đặt dải vòng vào các khe của nó và kết nối dây của nó với Arduino. Trước khi bạn dán vòng LED vào vị trí của nó, tốt nhất là bạn phải chắc chắn rằng các điểm ảnh LED đã ở đúng vị trí - căn giữa và thẳng hàng với bản vẽ. Vì mục đích đó, tôi đã thêm cái gọi là Chế độ bảo trì sẽ hiển thị tất cả các pixel quan trọng (0, 5, 10, 15,… trên chuông phút và 3, 6, 9 và 12 trên chuông giờ). Bạn có thể vào chế độ này bằng cách nhấn và giữ cả hai nút trước khi cắm nguồn điện vào đầu nối. Bạn có thể thoát khỏi chế độ này bằng cách nhấn bất kỳ nút nào.

Khi bạn đã căn chỉnh các vòng đèn LED, hãy bôi một ít keo nóng và giữ chúng trong khi keo trở nên chắc chắn. Sau đó, lấy các vòng PVC của bạn và một lần nữa: bôi một ít keo nóng vào đèn LED, nhanh chóng định vị chúng và giữ chúng trong vài giây. Cuối cùng, khi bạn chắc chắn rằng mọi thứ đều hoạt động, bạn có thể dán keo nóng từng bảng (hoặc Arduino) vào gỗ. Mẹo: không bôi nhiều keo. Chỉ cần một lượng nhỏ để nó giữ ở một nơi nhưng bạn có thể dễ dàng lấy ra nếu bạn muốn thay đổi thứ gì đó sau này.

Cuối cùng, hãy lắp pin đồng xu vào ngăn chứa của nó.

Bước 11: Nâng cấp - Điện trở quang

Nâng cấp - Điện trở quang
Nâng cấp - Điện trở quang
Nâng cấp - Điện trở quang
Nâng cấp - Điện trở quang
Nâng cấp - Điện trở quang
Nâng cấp - Điện trở quang

Hiệu ứng đồng hồ đặc biệt đẹp trong bóng tối. Nhưng điều này có thể làm phiền người dùng của nó vào ban đêm, trong khi họ ngủ. Đó là lý do tại sao tôi quyết định nâng cấp đồng hồ với tính năng tự động điều chỉnh độ sáng - khi phòng tối đi; đồng hồ tắt đèn LED của nó.

Với mục đích đó, tôi đã sử dụng cảm biến ánh sáng - quang điện trở. Sức đề kháng của nó sẽ tăng lên đáng kể; lên đến vài mega ohms khi trời tối và sẽ chỉ còn vài trăm ohms khi có ánh sáng chiếu vào. Cùng với một điện trở bình thường, chúng tạo thành bộ chia điện áp. Vì vậy, khi điện trở của cảm biến ánh sáng thay đổi, điện áp trên chân tương tự của Arduino (mà chúng ta có thể đo được) cũng vậy.

Trước khi hàn và lắp ráp bất kỳ mạch nào, điều khôn ngoan là nên mô phỏng nó trước, vì vậy bạn có thể nhìn thấy hành vi và sửa chữa. Hãy nhờ sự trợ giúp của Autocad Tinkercad bạn có thể làm chính xác điều đó! Chỉ với một vài cú nhấp chuột, tôi đã thêm các thành phần, kết nối chúng và viết mã. Trong mô phỏng, bạn có thể thấy độ sáng của đèn LED được thay đổi như thế nào theo giá trị của điện trở quang. Nó rất đơn giản và dễ hiểu - bạn có thể thoải mái chơi với mạch.

Sau khi mô phỏng, đã đến lúc thêm tính năng vào đồng hồ. Tôi khoan một lỗ ở giữa đồng hồ, dán điện trở hình ảnh, kết nối nó giống như nó có thể nhìn thấy trên mạch và thêm vài dòng mã. Trong tệp LEDclock.h, bạn phải bật tính năng này bằng cách khai báo USE_PHOTO_RESISTOR là 1. Bạn cũng có thể thay đổi độ sáng phòng mà đồng hồ sẽ làm mờ đèn LED bằng cách thay đổi giá trị CLOCK_PHOTO_TRESHOLD.

Bước 12: Tận hưởng

Khi bạn bật nguồn lần đầu tiên, đồng hồ sẽ hiển thị một số thời gian ngẫu nhiên. Bạn có thể thiết lập nó bằng cách nhấn cả hai nút cùng một lúc. Xoay núm để chọn thời điểm thích hợp và xác nhận nó bằng cách nhấn bất kỳ nút nào.

Tôi tìm thấy nguồn cảm hứng trong một số dự án rất gọn gàng trên internet. Nếu bạn quyết định tự chế tạo đồng hồ, hãy xem chúng! (NeoClock, Đồng hồ Wol, Đồng hồ đầy màu sắc Arduino) Nếu bạn quyết định thử làm theo các hướng dẫn, tôi hy vọng bạn sẽ thấy việc đó thú vị như tôi đã làm.

Nếu bạn gặp bất kỳ rắc rối nào trong quá trình thực hiện, vui lòng hỏi tôi bất kỳ câu hỏi nào trong phần nhận xét - tôi sẽ sẵn lòng giải đáp!

Đề xuất: