Mục lục:

Đồng hồ báo thức nhị phân dựa trên Arduino: 13 bước (có hình ảnh)
Đồng hồ báo thức nhị phân dựa trên Arduino: 13 bước (có hình ảnh)

Video: Đồng hồ báo thức nhị phân dựa trên Arduino: 13 bước (có hình ảnh)

Video: Đồng hồ báo thức nhị phân dựa trên Arduino: 13 bước (có hình ảnh)
Video: Một Lỗi Sai Cơ Bản Của Sinh Viên Đại Học Lần Đầu Học Lập Trình Tại Úc #shorts 2024, Tháng bảy
Anonim
Image
Image

Theo Kỹ thuật Tầng hầm

Bộ đếm người tự làm bằng Laser
Bộ đếm người tự làm bằng Laser
Xây dựng thuyền tự lái (ArduPilot Rover)
Xây dựng thuyền tự lái (ArduPilot Rover)
Xây dựng một chiếc thuyền tự lái (ArduPilot Rover)
Xây dựng một chiếc thuyền tự lái (ArduPilot Rover)
Đèn ngủ hoàn hảo và đế cắm điện thoại
Đèn ngủ hoàn hảo và đế cắm điện thoại
Đèn ngủ hoàn hảo và đế cắm điện thoại
Đèn ngủ hoàn hảo và đế cắm điện thoại

Về: Xin chào, tôi tên Jan và tôi là một nhà sản xuất, tôi thích xây dựng và sáng tạo và tôi cũng khá giỏi trong việc sửa chữa đồ đạc. Vì tôi có thể nghĩ rằng tôi luôn thích tạo ra những thứ mới và đó là những gì tôi tiếp tục làm cho đến khi… Tìm hiểu thêm về Kỹ thuật tầng hầm »

Này, hôm nay tôi muốn chỉ cho bạn cách xây dựng một trong những dự án mới nhất của tôi, đồng hồ báo thức nhị phân của tôi.

Có rất nhiều đồng hồ Nhị phân khác nhau trên internet, nhưng đây thực sự có thể là đồng hồ đầu tiên, được làm từ dải đèn LED có thể địa chỉ đầy màu sắc, cũng có chức năng báo thức và các nút cảm ứng, để đặt những thứ như thời gian và màu sắc.

Xin đừng để vẻ ngoài phức tạp của nó làm bạn sợ hãi. Với một chút giải thích, đọc nhị phân thực sự không khó như nó có vẻ. Và nếu bạn sẵn sàng học một điều gì đó mới, tôi muốn giúp bạn làm điều đó sau này.

Hãy để tôi kể cho bạn nghe một chút về câu chuyện đằng sau dự án này:

Ban đầu tôi dự định chế tạo một chiếc đồng hồ "bình thường", sử dụng đèn LED làm kim, nhưng tôi không có đủ đèn LED trong tay.

Sooo, bạn sẽ làm gì khi muốn hiển thị thời gian với càng ít đèn LED càng tốt?

Bạn chuyển sang hệ nhị phân, và đó chính xác là những gì tôi đã làm ở đây.

Đồng hồ này là phiên bản thứ ba của loại đồng hồ này. Tôi đã xây dựng một nguyên mẫu rất đơn giản ngay sau khi ý tưởng dự án đến với tôi và mang nó đến Maker Faire ở Hannover, để xem mọi người nghĩ gì về nó. Trong khi tôi ở đó, tôi đã nhận được rất nhiều phản hồi rất tích cực và thú vị cũng như những ý tưởng cải tiến.

Kết quả của tất cả những ý tưởng và hàng giờ suy nghĩ, mày mò và lập trình đó là chiếc đồng hồ báo thức nhỏ trông khá thú vị này, có nhiều tính năng hơn phiên bản 1.0 và hôm nay chúng ta sẽ xem xét từng bước của quá trình xây dựng, vì vậy bạn có thể dễ dàng tự xây dựng một cái.

Ngoài ra còn có một Video rất chi tiết trên Youtube, trong trường hợp bạn không muốn đọc mọi thứ.

Bước 1: Nhận nội dung của bạn

Nhận nội dung của bạn
Nhận nội dung của bạn
Nhận nội dung của bạn
Nhận nội dung của bạn
Nhận nội dung của bạn
Nhận nội dung của bạn

Dưới đây là một danh sách nhỏ về tất cả các thành phần và công cụ mà bạn sẽ cần để xây dựng đồng hồ nhị phân của riêng mình.

Thiết bị điện tử:

  • 18 LED Ws2811 có thể nhấn vào (ví dụ: Neopixels) trên một dải với 60 LED mỗi m (ebay)
  • Arduino Nano (với bộ xử lý ATMega328) (ebay)
  • 1307 Mô-đun RTC (ebay)
  • 4X nút cảm ứng điện dung (ebay)
  • Cảm biến nhiệt độ kỹ thuật số bs18b20 (ebay)
  • LDR (ebay)
  • loa máy tính xách tay / điện thoại thông minh hoặc bộ rung piezo
  • Bóng bán dẫn NPN 2222A (hoặc thứ gì đó tương tự)
  • tiêu đề nam
  • tiêu đề phụ nữ có góc cạnh (ebay)
  • Điện trở 1kOhm
  • Điện trở 4, 7kOhm
  • Điện trở 10kOhm
  • Dây điện
  • 7x5cm tạo mẫu PCB lỗ 24x18 (ebay)
  • dây bạc (dây trang sức) (ebay)
  • Bộ chuyển đổi USB mini 90 ° (ebay)

Vật liệu khác

  • Bọc vinyl
  • Vít đầu mặt bích 4X 45mm m4 (ebay)
  • Vòng đệm kim loại 32X m4
  • Đai ốc khóa 4X m4
  • 28X m4 đai ốc
  • Ngừng PCB bằng đồng thau 4X 10mm m3 (ebay)
  • Vít 8X 8mm m3 (ebay)
  • tấm nhôm
  • Tấm acrylic trắng sữa 2 mm
  • Tấm acrylic trong suốt 2mm
  • Tấm MDF 3 mm
  • băng keo hai mặt

Công cụ

  • cáp USB mini
  • máy tính chạy Arduino IDE
  • Mũi khoan 3, 5 mm
  • Mũi khoan 4, 5 mm
  • máy khoan điện
  • dao cắt
  • cưa đối phó
  • ion hàn
  • kéo cắt kim loại
  • tập tin
  • giấy cát

Mẫu (hiện có kích thước)

  • PDF
  • Bản vẽ văn phòng nhẹ nhàng

Mã số

  • Bản phác thảo
  • Thư viện nút
  • Thư viện hẹn giờ
  • Thư viện Jukebox
  • RTClib được sửa đổi
  • Thư viện Adafruit Neopixel
  • Arduino-Nhiệt độ-Điều khiển-Thư viện

Bước 2: Cắt mặt trước và mặt sau

Cắt mặt trước và mặt sau
Cắt mặt trước và mặt sau
Cắt mặt trước và mặt sau
Cắt mặt trước và mặt sau
Cắt mặt trước và mặt sau
Cắt mặt trước và mặt sau
Cắt mặt trước và mặt sau
Cắt mặt trước và mặt sau

Phần đầu tiên chúng tôi sẽ làm là bảng điều khiển phía trước bằng acrylic. Chúng tôi đánh dấu nơi chúng tôi muốn vết cắt của mình đi đến, đồng thời ghi nhớ rằng chúng tôi muốn có một chút khoan dung cho việc chà nhám. Sau đó, chúng tôi chỉ cần cạo acrylic bằng dao cắt của chúng tôi. Sau khi chúng tôi làm điều đó trong 10 đến 20 lần, chúng tôi có một rãnh. Sau đó, chúng tôi có thể đặt lùm cây đó trên cạnh bàn và uốn cong acrylic cho đến khi nó bị vỡ.

Sau khi tấm nền phía trước được cắt theo kích thước, chúng tôi cắt tấm phía sau ra khỏi một miếng MDF. Chúng tôi có thể sử dụng cưa đối phó của chúng tôi cho việc này nhưng một con dao cắt cũng hoạt động. Chúng ta chỉ cần kẹp MDF lên một mảnh gỗ vụn và dùng dao cắt cạo nó cho đến khi lưỡi dao xuyên qua và chúng ta có hai mảnh riêng lẻ.

Bây giờ chúng ta kẹp hai tấm lại với nhau và chà nhám mỗi bên để liên kết hoàn hảo.

Sau khi hoàn thành, chúng tôi cắt mẫu đầu tiên và đặt nó lên hai tấm bằng cách sử dụng một số băng và bắt đầu khoan các lỗ đã đánh dấu.

Đầu tiên, chúng tôi khoan một lỗ 4, 5 mm vào mỗi 4 góc. Vì acrylic rất giòn và chúng tôi không muốn nó bị vỡ, chúng tôi sẽ bắt đầu với một mũi khoan nhỏ và làm việc theo cách của chúng tôi cho đến khi chúng tôi đạt được đường kính lỗ mong muốn. Sau đó, chúng tôi sử dụng khuôn mẫu để chà nhám các góc cho đúng hình dạng.

Bước 3: Hoàn thiện bảng điều khiển phía sau

Hoàn thành bảng điều khiển phía sau
Hoàn thành bảng điều khiển phía sau
Hoàn thành bảng điều khiển phía sau
Hoàn thành bảng điều khiển phía sau
Hoàn thành bảng điều khiển phía sau
Hoàn thành bảng điều khiển phía sau
Hoàn thành bảng điều khiển phía sau
Hoàn thành bảng điều khiển phía sau

Hiện tại, chúng tôi có thể đặt bảng điều khiển phía trước sang một bên và dán mẫu thứ hai lên bảng điều khiển phía sau, nơi chúng tôi cần sử dụng mũi khoan 3, 5mm để khoan các lỗ cho 4 pcb standoffs của chúng tôi, cũng như 4 lỗ đánh dấu các cạnh cho cửa sổ nhỏ phía sau.

Sau đó, chúng tôi sử dụng cưa cắt của mình để cắt cửa sổ ra và làm phẳng các cạnh bằng một chiếc giũa. Bạn cũng đừng quên khoan lỗ cho cáp USB mini (Tôi nghe nói về một nhà sản xuất không tập trung lắm, có xu hướng làm những việc như vậy: D).

Khi chúng ta đã hoàn thành việc cắt tấm mặt sau, chúng ta có thể tiến hành bọc nó bằng màng bọc vinyl. Chúng tôi chỉ cần cắt hai miếng theo đúng kích thước và dán miếng đầu tiên vào một bên. Sau đó, chúng tôi cắt các vành đi và giải phóng cửa sổ. Máy sấy tóc có thể giúp làm cho tất cả các lỗ có thể nhìn thấy trở lại, vì vậy chúng ta cũng có thể cắt chúng ra. Sau khi làm điều tương tự cho mặt còn lại, chúng tôi sử dụng mẫu tiếp theo và kỹ thuật cạo và bẻ của chúng tôi để tạo cửa sổ acrylic nhỏ cho bảng điều khiển phía sau của chúng tôi.

Bước 4: Tạo bảng LED

Tạo bảng điều khiển LED
Tạo bảng điều khiển LED
Tạo bảng điều khiển LED
Tạo bảng điều khiển LED
Tạo bảng điều khiển LED
Tạo bảng điều khiển LED

Bây giờ chúng ta đến điểm nổi bật của dự án này, theo nghĩa đen nhất. Bảng điều khiển LED.

Chúng tôi sử dụng kéo cắt kim loại của mình để cắt một miếng kim loại dài 12, 2cm x 8cm. Hãy cẩn thận trong khi làm điều này, vì kéo tạo ra các cạnh rất sắc. Chúng tôi sẽ làm mịn chúng bằng tệp của chúng tôi và một số giấy nhám. Sau đó, chúng tôi thêm mẫu tiếp theo của chúng tôi để khoan lỗ cho vít và dây.

Đã đến lúc chuẩn bị đèn LED thực tế.

Đầu tiên, chúng tôi cắt chúng thành ba dải, mỗi dải 6 đèn LED. Một số dải đèn LED có lớp keo dính rất mỏng hoặc hoàn toàn không có chất kết dính, vì vậy chúng tôi sẽ dán các dải của chúng tôi lên một miếng băng dính hai mặt và dùng dao cắt theo kích thước. Điều này sẽ làm cho nó dính vào tấm kim loại và mặc dù đây không phải là một giải pháp chuyên nghiệp, nhưng sẽ cách nhiệt các miếng đồng với bề mặt kim loại bên dưới.

Trước khi thực sự dán các dải lên bảng điều khiển, chúng tôi làm sạch nó bằng cồn. Trong khi chúng tôi gắn đèn LED, chúng tôi phải đảm bảo rằng chúng tôi đặt chúng xuống đúng nơi cũng như đúng hướng. Các mũi tên nhỏ trên dải đèn LED cho biết hướng, trong đó dữ liệu truyền qua dải.

Như bạn có thể thấy trong hình thứ năm, dòng dữ liệu của chúng tôi xuất phát từ góc trên cùng bên trái của bảng điều khiển, đi qua dải đầu tiên sang phía bên phải, thay vì quay trở lại đầu dải sau ở bên trái, v.v.. Vì vậy, tất cả các mũi tên của chúng ta phải hướng về phía bên phải.

Hãy làm nóng ion hàn của chúng ta và đặt một ít thiếc lên miếng đồng, cũng như lên dây của chúng ta. Các đường dữ liệu được kết nối như tôi vừa mô tả, trong khi chúng tôi chỉ cần nối các dấu cộng và trừ của dải lên song song.

Sau khi các dải được nối dây, chúng tôi sử dụng dao để cẩn thận nhấc các đầu của mỗi dải trong khi giữ đèn LED hướng xuống, để chúng vẫn hướng lên trên. Sau đó, chúng tôi đặt một số keo nóng bên dưới để cách nhiệt các mối hàn của chúng tôi.

Sau khi điều này được thực hiện và, chúng tôi thêm một vài chân tiêu đề vào các dây dẫn đến PCB. Những sợi dây đó nên dài khoảng 16cm. Để chắc chắn hơn, rằng bảng kim loại không bị chập điện, chúng tôi sử dụng Đồng hồ vạn năng để đo điện trở giữa tất cả các chân. Nếu nó hiển thị bất cứ điều gì trên 1kOhm, mọi thứ đều ổn.

Bây giờ chúng ta có thể kết nối nó với Arduino, chạy thử nghiệm và tận hưởng màu sắc.

Bước 5: Tạo hướng dẫn ánh sáng

Hướng dẫn ánh sáng
Hướng dẫn ánh sáng
Hướng dẫn ánh sáng
Hướng dẫn ánh sáng
Hướng dẫn ánh sáng
Hướng dẫn ánh sáng
Hướng dẫn ánh sáng
Hướng dẫn ánh sáng

Nếu chúng ta đặt bảng điều khiển đèn LED của mình ngay sau lớp acrylic trắng sữa, thì việc phân biệt các đèn LED riêng lẻ có thể trở nên khá khó khăn. Điều này sẽ làm cho đồng hồ của chúng ta thậm chí còn khó đọc hơn so với hiện tại.

Để giải quyết vấn đề này, chúng tôi sẽ tạo cho mình một hướng dẫn nhỏ. Đối với điều này, chúng tôi chỉ cần cắt một miếng MDF khác, có cùng kích thước với bảng điều khiển phía trước. Sau đó, chúng tôi thêm một mẫu khác vào nó và khoan mười tám lỗ 3, 5mm cho đèn LED, cũng như bốn lỗ 4, 5 mm cho các vít vào đó. Sau đó, chúng tôi có thể kẹp nó xuống bảng điều khiển phía trước và sử dụng một số giấy nhám để căn chỉnh hai bên.

Như bạn có thể thấy trong hình cuối cùng, ánh sáng hiện tập trung hơn rất nhiều.

Bước 6: Tạo khung nút

Tạo khung nút
Tạo khung nút
Tạo khung nút
Tạo khung nút
Tạo khung nút
Tạo khung nút

Thành phần bao vây cuối cùng mà chúng ta sẽ làm là khung nút.

Chúng tôi, những người một lần nữa, cắt một miếng MDF theo đúng kích thước và thêm một khuôn mẫu vào đó, sau đó chúng tôi khoan tất cả các lỗ cần thiết và sử dụng cưa cắt của chúng tôi, để cắt phần ở giữa.

Khung của chúng tôi được cho là giữ 4 nút cảm ứng, cảm biến ánh sáng và loa nhỏ của chúng tôi ở đúng vị trí. Trước khi có thể gắn chúng vào khung, chúng tôi cắt một vài miếng bìa nhỏ hơn từ MDF. Sau đó, chúng tôi dán nóng các thành phần của chúng tôi lên các nắp đó và thêm dây vào chúng.

Các miếng đệm nguồn của nút cảm ứng được nối song song, trong khi mỗi đường ra có một dây riêng. Đây cũng là thời điểm tốt để kiểm tra xem chúng có đang hoạt động hay không. Vì cảm biến ánh sáng cần 5 Volts ở một bên, chúng ta có thể chỉ cần móc nó vào các nút cảnh báo miếng VCC và hàn một dây vào chân còn lại.

Sau khi các tấm được chuẩn bị, chúng tôi cắt thành các cạnh của khung, để lấy chỗ cho chúng và dây của chúng.

Sau đó, chúng tôi loại bỏ bụi gỗ khỏi tất cả các mảnh bằng máy hút bụi và bọc chúng trong màng bọc nhựa vinyl.

Chúng tôi sử dụng dao chính xác để loại bỏ các mảnh vinyl, ngay trên các khu vực nhạy cảm của các mô-đun cảm ứng của chúng tôi. Với một số băng dính hai mặt, chúng tôi có thể gắn các nút của riêng mình vào MDF. Tôi đã làm các nút của mình từ bọt cao su, tạo cho chúng một kết cấu mềm mại và đẹp mắt, nhưng bạn có thể sử dụng bất kỳ vật liệu phi kim loại nào mà bạn muốn.

Trên khung, chúng tôi sử dụng dao để giải phóng một chút MDF một lần nữa, Điều này mang lại cho chúng tôi một bề mặt bóng bẩy cho lớp keo nóng. Sau đó, cuối cùng chúng ta có thể dán các thành phần vào các cạnh của khung của chúng ta.

Bước 7: Hàn PCB chính

Hàn PCB chính
Hàn PCB chính
Hàn PCB chính
Hàn PCB chính
Hàn PCB chính
Hàn PCB chính

Hãy để nguyên khung như hiện tại và chuyển sang PCB. Bạn có thể thấy bố cục PCB trong hình đầu tiên.

Chúng tôi bắt đầu bằng cách đặt các thành phần có cấu hình thấp nhất trên bảng mạch. Các thành phần nhỏ nhất là cầu nối dây, mà tôi nhớ hơi muộn, vì vậy tôi bắt đầu với các điện trở. Chúng tôi hàn các thành phần của mình tại chỗ và chuyển sang tập hợp các thành phần cao hơn tiếp theo.

Tiếp theo, chúng tôi có các ghim tiêu đề nữ của chúng tôi. Để tiết kiệm không gian và có thể cắm thiết bị điện tử của chúng tôi từ bên cạnh, chúng tôi lắp chúng theo một góc 90 độ.

Các bóng bán dẫn không thực sự phù hợp với khoảng cách lỗ 2, 54mm trên PCB của chúng tôi, vì vậy chúng tôi sử dụng kìm để uốn cong chân của chúng một cách cẩn thận theo hình dạng, được hiển thị trong hình thứ hai. Đầu tiên chúng tôi hàn một trong các chân của chúng vào vị trí và xoay PCB lại. Sau đó, chúng tôi làm nóng lại mối nối hàn và sử dụng ngón tay hoặc một cặp kìm để định vị chính xác linh kiện. Bây giờ chúng ta có thể hàn hai chân còn lại vào vị trí.

Sau khi tất cả các thành phần nhỏ, chúng tôi hàn Arduino và mô-đun đồng hồ thời gian thực vào vị trí. Mô-đun RTC cũng không phù hợp với khoảng cách lỗ, vì vậy chúng tôi sẽ chỉ trang bị bên cạnh, có 7 miếng hàn với các chân tiêu đề. Ngoài ra, chúng tôi đặt một số băng bên dưới nó, để ngăn chặn bất kỳ đoạn mạch ngắn nào.

Vì tất cả các thành phần của chúng tôi đã được hàn tại chỗ, nên bây giờ đã đến lúc tạo các kết nối ở phía bên kia của bo mạch. Đối với điều này, chúng tôi sẽ lấy ra dây không cách điện của chúng tôi. Có thể sử dụng một cặp kìm để làm thẳng nó. Sau đó, chúng tôi cắt dây thành các đoạn nhỏ hơn và hàn nó vào PCB.

Để tạo kết nối, chúng tôi đốt nóng một mối hàn và luồn dây vào. Sau đó, chúng tôi giữ ion hàn trên nó, cho đến khi nó đạt đến nhiệt độ thích hợp và chất hàn bao quanh nó và chúng tôi nhận được một mối nối, giống như trong hình. Nếu chúng ta không làm nóng dây, chúng ta có thể kết thúc với một mối nối nguội, trông giống như ví dụ kia và không dẫn điện tốt lắm. Chúng tôi có thể sử dụng máy cắt dây của mình để đẩy dây xuống trong khi hàn và đảm bảo rằng nó đang nằm phẳng trên PCB. Trên các đường kết nối dài hơn, chúng tôi hàn nó vào một miếng đệm sau mỗi 5 đến 6 lỗ cho đến khi chúng tôi đạt đến một góc hoặc thành phần tiếp theo.

Ở một góc, chúng tôi cắt dây phía trên nửa đầu của miếng hàn và hàn phần cuối của nó. Sau đó, chúng tôi lấy một đoạn dây mới và đi tiếp từ đó theo một góc vuông.

Việc thực hiện những kết nối dây trống đó khá phức tạp và cần một số kỹ năng, vì vậy nếu bạn làm điều này lần đầu tiên, chắc chắn là một ý tưởng không tồi nếu thực hành nó trên PCB phế liệu, trước khi cố gắng thực hiện nó trên PCB thật.

Sau khi hàn xong, chúng tôi kiểm tra lại các kết nối và đảm bảo rằng chúng tôi không tạo ra bất kỳ đoạn ngắn mạch nào. Sau đó, chúng ta có thể đặt PCB bên trong khung nút và sử dụng nó làm tham chiếu cho độ dài dây khung cần thiết. Sau đó, chúng tôi cắt các dây đó theo chiều dài phù hợp và thêm các chân cắm đầu đực vào chúng.

Tất cả các kết nối 5V và nối đất của các nút cảm ứng kết hợp với nhau thành một đầu nối 2pin, 4 dây đầu ra nhận được một đầu nối 4pin và đường cảm biến ánh sáng cũng như hai dây loa được kết hợp thành một đầu nối ba pin. Đừng quên đánh dấu một bên của mỗi ổ cắm và đầu nối bằng đầu nhọn hoặc một số băng dính, để bạn không vô tình cắm chúng sai cách.

Bước 8: Lắp ráp đồng hồ

Lắp ráp đồng hồ
Lắp ráp đồng hồ
Lắp ráp đồng hồ
Lắp ráp đồng hồ
Lắp ráp đồng hồ
Lắp ráp đồng hồ
Lắp ráp đồng hồ
Lắp ráp đồng hồ

Sau đó, tôi quay trở lại bảng điều khiển phía trước và cẩn thận dán một nhãn dán, làm từ lá máy in laser trong suốt, như một lần cuối cùng.

Mặc dù tôi đã áp dụng nó rất cẩn thận, tôi không thể nhận được kết quả không có bong bóng, điều này rất tiếc có thể nhìn thấy rõ ràng khi kiểm tra kỹ hơn. Giấy bạc cũng không dính vào các góc rất tốt, vì vậy tôi không thực sự khuyên bạn nên sử dụng giải pháp này.

Nó có thể được thực hiện với một nhãn dán tốt hơn, hoặc, nếu bạn giỏi vẽ, bạn có thể thêm các số bằng một nét vẽ.

Bây giờ chúng tôi có tất cả các thành phần và có thể lắp ráp đồng hồ của chúng tôi.

Chúng tôi bắt đầu bằng cách đặt hướng dẫn ánh sáng và bảng điều khiển phía trước lại với nhau. Sau khi tất cả 4 bu lông đã vào, chúng ta căn chỉnh hai tấm và sau đó siết chặt chúng. Một vài điều rắc rối sau đó là bảng điều khiển ánh sáng, nơi chúng ta phải xem xét hướng đi. Cáp phải ở trên cùng.

Mảnh thứ ba, là khung nút. Hãy nhớ rằng, khi nhìn từ phía trước, loa của nó phải ở phía bên phải của đồng hồ. Kéo cáp của bảng điều khiển đèn led của bạn qua giữa khung, trước khi bạn cố định nó vào vị trí.

Bây giờ chúng tôi đặt asside lắp ráp phía trước và chuyển sang bảng điều khiển phía sau. Trong hình, bạn cũng có thể thấy Bộ chuyển đổi USB mini 90 độ tự làm tuyệt đẹp của tôi. Tôi đã liên kết cho bạn một bộ điều hợp thích hợp, vì vậy bạn sẽ không phải đối phó với loại lộn xộn này. Bạn có thể chỉ cần cắm bộ chuyển đổi của mình vào và luồn cáp qua một lỗ trên bảng điều khiển phía sau.

Chúng tôi sử dụng vít M3 và bộ đệm PCB của chúng tôi, để sửa chữa cửa sổ nhỏ. Điều quan trọng là phải siết chặt các vít cẩn thận, vì chúng tôi không muốn làm hỏng lớp acrylic của mình. Sau đó, chúng tôi lấy PCB của chúng tôi, cắm vào bộ điều hợp của chúng tôi và vặn nó vào các miếng đệm. Mặt thành phần phải hướng về phía cửa sổ, trong khi cổng USB của Arduino hướng về phía dưới đồng hồ.

Sau đó, chúng tôi cắm tất cả các đầu nối từ cụm phía trước vào, đồng thời lưu ý đến cực tính và cẩn thận ép tất cả các dây vào đồng hồ. Sau đó chúng ta có thể đóng nó lại bằng mặt sau và vặn chặt 4 đai ốc khóa còn lại.

Cuối cùng, bạn muốn có một máy giặt ở mỗi bên của mỗi bảng điều khiển, trong khi hướng dẫn ánh sáng được đặt ngay phía sau bảng điều khiển phía trước. Chúng tôi có một đai ốc giữa thanh dẫn ánh sáng và bảng điều khiển đèn led và hai đai ốc nữa, ngăn cách nó khỏi khung nút. Bạn cũng có thể thấy điều đó trong bức ảnh cuối cùng.

Vì tôi đã sử dụng bu lông ngắn với chiều dài 40mm, tôi chỉ có 3 đai ốc giữ cho mặt sau và khung cách xa nhau. Với các bu lông 45 mm phù hợp, bạn sẽ thêm một đai ốc khác ở đây, cũng như một hoặc hai vòng đệm bổ sung. Ở phần cuối của cụm, chúng tôi có đai ốc khóa của chúng tôi, để mọi thứ vẫn ở đúng vị trí.

Bước 9: Tải lên mã và hiệu chỉnh cảm biến ánh sáng

Tải lên mã và hiệu chỉnh cảm biến ánh sáng
Tải lên mã và hiệu chỉnh cảm biến ánh sáng
Tải lên mã và hiệu chỉnh cảm biến ánh sáng
Tải lên mã và hiệu chỉnh cảm biến ánh sáng
Tải lên mã và hiệu chỉnh cảm biến ánh sáng
Tải lên mã và hiệu chỉnh cảm biến ánh sáng

Đã đến lúc tải lên mã của chúng tôi.

Đầu tiên, chúng tôi tải xuống tất cả các tệp cần thiết và giải nén chúng. Sau đó, chúng tôi mở thư mục thư viện Arduino và thả tất cả các thư viện mới vào đó.

Bây giờ chúng ta mở bản phác thảo hiệu chỉnh cảm biến ánh sáng, nó sẽ cho chúng ta các giá trị sáng và tối cho chức năng điều chỉnh độ sáng tự động của đồng hồ. Chúng tôi tải nó lên, mở màn hình nối tiếp và làm theo hướng dẫn trên màn hình.

Sau khi hoàn tất, chúng tôi mở mã thực tế của đồng hồ nhị phân và thay thế hai giá trị bằng những giá trị chúng tôi vừa đo.

Chúng tôi đóng tất cả các cửa sổ khác, tải mã lên đồng hồ của chúng tôi và chúng tôi đã hoàn tất.

Đã đến lúc chơi với tiện ích mới của chúng tôi.

Bước 10: Giới thiệu nhanh về Hệ thống nhị phân

Giới thiệu nhanh về Hệ thống nhị phân
Giới thiệu nhanh về Hệ thống nhị phân
Giới thiệu nhanh về Hệ thống nhị phân
Giới thiệu nhanh về Hệ thống nhị phân
Giới thiệu nhanh về Hệ thống nhị phân
Giới thiệu nhanh về Hệ thống nhị phân
Giới thiệu nhanh về hệ thống nhị phân
Giới thiệu nhanh về hệ thống nhị phân

Trước khi chúng ta tiếp tục, tôi muốn trả lời một câu hỏi mà có lẽ bạn đã trải qua trong đầu, "Làm thế nào trên thế giới mà bạn đọc đồng hồ này?"

Về điều này, tôi muốn giới thiệu cho bạn một đoạn ngắn về hệ thống nhị phân.

Tất cả chúng ta đều quen thuộc với Hệ thống thập phân, trong đó mỗi chữ số có thể có 10 trạng thái khác nhau, từ 0 đến 9. Trong hệ nhị phân, mỗi chữ số chỉ có thể có hai trạng thái, 1 hoặc 0, đó là lý do tại sao bạn có thể sử dụng một cái gì đó đơn giản như bảng dẫn để hiển thị một số nhị phân.

Để hiển thị các số có độ lớn hơn 9 ở dạng thập phân, chúng tôi thêm nhiều chữ số hơn. Mỗi chữ số đi kèm với một số nhân nhất định. Chữ số đầu tiên từ bên phải đi kèm với cấp số nhân của 1, chữ số tiếp theo là 10 và số tiếp theo là 100. Với mỗi chữ số mới, số nhân lớn gấp mười lần chữ số trước đó. Vì vậy, chúng ta biết rằng số hai được đặt một chữ số ở bên trái, đại diện cho số 20. Trong khi hai chữ số ở bên trái, nó đại diện cho 200.

Trong hệ nhị phân, mỗi chữ số cũng đi kèm với một hệ số nhân. Tuy nhiên, vì mỗi chữ số chỉ có thể có hai trạng thái khác nhau, nên mỗi cấp số nhân mới lớn gấp hai lần số nhân trước đó. Ồ và nhân tiện, các chữ số nhị phân được gọi là Bits. Vì vậy, hãy xem ví dụ đầu tiên của chúng ta, nếu chúng ta đặt 1 ở vị trí thấp nhất thì nó là số 1 đơn giản, nhưng nếu chúng ta đặt nó ở vị trí cao hơn tiếp theo, nơi hệ số của chúng ta là 2, nó đại diện cho số 2 trong hệ nhị phân.

Làm thế nào về ví dụ phức tạp hơn một chút ở dưới cùng của hình ảnh. Bit thứ ba và bit đầu tiên được bật. Để có được số thập phân được biểu diễn ở đây, chúng ta chỉ cần thêm các giá trị của hai bit. Vì vậy, 4 * 1 + 1 * 1 hoặc 4 + 1 cho chúng ta số 5.

8 bit được coi là một byte, vì vậy chúng ta hãy xem chúng ta nhận được số nào nếu chúng ta điền vào một byte toàn bộ bằng các byte.1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 là 255, là giá trị cao nhất mà một byte đơn có thể có.

Nhân tiện, trong khi trong hệ thập phân, chữ số có hệ số nhân cao nhất luôn đứng trước, bạn có hai cách viết một số dưới dạng nhị phân. Hai phương pháp đó được gọi là byte đầu tiên ít quan trọng nhất (LSB) và byte quan trọng nhất đầu tiên (MSB). Nếu bạn muốn đọc một số nhị phân, bạn phải biết định dạng nào trong hai định dạng được sử dụng. Vì nó gần với hệ thập phân hơn, đồng hồ nhị phân của chúng tôi sử dụng biến thể MSB.

Hãy quay lại ví dụ trong thế giới thực của chúng ta. Như được đánh dấu trong hình thứ sáu, đồng hồ của chúng ta có 4 bit để hiển thị giờ. Hơn chúng ta có 6 bit cho phút và 6 bit cho giây. Hơn nữa, chúng tôi có một bit sáng / chiều.

Được rồi, hãy cho tôi biết mấy giờ trong bức tranh thứ 6, thay vì chuyển sang bức cuối cùng.. ….

trong phần giờ, chúng ta có 2 + 1 là 3 và bit chiều đang bật vì vậy nó là buổi tối. Tiếp theo đến phút 32 + 8, tức là 40 giây, chúng ta có 8 + 4 + 2 là 14. Vậy đó là 3:40:14 chiều hoặc 15:40:14.

Xin chúc mừng, bạn vừa học cách đọc đồng hồ nhị phân. Tất nhiên, bạn sẽ phải làm quen và lúc đầu sẽ phải cộng các con số lại với nhau, mỗi khi bạn muốn biết mấy giờ rồi, nhưng tương tự như đồng hồ kim không có mặt số, bạn sẽ quen với các mẫu đèn LED hơn. thời gian.

Và đó là một phần của dự án này, đưa một cái gì đó trừu tượng như hệ nhị phân vào thế giới thực và hiểu rõ hơn về nó.

Bước 11: Sử dụng Đồng hồ báo thức nhị phân

Sử dụng đồng hồ báo thức nhị phân
Sử dụng đồng hồ báo thức nhị phân
Sử dụng đồng hồ báo thức nhị phân
Sử dụng đồng hồ báo thức nhị phân
Sử dụng đồng hồ báo thức nhị phân
Sử dụng đồng hồ báo thức nhị phân

Bây giờ cuối cùng chúng tôi cũng muốn chơi với đồng hồ, vì vậy chúng ta hãy xem nhanh các nút điều khiển.

Phần mềm có thể phân biệt giữa một lần nhấn nút, một lần nhấn đúp và một lần nhấn dài. Vì vậy, mỗi nút có thể được sử dụng cho nhiều hành động.

Nhấn đúp vào nút lên hoặc xuống sẽ thay đổi chế độ màu của đèn LED. Bạn có thể chọn giữa các chế độ màu tĩnh và nhạt dần khác nhau cũng như chế độ nhiệt độ. Nếu bạn đang ở một trong các chế độ màu tĩnh, giữ nút lên hoặc xuống sẽ thay đổi màu. Trong chế độ mờ dần, một lần nhấn duy nhất sẽ thay đổi tốc độ hoạt ảnh.

Để cài đặt chế độ điều chỉnh độ sáng, bạn nhấn đúp vào nút ok. Bảng đèn led cho biết chế độ cài đặt bằng cách nhấp nháy nhiều lần.

  • Một thời gian có nghĩa là không có mờ.
  • Hai lần có nghĩa là độ sáng được kiểm soát bởi cảm biến ánh sáng.
  • Ba lần và đèn LED tự động tắt sau 10 giây không hoạt động.
  • Bốn lần và cả hai chế độ điều chỉnh độ sáng được kết hợp.

Nhấn và giữ nút ok sẽ đưa bạn vào chế độ cài đặt thời gian, nơi bạn có thể sử dụng mũi tên lên và xuống để thay đổi số. Một lần nhấn vào nút ok sẽ đưa bạn từ giờ sang phút, một lần nhấn nữa và bạn có thể đặt giây. Sau đó, một lần nhấn cuối cùng sẽ lưu thời gian mới. Nếu bạn đăng nhập vào chế độ cài đặt thời gian, bạn có thể chỉ cần đợi trong 10 giây và đồng hồ sẽ tự động rời khỏi chế độ đó.

Giống như với nút ok, nhấn và giữ nút báo thức cho phép bạn đặt báo thức. Nhấn đúp vào nút báo thức sẽ kích hoạt hoặc tắt báo thức.

Nếu đồng hồ đang đổ chuông, bạn nhấn một lần vào nút báo thức, để chuyển nó sang chế độ ngủ trong 5 phút hoặc giữ nó, để hủy kích hoạt báo thức.

Đây là tất cả các chức năng mà đồng hồ có cho đến nay. Tôi có thể bổ sung thêm trong tương lai mà bạn có thể nhận được, nếu bạn tải xuống phiên bản chương trình cơ sở mới nhất.

Bước 12: Tìm hiểu mã (tùy chọn)

Hiểu mã (tùy chọn)
Hiểu mã (tùy chọn)

Tôi biết rằng nhiều người không thích lập trình cho lắm. May mắn cho những người đó, bên cạnh kiến thức lập trình không cần thiết để xây dựng và sử dụng đồng hồ nhị phân này. Vì vậy, nếu bạn không quan tâm đến khía cạnh lập trình, bạn có thể bỏ qua bước này.

Tuy nhiên, nếu bạn quan tâm đến phần mã hóa, tôi muốn cung cấp cho bạn một cái nhìn tổng thể về chương trình.

Việc giải thích từng chi tiết nhỏ của mã đồng hồ sẽ là một phần Có thể hướng dẫn riêng, vì vậy tôi sẽ giữ cho nó đơn giản bằng cách giải thích chương trình theo hướng đối tượng.

Trong trường hợp bạn không biết điều đó có nghĩa là gì, lập trình hướng đối tượng (OOP) là một khái niệm của hầu hết các ngôn ngữ lập trình hiện đại như C ++. Nó cho phép bạn tổ chức các hàm và biến khác nhau thành các lớp được gọi là. Một lớp là một mẫu mà từ đó bạn có thể tạo một hoặc nhiều đối tượng. Mỗi đối tượng này có một Tên và tập hợp các biến riêng của nó.

Ví dụ, mã của đồng hồ sử dụng một vài đối tượng MultiTouchButton chẳng hạn như alertButton. Đó là các đối tượng từ lớp MultiTouchButton, là một phần của thư viện Nút của tôi. Điều thú vị về các đối tượng đó là bạn có thể giao diện với chúng tương tự như các đối tượng trong thế giới thực. Ví dụ: chúng ta có thể kiểm tra xem nút cảnh báo có được nhấn đúp hay không bằng cách gọi alertButton.wasDoubleTapped (). Hơn nữa, việc triển khai chức năng này được ẩn độc đáo trong một tệp khác và chúng tôi không phải lo lắng về việc phá vỡ nó, bằng cách thay đổi bất kỳ thứ gì khác trong mã của chúng tôi. Bạn có thể tìm thấy mục nhập nhanh vào thế giới lập trình hướng đối tượng trên trang web Adafruit.

Như bạn có thể thấy trong hình trên, chương trình đồng hồ có một loạt các đối tượng khác nhau.

Chúng ta vừa nói về các đối tượng nút, có thể diễn giải tín hiệu đầu vào dưới dạng một lần nhấn, nhấn đúp hoặc nhấn lâu.

Máy hát tự động, như tên cho thấy, có thể tạo ra tiếng ồn. Nó có một số giai điệu, có thể được phát qua một loa nhỏ.

Đối tượng binaryClock quản lý thời gian và cài đặt báo thức, cũng như xem báo thức. Hơn nữa, nó lấy thời gian từ mô-đun rtc và chuyển đổi nó thành bộ đệm thông tin nhị phân cho ledPanel.

ColorController đóng gói tất cả các chức năng hiệu ứng màu sắc và cung cấp Bộ đệm màu cho ledPanel. Nó cũng lưu trạng thái của nó trong Arduinos EEProm.

Bộ điều chỉnh độ sáng sẽ quan tâm đến độ sáng của đồng hồ. Nó có các chế độ khác nhau mà người dùng có thể chuyển qua. Chế độ hiện tại cũng được lưu trong EEProm.

LedPanel quản lý các bộ đệm khác nhau cho giá trị màu, giá trị độ sáng và trạng thái nhị phân của mỗi đèn LED. Bất cứ khi nào hàm pushToStrip () được gọi, nó sẽ phủ lên chúng và gửi chúng đến dải dẫn.

Tất cả các đối tượng được "kết nối" thông qua tệp chính (tệp có chức năng thiết lập và vòng lặp), chỉ bao gồm một vài chức năng để thực hiện 3 nhiệm vụ thiết yếu.

  1. Thông dịch đầu vào của người dùng - Nó nhận đầu vào từ 4 đối tượng nút và đặt chúng thông qua một logic. Logic này kiểm tra trạng thái hiện tại của đồng hồ để xác định xem đồng hồ đang ở trạng thái bình thường, cài đặt thời gian hoặc chế độ đổ chuông và gọi các chức năng khác nhau từ các đối tượng khác cho phù hợp.
  2. Quản lý giao tiếp giữa các đối tượng - Nó liên tục hỏi đối tượng binaryClock, nếu nó có sẵn thông tin mới hoặc nếu cảnh báo làRinging (). Nếu nó có Thông tin mới, nó sẽ lấy Bộ đệm thông tin từ binaryClock và gửi nó đến đối tượng ledPanel. Nếu đồng hồ đổ chuông, nó sẽ khởi động máy hát tự động.
  3. Cập nhật các đối tượng - Mỗi đối tượng của chương trình có một thủ tục cập nhật, được sử dụng cho những việc như kiểm tra đầu vào hoặc thay đổi màu sắc của đèn LED. Chúng cần được gọi nhiều lần trong hàm vòng lặp để đồng hồ hoạt động bình thường.

Điều đó sẽ cung cấp cho bạn hiểu biết chung về cách các đoạn mã riêng lẻ hoạt động cùng nhau. Nếu bạn có câu hỏi cụ thể hơn, bạn có thể chỉ cần hỏi tôi.

Vì Mã của tôi chắc chắn còn lâu mới hoàn hảo, tôi sẽ cải thiện nó hơn nữa trong tương lai, vì vậy một số chức năng có thể thay đổi. Điều thú vị về OOP là nó vẫn hoạt động theo cách tương tự và bạn vẫn có thể sử dụng hình ảnh để hiểu nó.

Bước 13: Lời cuối cùng

Từ cuối cùng
Từ cuối cùng

Tôi rất vui vì bạn vẫn tiếp tục đọc cho đến thời điểm này. Điều đó có nghĩa là dự án của tôi không quá nhàm chán:).

Tôi đã bỏ rất nhiều công sức vào chiếc đồng hồ nhỏ này và thậm chí còn nhiều công việc hơn vào tất cả tài liệu và video, để giúp bạn dễ dàng xây dựng Đồng hồ báo thức nhị phân của riêng mình. Tôi hy vọng nỗ lực của tôi là xứng đáng và tôi có thể kết nối cho bạn một ý tưởng tuyệt vời cho dự án cuối tuần tới của bạn hoặc ít nhất, mang lại cho bạn một số cảm hứng.

Tôi rất thích nghe những gì bạn nghĩ về đồng hồ trong các bình luận bên dưới:).

Mặc dù tôi đã cố gắng bao quát mọi chi tiết, tôi có thể đã bỏ sót một hoặc hai điều. Vì vậy, hãy thoải mái hỏi, nếu còn bất kỳ câu hỏi nào.

Như mọi khi, cảm ơn bạn rất nhiều vì đã đọc và làm vui vẻ.

Cuộc thi LED 2017
Cuộc thi LED 2017
Cuộc thi LED 2017
Cuộc thi LED 2017

Á quân cuộc thi Đèn LED 2017

Đề xuất: