Mục lục:
- Bước 1: Thu thập vật liệu
- Bước 2: Tạo trọng lượng
- Bước 3: Xây dựng Nhà ở Điện tử, Bước 1
- Bước 4: Xây dựng Nhà ở Điện tử, Bước 2
- Bước 5: Thêm đồ điện tử
- Bước 6: Cơ sở gia trọng
- Bước 7: NeoPixel Halo Ring
- Bước 8: Mã và kiểm tra
- Bước 9: Chung kết
Video: HALO: Đèn Arduino tiện dụng Rev1.0 W / NeoPixels: 9 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:35
Trong phần hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo HALO, hoặc Handy Arduino Lamp Rev1.0.
HALO là một loại đèn đơn giản, được cung cấp bởi Arduino Nano. Nó có tổng diện tích khoảng 2 "x 3" và đế bằng gỗ có trọng lượng cực kỳ ổn định. Cổ linh hoạt và 12 NeoPixels siêu sáng cho phép nó dễ dàng chiếu sáng mọi chi tiết trên mọi bề mặt. HALO có hai nút nhấn để chuyển qua các chế độ ánh sáng khác nhau, trong đó có 15 nút được lập trình trước. Do việc sử dụng Arduino Nano làm bộ xử lý, bạn có thể lập trình lại nó với các tính năng bổ sung. Chiết áp đơn được sử dụng để điều chỉnh độ sáng và / hoặc tốc độ hiển thị chế độ. Cấu tạo đơn giản bằng kim loại giúp HALO trở thành một chiếc đèn rất bền, phù hợp để sử dụng trong bất kỳ xưởng nào. Tính dễ sử dụng được kết hợp bởi bộ điều chỉnh nguồn tích hợp của Nano, vì vậy HALO có thể được cấp nguồn qua USB hoặc giắc cắm thùng 5mm tiêu chuẩn ở phía sau.
Tôi hy vọng sẽ thấy nhiều người sử dụng những chiếc đèn này trong tương lai gần, bởi vì có rất nhiều khả năng mở ra với thiết kế này. Vui lòng để lại bình chọn trong Cuộc thi Vi điều khiển nếu bạn thích điều này hoặc thấy nó hữu ích ở một khía cạnh nào đó, tôi thực sự đánh giá cao nó.
Trước khi chúng ta đi sâu vào Có thể hướng dẫn này, tôi muốn gửi lời cảm ơn ngắn gọn đến tất cả những người theo dõi tôi và bất kỳ ai đã từng nhận xét, yêu thích hoặc bình chọn cho bất kỳ dự án nào của tôi. Cảm ơn các bạn, bài giảng về Cardboard của tôi đã trở nên thành công rực rỡ và hiện tại, tôi đã đạt được gần 100 người theo dõi, một cột mốc quan trọng theo quan điểm của tôi. Tôi thực sự đánh giá cao tất cả sự hỗ trợ mà tôi nhận được từ các bạn khi tôi tạo ra Ible của mình, và khi nói đến nó, tôi sẽ không có được ngày hôm nay nếu không có các bạn. Với điều đó đã nói, cảm ơn bạn, tất cả mọi người!
LƯU Ý: Xuyên suốt Bài hướng dẫn này là các cụm từ được in đậm. Đây là những phần quan trọng của mỗi bước, không nên bỏ qua, đây không phải là tôi la hét hay cố ý tỏ ra thô lỗ, tôi chỉ đơn giản là đang thử một kỹ thuật viết mới để nhấn mạnh hơn những gì cần phải làm. Nếu bạn không thích nó và thích cách trước đây tôi có xu hướng viết các bước của mình, hãy cho tôi biết trong phần nhận xét, và tôi sẽ chuyển về kiểu cũ của mình.
Bước 1: Thu thập vật liệu
Tôi phải nói bao nhiêu lần? Luôn có những gì bạn cần và bạn được đảm bảo có thể xây dựng một cái gì đó đến cuối cùng.
Lưu ý: Một số trong số này là liên kết liên kết (được đánh dấu "al"), tôi sẽ nhận được một khoản tiền hoàn lại nhỏ nếu bạn mua thông qua chúng, mà bạn không phải trả thêm phí. Cảm ơn bạn nếu bạn mua thông qua các liên kết
Các bộ phận:
1x Nano Arduino Nano - al
1x 10k Chiết áp quay 5 gói Chiết áp 10k - al
Giắc cắm thùng 1x 5mm (mỏ được tái chế từ Arduino Uno chiên) Giắc cắm thùng nữ (5 gói) - al
2x 2 nút nhấn tạm thời 2 pin Công tắc nút nhấn SPST 10 gói - al
12x NeoPixels từ một sợi 60 LED / mét (bất kỳ tương đương nào, ví dụ: WS2812B, sẽ hoạt động) Adafruit NeoPixels
Một tấm nhôm 0,5 mm
Chiếc cổ dẻo từ một chiếc bật lửa flex cũ
Vòng che phía trên từ đèn LED âm tủ LED "Stick and Click" Đèn LED âm tủ - al
Một tấm ván ép nhỏ 1/4 inch
Một trọng lượng kim loại phẳng, nặng có kích thước (khoảng) 1,5 "x 2,5" x 0,25"
Dây điện lõi bện
Công cụ:
Súng bắn keo nóng và keo
Hàn sắt và hàn
Máy khoan động lực không dây và các loại mũi vặn nhỏ
Dao X-acto (hoặc dao tiện ích)
Dụng cụ tuốt dây
Kìm
Máy cắt / cắt dây
Kéo hạng nặng
Nếu bạn không có trọng lượng kim loại phẳng, bạn cũng cần:
1 cuộn thuốc hàn rẻ tiền (không phải thứ bạn sẽ sử dụng để hàn) Thuốc hàn không chì giá rẻ
Nến cồn (hoặc đèn đốt Bunsen)
Đĩa thép cứng loại nhỏ mà bạn không ngại làm hỏng (hoặc một cái chén nhỏ nếu bạn có)
Một giá ba chân cho bát đĩa / chén nung nói trên (tôi đã làm tôi từ dây thép khổ 12)
Đĩa thực vật bằng đất sét (một trong những thứ được đặt dưới chậu)
Một số lá nhôm
LƯU Ý: Nếu bạn có bộ hàn hoặc máy in 3D, bạn có thể không cần tất cả các công cụ được liệt kê ở đây.
Bước 2: Tạo trọng lượng
Đây là một bước khá khó và bạn phải hết sức thận trọng khi thực hiện. Nếu bạn có trọng lượng kim loại nặng hoặc nam châm neodymium phẳng khoảng 2,75 "x 1,75" x 0,25 ", tôi khuyên bạn nên sử dụng nó để thay thế (và nam châm thậm chí còn cho phép bạn đặt đèn nghiêng trên bề mặt kim loại!).
Tuyên bố từ chối trách nhiệm: Tôi không chịu trách nhiệm về bất kỳ tổn thương nào từ phía bạn, vì vậy hãy sử dụng ý thức chung
Ngoài ra, hãy làm điều này bên ngoài trên bề mặt bê tông mà bạn sẽ không phiền nếu nó bị cháy xém một chút (đây chỉ là biện pháp phòng ngừa). Tôi không có hình ảnh nào cho quá trình này bởi vì máy ảnh sẽ là một thứ gây mất tập trung mà tôi không cần hoặc không muốn.
Đầu tiên, tạo một khuôn nhỏ bằng giấy nhôm hoặc đất sét ướt, kích thước bên trong khoảng 2 3/4 inch x 1 3/4 inch x 1/4 inch. Nó có thể là một hình trứng giống như của tôi, hoặc một hình chữ nhật. Sử dụng nhiều lớp giấy bạc hoặc nhiều lớp đất sét dày.
Đặt khuôn vào đĩa sứ và đổ nước lạnh vào cả khuôn và khay.
Lấy ngọn nến / lò đốt bánh bằng cồn chưa được thắp sáng và đặt đĩa / chén thép lên giá ba chân để ngọn lửa sẽ đốt nóng tâm đĩa (khi được thắp sáng). Trước khi thắp sáng đầu đốt, hãy đảm bảo bạn có sẵn ít nhất 1 cặp kìm hoặc kẹp gia công kim loại, nếu không phải là 2 chiếc.
Bạn nên đeo găng tay da, áo dài tay, quần dài, giày bít mũi và bảo vệ mắt trong khi thực hiện các bước tiếp theo
Cuộn lại và bẻ một loạt vật hàn rẻ ra khỏi ống chỉ và đặt nó vào đĩa thép, sau đó châm lửa đốt. Chờ cho đến khi cuộn dây tan chảy hoàn toàn, sau đó bắt đầu cho phần còn lại của chất hàn vào đĩa với tốc độ vừa phải. Nếu chất hàn có bất kỳ nhựa thông nào trong đó, chất này có thể tự bốc cháy trong nhiệt, tạo ra ngọn lửa màu vàng nhạt và khói đen. Đừng lo lắng, điều này đã xảy ra với tôi nhiều lần và hoàn toàn bình thường.
Tiếp tục cho chất hàn vào đĩa cho đến khi chất hàn cuối cùng chảy ra.
Để mọi ngọn lửa từ nhựa thông cháy tắt hoàn toàn, và dùng kìm / kẹp gắp đĩa và xoáy nhẹ kim loại nóng chảy bên trong đồng thời cẩn thận giữ nó trong ngọn lửa.
Sau khi bạn chắc chắn rằng tất cả vật hàn đã được hóa lỏng hoàn toàn và ở nhiệt độ nóng tốt, nhanh chóng và cẩn thận lấy nó ra khỏi ngọn lửa và đổ vào khuôn. Sẽ có tiếng rít lớn và hơi nước khi một phần nước bị hóa hơi và phần còn lại bị ép ra khỏi khuôn và được thay thế bằng chất hàn nóng chảy.
Để chất hàn nguội, tắt đầu đốt / thổi nến và đặt đĩa thép ở nơi an toàn để làm mát. Bạn có thể muốn đổ nước lạnh lên vật hàn làm mát để tăng tốc độ làm mát và làm cứng nó hơn nữa. (Nước lạnh làm cho bên ngoài nguội nhanh hơn bên trong, tạo ra sức căng bên trong khiến kim loại cứng hơn và cứng hơn, tương tự như giọt nước của Prince Rupert.) Bạn cũng có thể đổ nước lên đĩa kim loại của mình, nhưng điều này sẽ khiến nó trở nên giòn., đặc biệt nếu thực hiện nhiều lần.
Sau khi chất hàn nguội hoàn toàn (khoảng 20 phút để an toàn), lấy nó ra khỏi khuôn giấy bạc.
Của tôi cuối cùng dày hơn ở một bên so với bên kia, vì vậy tôi đã sử dụng một cái búa để làm đều nó và làm phẳng các cạnh (kết quả là bạn thấy hình dạng trong hình). Sau đó tôi chà nhám nhẹ nó dưới vòi nước chảy để đánh bóng, và đặt nó sang một bên để sử dụng sau.
Bước 3: Xây dựng Nhà ở Điện tử, Bước 1
Đây là các bộ phận của vỏ sẽ chứa Nano, gắn kết giao diện và về cơ bản là những gì giữ Đèn HALO lại với nhau. Tôi đã tạo của tôi bằng Nhôm và Keo nóng 0,5mm của mình, nhưng nếu bạn có máy in 3D (thứ mà tôi đã cố gắng mua cho cửa hàng của mình trong một thời gian), tôi đã tạo một phiên bản. STL trong Tinkercad mà tôi đính kèm ở đây cho bạn Tải xuống. Vì bản thân tôi không có máy in, tôi không thể kiểm tra mô hình in để xem mọi thứ có in đúng cách hay không, nhưng tôi nghĩ sẽ ổn nếu bạn thêm các cấu trúc hỗ trợ thích hợp vào máy cắt của mình. Bạn cũng có thể sao chép và chỉnh sửa tệp nguồn tại đây nếu bạn cần hoặc muốn một thiết kế hoặc thẩm mỹ hơi khác một chút.
Các kích thước thực sự bắt nguồn từ trọng lượng kim loại tôi đúc cho mình từ vật hàn, không phải từ kích thước của thiết bị điện tử, nhưng dù sao thì nó cũng khá ổn và kích thước khá tối ưu.
Những hình ảnh mô tả một thứ tự hoạt động hơi khác so với những gì tôi sẽ viết ở đây, điều này là do tôi đã nghĩ ra một phương pháp cải tiến dựa trên kết quả của phương pháp ban đầu của tôi.
Nếu bạn đang lắp ráp từ kim loại tấm như tôi, đây là những gì bạn cần làm:
Bước 1: Mặt tấm
Cắt hai nửa hình tròn giống nhau có chiều cao khoảng 1,5 "và rộng 3". (Tôi đã giải phóng mặt bằng của mình, vì vậy chúng trông hơi giống như mặt trước của một hộp nước ép).
Ở một trong hai tấm, khoan ba lỗ cho các nút và chiết áp. Đường kính của tôi là 1/4 inch. Chúng có thể ở bất kỳ bố cục nào, nhưng tôi thích chiết áp của mình được nâng lên một chút ở trung tâm, với các nút ở hai bên tạo thành một tam giác cân. Khi khoan, tôi luôn tạo một lỗ thí điểm nhỏ trước khi đi đến kích thước cần thiết, nó giúp căn giữa các lỗ và làm cho chúng sạch hơn một chút.
Bước 2: Nắp vòm
Uốn cong một miếng nhôm để vừa với đường cong của một trong các tấm mặt và đánh dấu độ dài cạnh thích hợp.
Cắt một dải có chiều dài và chiều rộng khoảng 2 inch này, và tạo thành một vòng cung phù hợp với dạng đường cong của các tấm khuôn mặt ở hai bên.
Tìm điểm chính giữa trên cùng của đường cong và khoan một lỗ để lắp cổ bẻ của bật lửa. Tôi bù lại các tấm che phía sau vì đèn của tôi chủ yếu sẽ có phần cổ nghiêng về phía trước khi sử dụng, vì vậy tôi muốn thêm một chút đối trọng vào đó. Cổ linh hoạt của tôi chỉ có đường kính hơn 1/4 inch một chút, vì vậy tôi đã sử dụng một bit 1/4 inch (bit xoắn lớn nhất mà tôi sở hữu là dưới 3/4 inch) và chỉ cẩn thận tạo góc và xoắn khoan để 'khoét' lỗ cho đến khi cổ vừa khít.
Bây giờ chúng ta đã có các bộ phận cho vỏ, bước tiếp theo là thêm các thiết bị điện tử và ghép chúng lại với nhau!
Bước 4: Xây dựng Nhà ở Điện tử, Bước 2
Bây giờ chúng ta thêm các nút và chiết áp, và đặt tất cả lại với nhau.
Bước 1: Nút và bu lông
Tháo các đai ốc lục giác khỏi các nút và chiết áp của bạn. Nên có một thiết bị vòng kẹp bên dưới đai ốc, hãy để nguyên vị trí này.
Xỏ từng linh kiện qua lỗ tương ứng, sau đó vặn các đai ốc lại để cố định từng linh kiện vào đúng vị trí. Siết chặt các đai ốc đến mức mà bạn chắc chắn rằng từng thành phần đã hoàn toàn an toàn.
Bước 2. Cổ bẻ
Luồn cổ uốn qua lỗ trên cùng của miếng cong. Keo nóng hoặc hàn (nếu bạn có thiết bị) cố định cổ vào vị trí.
Nếu sử dụng keo nóng như tôi, bạn nên dán nhiều keo trên mặt bằng keo trải rộng trên diện tích rộng để tránh việc keo bị bung ra sau này.
Bước 3: Lắp ráp vỏ (Không áp dụng cho vỏ in 3D)
Sử dụng que hàn hoặc keo nóng, gắn chặt các tấm mặt trước và mặt sau vào vị trí tương ứng của chúng trên nắp vòm. Tôi đã mất một vài lần thử để keo dính lại, và giống như trước đây, mẹo là sử dụng nhiều keo ở cả hai mặt của mối nối, giống như phần cổ. Diện tích được bao phủ bởi lớp keo càng lớn thì keo càng dính tốt.
Bây giờ chúng ta đã có shell, chúng ta có thể tiếp tục thêm tất cả các bit mạch.
Bước 5: Thêm đồ điện tử
Và đây là phần thú vị: Hàn! Trong những tuần gần đây, thành thật mà nói, tôi đã cảm thấy hơi mệt mỏi với công việc hàn, vì gần đây tôi đã làm rất nhiều việc để cố gắng hoàn thành một dự án khác mà tôi nên thực hiện sớm (hãy để ý phiên bản mới hoàn thiện của màn hình robot của tôi nền tảng), dẫn đến việc tôi làm hỏng một cái sắt này và lấy một cái khác… Dù sao, không có nhiều thứ để hàn ở đây, vì vậy điều này sẽ khá đơn giản.
Lưu ý: Nếu Nano của bạn đã có tiêu đề pin, tôi khuyên bạn nên hủy bỏ chúng cho dự án này, chúng sẽ chỉ cản trở.
Có một sơ đồ trong các hình trên, bạn có thể làm theo nếu bạn thích.
Bước 1: Giao diện
Từ mỗi công tắc, hàn một dây từ một chân duy nhất đến một chân bên của chiết áp. Hàn một dây từ cùng một chân bên này với một chân Nối đất trên Nano.
Hàn một dây từ chân giữa của chiết áp đến A0 trên Nano.
Hàn một dây từ chân không kết nối của một trong hai công tắc sang A1 trên Nano.
Hàn một dây từ chân không được kết nối trên công tắc còn lại sang A2 trên Nano.
Lưu ý: Không quan trọng đó là công tắc nào, bạn có thể thay đổi chúng rất dễ dàng trong mã, bên cạnh thực tế là một công tắc chỉ đơn giản làm ngược lại với công tắc kia.
Cắt một đoạn dây dài hơn 4 inch so với cổ uốn, và dải cả hai bên. Sử dụng Sharpie, đánh dấu một mặt bằng một đường kẻ.
Hàn một dây vào chốt bên không được kết nối cuối cùng của chiết áp, xoắn đầu chưa kết nối của dây này cùng với đầu không được đánh dấu của dây từ bước cuối cùng.
Hàn kết nối này kết thúc đến 5V trên Nano.
Bước 2: Màn hình và dây nguồn
Cắt 2 đoạn dây dài hơn 4 inch so với cổ uốn và dải cả hai đầu.
Sử dụng Sharpie, đánh dấu các đầu của mỗi dây, một dây có 2 đường và một dây có 3.
Hàn dây có 2 đường vào chân số 9 trên Nano.
Trên giắc cắm thùng 5mm của bạn, hàn một dây từ chân trung tâm (dương) với Vin trên Nano.
Hàn một dây khác vào chốt bên (nối đất / âm) của giắc cắm thùng.
Xoắn 3 sợi dây dài với nhau với dây từ chốt bên của giắc cắm thùng.
Hàn những sợi dây này với chân GND đang mở trên Nano.
Cách ly các kết nối bằng băng dính điện hoặc keo nóng nếu cần.
Bước 3: Cắt lỗ (chỉ trên phiên bản kim loại, nếu bạn in 3D bìa bạn sẽ ổn)
Sử dụng một mũi khoan và X-acto hoặc Utility Knife, cẩn thận tạo một lỗ ở mặt bên của nắp cho cổng USB của Nano.
Tạo một lỗ khác có kích thước bằng với kích thước của mặt giắc cắm thùng ở mặt sau của nắp, tốt hơn là gần với mặt đối diện với lỗ dành cho cổng USB.
Bước 4: Gắn các thành phần
Luồn ba sợi dây dài qua cổ uốn và ra phía bên kia.
Sử dụng nhiều keo nóng, gắn giắc cắm thùng vào đúng vị trí với các chốt hướng lên phía trên của nắp.
Một lần nữa, sử dụng nhiều keo nóng, gắn Nano vào vị trí, với nút đặt lại hướng xuống và cổng USB trong khe cắm của nó. Tôi đã tạo một "cầu nối keo nóng" giữa giắc cắm thùng và Nano, giúp giữ cho nhau giữ cố định ở vị trí.
Bây giờ chúng ta có thể chuyển sang làm phần đế có trọng số!
Bước 6: Cơ sở gia trọng
Tôi tự tin vào kỹ năng hàn của mình và đã lên kế hoạch tốt cho việc này, vì vậy tôi đã tiếp tục và thêm cơ sở trước khi kiểm tra mã. Nếu bạn không tự tin vào kỹ năng của mình, tôi khuyên bạn nên bỏ qua bước này và quay lại bước cuối cùng khi bạn biết mọi thứ đang hoạt động.
Nếu bạn đã tạo phiên bản in 3D, bạn có thể bỏ qua bước đầu tiên và chuyển sang bước thứ hai.
Bước 1: Gỗ
Từ một tấm ván ép 1/4 inch, cắt một cơ sở khoảng 3 inch x 2 inch.
Đánh nhám các cạnh để làm phẳng chúng và loại bỏ các vết nứt.
Bước 2: Trọng lượng
Trước tiên, hãy đảm bảo trọng lượng mà bạn lựa chọn, là nam châm, kim loại hoặc vật hàn tùy chỉnh, vừa với các cạnh của vỏ kim loại mà chúng tôi đã thực hiện. Của tôi hơi lớn ở một hướng, vì vậy tôi cạo một chút từ bên cạnh bằng một con dao X-acto. Nếu của bạn không phải là loại mà bạn có thể làm điều này, bạn có thể phải loay hoay tìm một thiết kế đế khác.
Dán nóng trọng lượng của bạn vào giữa miếng ván ép, hoặc trong trường hợp thiết kế in 3D, ở khu vực "khay" trung tâm mà tôi đã thiết kế cho mục đích này.
Bước 3: Cơ sở
Đặt nắp kim loại lên trọng lượng và căn giữa nó trên đế gỗ. (Trong trường hợp thiết kế in 3D, hãy lắp nó vào các rãnh tạo sẵn.)
Đảm bảo trọng lượng không ảnh hưởng đến bất kỳ thiết bị điện tử nào
Sử dụng keo nóng để cố định phần đế vào đúng vị trí. Sử dụng đủ để đảm bảo kết nối chắc chắn.
Bây giờ chúng ta đã hoàn thành hộp điều khiển của mình, hãy chuyển sang phần đèn.
Bước 7: NeoPixel Halo Ring
Nguồn cảm hứng cho tên của chiếc đèn này, phần này là vòng hào quang NeoPixel mà chúng tôi sẽ sử dụng làm nguồn chiếu sáng của mình. Phần cụ thể này có thể được sửa đổi hoặc thay thế bằng bất kỳ NeoPixel nào hoặc vòng đèn LED có thể định địa chỉ riêng, nếu muốn.
Bước 1: Hàn
Cắt một dải đèn LED NeoPixels 12 theo chiều dài.
Hàn chốt GND vào dây từ cổ uốn có 3 đường.
Hàn chốt Din vào dây có 2 vạch.
Hàn chân 5V vào dây có 1 vạch.
Bước 2: Kiểm tra đèn
Tải xuống và cài đặt thư viện Adafruit_NeoPixel và mở mã "strandtest".
Thay đổi mã PIN không đổi thành 9.
Thay đổi dòng nơi dải được xác định để nó được định cấu hình cho 12 đèn LED.
Tải mã lên Nano và đảm bảo tất cả các đèn LED của bạn hoạt động bình thường.
Thay thế bất kỳ đèn LED bị lỗi nào bằng đèn LED đang hoạt động, cho đến khi toàn bộ dải hoạt động.
Bước 3: Đổ chuông
Lấy vòng trên cùng từ đèn "Stick and Click" và cắt bất kỳ vít nào gắn trên vành bên trong.
Cắt một khía nhỏ trên cạnh cho các dây từ dải.
Bóc vỏ cho băng dính ở mặt sau của NeoPixels (nếu có) và dán chúng vào bên trong vòng, với một trong hai đầu của dải ngay khoảng khía mà chúng tôi đã tạo.
Sử dụng keo nóng để cố định chắc chắn các cạnh của dải
Sau khi keo nguội hoàn toàn, hãy kiểm tra lại các điểm ảnh. Điều này là để đảm bảo không có vấn đề gì về nhiệt độ và độ xoăn (một số ít của tôi là như vậy).
Bước 4: Gắn kết
Cắt hai hình chữ nhật nhỏ bằng gỗ 1/4 inch, có chiều cao bằng chiều cao của chiếc nhẫn và chiều rộng bằng 1 2/3 lần.
Dán những thứ này song song với nhau ở hai bên của dây từ vòng, lấp đầy khoảng trống và phủ hoàn toàn các dây giữa bằng keo.
Cẩn thận đẩy bất kỳ chiều dài thừa nào của dây trở lại cổ uốn, sau đó dán các miếng gỗ vào phần cuối của cổ, sử dụng nhiều keo và cẩn thận lấp đầy bất kỳ khoảng trống nào (không lấp đầy cổ bằng keo).
Bước 6: Hoàn thiện
Bạn có thể sơn chiếc nhẫn và gắn bất kỳ màu nào nếu bạn thích, tôi thích lớp hoàn thiện bằng bạc nên tôi chỉ sử dụng Sharpie để che đi logo (một cách khó chịu) được in trên chiếc nhẫn. Tương tự với các phần còn lại của đèn.
Bây giờ chúng ta có thể tiếp tục để hoàn thành mã cuối cùng!
Bước 8: Mã và kiểm tra
Vì vậy, bây giờ tất cả những gì chúng ta cần làm là lập trình đèn và kiểm tra nó. Kèm theo đó là phiên bản mã hiện tại (rev1.0), mình đã test mã này khá rộng rãi và hoạt động rất tốt. Tôi đang làm việc trên bản rev2.0 trong đó các nút được định cấu hình làm ngắt bên ngoài để có thể chuyển đổi giữa các chế độ dễ dàng hơn, nhưng phiên bản này có lỗi và chưa sẵn sàng để phát hành. Với phiên bản hiện tại, bạn phải giữ nút cho đến khi nó chạy vòng lặp Debounce và nhận ra sự thay đổi trạng thái, điều này có thể gây khó chịu trên các vòng lặp "Động" dài hơn. Dưới đây là mã với một số giải thích được viết trong (có các giải thích tương tự trong phiên bản có thể tải xuống).
#include #ifdef _AVR_ #include #endif
#define mã PIN 9
#define POT A0 #define NÚT1 A1 #define NÚT2 A2
// Tham số 1 = số pixel trong dải
// Tham số 2 = số chân Arduino (hầu hết đều hợp lệ) // Tham số 3 = cờ loại pixel, thêm với nhau khi cần: // Dòng bit NEO_KHZ800 800 KHz (hầu hết các sản phẩm NeoPixel có đèn LED WS2812) // NEO_KHZ400 400 KHz (cổ điển ' v1 '(không phải v2) pixel FLORA, trình điều khiển WS2811) // Điểm ảnh NEO_GRB được nối dây cho dòng bit GRB (hầu hết các sản phẩm NeoPixel) // Điểm ảnh NEO_RGB được nối dây cho dòng bit RGB (pixel v1 FLORA, không phải v2) // NEO_RGBW Điểm ảnh được nối dây cho Dòng bit RGBW (sản phẩm NeoPixel RGBW) Adafruit_NeoPixel hào quang = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800);
// Và bây giờ, một thông điệp an toàn từ những người bạn của chúng tôi tại Adafruit:
// QUAN TRỌNG: Để giảm nguy cơ kiệt sức của NeoPixel, hãy thêm tụ điện 1000 uF trên
// dẫn nguồn pixel, thêm điện trở 300 - 500 Ohm trên đầu vào dữ liệu của pixel đầu tiên // và giảm thiểu khoảng cách giữa Arduino và pixel đầu tiên. Tránh kết nối // trên mạch trực tiếp… nếu bạn phải kết nối GND trước.
// Biến
int buttonState1; int buttonState2; // giá trị đọc hiện tại từ chân đầu vào int lastButtonState1 = LOW; // lần đọc trước đó từ chân đầu vào int lastButtonState2 = LOW; chế độ int; // chế độ đèn của chúng ta, có thể là một trong 16 cài đặt (0 đến 15) int BrightVal = 0; // độ sáng / tốc độ, do chiết áp đặt
// các biến sau dài vì thời gian, được đo bằng mili giây, // sẽ nhanh chóng trở thành một số lớn hơn có thể được lưu trữ trong một int. long lastDebounceTime = 0; // lần cuối cùng chân đầu ra được bật tắt là long debounceDelay = 50; // thời gian gỡ lỗi; tăng nếu đầu ra nhấp nháy
void debounce () {
// đọc trạng thái của switch thành một biến cục bộ: int read1 = digitalRead (BUTTON1); int read2 = digitalRead (BUTTON2); // Nếu một trong hai nút bị thay đổi do nhiễu hoặc do nhấn: if (read1! = LastButtonState1 || read2! = LastButtonState2) {// đặt lại bộ hẹn giờ gỡ lỗi lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// nếu trạng thái nút chắc chắn đã thay đổi do nhấn / nhả: if (read1! = buttonState1) {buttonState1 = read1; // đặt nó làm giá trị đọc nếu nó bị thay đổi if (buttonState1 == LOW) {// chúng được đặt làm chế độ chuyển mạch thấp hoạt động ++; if (mode == 16) {mode = 0; }}} if (read2! = buttonState2) {buttonState2 = reading2; if (buttonState2 == LOW) {mode = mode - 1; if (mode == -1) {mode = 15; }}}} // lưu bài đọc cho lần sau thông qua vòng lặp lastButtonState1 = read1; lastButtonState2 = read2; }
void getBright () {// mã của chúng tôi để đọc chiết áp, ut nhập một giá trị từ 0 đến 255. Được sử dụng để đặt độ sáng ở một số chế độ và tốc độ ở một số chế độ khác.
int potVal = analogRead (POT); sángVal = bản đồ (potVal, 0, 1023, 0, 255); }
// Đây là các chế độ màu của chúng tôi. Một số trong số này có nguồn gốc từ ví dụ sợi nhất, một số khác là nguyên bản.
// Tô màu lần lượt vào các dấu chấm (colorwipe, bắt nguồn từ strandtest)
void colorWipe (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i
// các hàm cầu vồng (cũng có nguồn gốc từ strandtest)
void cầu vồng (uint8_t chờ đã) {
uint16_t tôi, j;
for (j = 0; j <256; j ++) {for (i = 0; i
// Hơi khác một chút, điều này làm cho cầu vồng được phân bổ đều khắp
void cầu vồngCycle (uint8_t chờ) {uint16_t i, j;
for (j = 0; j <256 * 5; j ++) {// 5 chu kỳ của tất cả các màu trên bánh xe for (i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, Wheel (((i * 256 / halo.numPixels ()) + j) & 255)); } halo.show (); trì hoãn (chờ đợi); }}
// Nhập giá trị 0 đến 255 để nhận giá trị màu.
// Các màu là sự chuyển đổi r - g - b - trở lại r. uint32_t Wheel (byte WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {return halo. Color (255 - WheelPos * 3, 0, WheelPos * 3); } if (WheelPos <170) {WheelPos - = 85; return halo. Color (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos - = 170; return halo. Color (WheelPos * 3, 255 - WheelPos * 3, 0); }
void setup () {
// Đây là cho Trinket 5V 16MHz, bạn có thể loại bỏ ba dòng này nếu bạn không sử dụng Trinket #if được định nghĩa (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Kết thúc mã đặc biệt của đồ trang sức pinMode (POT, INPUT); pinMode (BUTTON1, INPUT_PULLUP); pinMode (BUTTON2, INPUT_PULLUP); pinMode (PIN, OUTPUT); Serial.begin (9600); // gỡ lỗi nội dung halo.begin (); halo.show (); // Khởi tạo tất cả các pixel thành 'off'}
void loop () {
debounce ();
//Serial.println(mode); // gỡ lỗi khác //Serial.println(lastButtonState1); //Serial.println(lastButtonState2);
if (mode == 0) {
getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (BrightVal, BrightVal, BrightVal)); // đặt tất cả các pixel thành màu trắng} halo.show (); }; if (mode == 1) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (BrightVal, 0, 0)); // đặt tất cả các pixel thành màu đỏ} halo.show (); }; if (mode == 2) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, BrightVal, 0)); // đặt tất cả các pixel thành màu xanh lục} halo.show (); }; if (mode == 3) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, 0, BrightVal)); // đặt tất cả các pixel thành màu xanh lam} halo.show (); }; if (mode == 4) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, BrightVal, BrightVal)); // đặt tất cả các pixel thành màu lục lam} halo.show (); }; if (mode == 5) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (BrightVal, 0, BrightVal)); // đặt tất cả các pixel thành màu tím / magenta} halo.show (); }; if (mode == 6) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (BrightVal, BrightVal, 0)); // đặt tất cả các pixel thành màu cam / màu vàng} halo.show (); }; if (mode == 7) {// bây giờ là chế độ động getBright (); colorWipe (halo. Color (BrightVal, 0, 0), 50); // Màu đỏ }; if (mode == 8) {getBright (); colorWipe (halo. Color (0, BrightVal, 0), 50); // Màu xanh lá }; if (mode == 9) {getBright (); colorWipe (halo. Color (0, 0, BrightVal), 50); // Màu xanh dương }; if (mode == 10) {getBright (); colorWipe (hào quang. Color (sángVal, sángVal, sángVal), 50); // trắng }; if (mode == 11) {getBright (); colorWipe (halo. Color (sángVal, sángVal, 0), 50); // cam vàng }; if (mode == 12) {getBright (); colorWipe (halo. Color (0, BrightVal, BrightVal), 50); // lục lam}; if (mode == 13) {getBright (); colorWipe (halo. Color (sángVal, 0, sángVal), 50); // màu tím / đỏ tươi}; if (mode == 14) {// hai cái cuối cùng là điều khiển tốc độ, vì độ sáng là động getBright (); cầu vồng (sángVal); }; if (mode == 15) {getBright (); cầu vồngCycle (sángVal); }; chậm trễ (10); // cho phép bộ xử lý nghỉ ngơi một chút}
Bước 9: Chung kết
Và bây giờ chúng ta có một chiếc đèn nhỏ siêu sáng tuyệt vời!
Bạn có thể sửa đổi nó thêm từ đây hoặc để nguyên. Bạn có thể thay đổi mã hoặc thậm chí viết một mã mới hoàn toàn. Bạn có thể phóng to đế và thêm pin. Bạn có thể thêm một người hâm mộ. Bạn có thể thêm nhiều NeoPixels hơn. Danh sách tất cả mọi thứ bạn có thể làm với điều này gần như vô hạn. Tôi nói "gần như" bởi vì tôi khá chắc chắn rằng chúng ta vẫn chưa có công nghệ để chuyển đổi nó thành một trình tạo cổng thông tin nhỏ (thật không may), nhưng ngoài những thứ như vậy, giới hạn duy nhất là trí tưởng tượng của bạn (và ở một mức độ nào đó, như tôi đã tìm thấy gần đây, các công cụ trong xưởng của bạn). Nhưng nếu bạn không có công cụ, đừng để điều đó cản trở bạn, nếu bạn thực sự muốn làm điều gì đó thì luôn có cách.
Đó là một phần quan điểm của dự án này, để chứng minh với bản thân (và ở mức độ thấp hơn, với thế giới) rằng tôi có thể tạo ra những thứ hữu ích mà người khác cũng muốn, ngay cả khi tất cả những gì tôi có là một đống rác thực sự cũ và bị bỏ đi. các thành phần và một thùng nguồn cung cấp Arduino.
Tôi sẽ dừng lại ở đây, bởi vì tôi nghĩ điều này diễn ra khá tốt. Nếu bạn có đề xuất để cải thiện, hoặc câu hỏi về phương pháp của tôi, vui lòng để lại bình luận bên dưới. Nếu bạn thực hiện điều này, hãy chụp ảnh, tất cả chúng ta đều muốn xem nó!
Xin đừng quên Bình chọn nếu bạn thích điều này!
Như mọi khi, đây là những dự án Nguy hiểm Nổ, sứ mệnh cả đời của anh ấy, "Hãy mạnh dạn xây dựng những gì bạn muốn xây dựng, và hơn thế nữa!"
Bạn có thể tìm thấy phần còn lại của các dự án của tôi ở đây.
Cảm ơn bạn đã đọc và Chúc bạn làm vui vẻ!
Đề xuất:
Đèn pin tiên tiến nhất - LED COB, LED UV và Laser Inside: 5 bước (có hình ảnh)
Đèn pin tiên tiến nhất - LED COB, LED UV và Laser Inside: Có rất nhiều đèn pin trên thị trường có cùng công dụng và khác nhau về mức độ sáng, nhưng tôi chưa bao giờ thấy đèn pin nào có nhiều hơn một loại ánh sáng Trong dự án này, tôi đã thu thập 3 loại ánh sáng trong một chiếc đèn pin, tôi
Cách tôi tạo ra chiếc đèn pin tiên tiến nhất từ trước đến nay: 10 bước (có hình ảnh)
Cách tôi tạo ra chiếc đèn pin tiên tiến nhất từ trước đến nay: Thiết kế PCB là điểm yếu của tôi. Tôi thường có một ý tưởng đơn giản và quyết định hiện thực hóa nó càng phức tạp và hoàn hảo càng tốt. Đèn pin 4,5V có bóng đèn thông thường hút bụi a. Công suất ánh sáng từ đó b
Máy tính bay tên lửa mô hình tiên tiến !: 4 bước (có hình ảnh)
Máy tính bay tên lửa mô hình tiên tiến !: Tôi đang cần một máy tính bay tên lửa mô hình cao cấp cho tên lửa mới nhất của tôi có thể tự điều khiển mà không cần vây! Vì vậy, tôi đã tự chế tạo! Lý do tôi quyết định chế tạo nó là vì tôi chế tạo tên lửa TVC (điều khiển véc tơ lực đẩy). Điều này có nghĩa là
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): 5 bước (có hình ảnh)
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): Cách kết hợp một đèn báo tia cực tím tân cổ điển phát sáng kỳ lạ. . Ý tưởng của tôi là sử dụng những thứ này khi tôi
Sử dụng AC với đèn LED (Phần 2) - và Làm cho đèn bộ đếm tiện dụng này: 9 bước
Sử dụng AC với đèn LED (Phần 2) - và Làm cho bộ đếm tiện dụng này sáng. đèn LED của chúng tôi hoạt động mà không cần máy biến áp và tạo ra một ánh sáng đơn giản được tích hợp vào thanh mở rộng. CẢNH BÁO