Mục lục:

Arduino đom đóm: 11 bước (có hình ảnh)
Arduino đom đóm: 11 bước (có hình ảnh)

Video: Arduino đom đóm: 11 bước (có hình ảnh)

Video: Arduino đom đóm: 11 bước (có hình ảnh)
Video: Jack | Đom Đóm | Official Music Video 2024, Tháng bảy
Anonim
Image
Image
Những gì bạn cần
Những gì bạn cần

Một trong những điều tôi mong đợi với mùa hè ở Pennsylvania là những con đom đóm trong sân sau của tôi. Gần đây tôi đã tự học lập trình Adruino với mục đích thực hiện một dự án đơn giản này. Đó là một chương trình tuyệt vời để bắt đầu và đủ dễ dàng cho bất kỳ lập trình viên nào, từ người mới đến chuyên gia, có thể xây dựng, sửa đổi và giải trí chỉ trong vài phút. Bắt đầu nào.

Bước 1: Những gì bạn cần

Những gì bạn cần
Những gì bạn cần

Để lỗi của bạn nhấp nháy, bạn sẽ cần các thành phần sau:

  • Arduino. Tôi đã bắt đầu với Nano, tuy nhiên bất kỳ bộ điều khiển vi mô tương thích với Arduino nào cũng sẽ làm được.
  • Đèn LED màu vàng, 5mm. Bạn có thể sử dụng tối đa 6 trong số chúng.
  • Điện trở. Bạn sẽ cần một điện trở cho mỗi đèn LED để hạn chế dòng điện. Tôi đã sử dụng 470-ohm nhưng mọi thứ trên 150 ohm đều ổn để bảo vệ bộ điều khiển vi mô của bạn.
  • Bảng mạch.
  • Dây nhảy.

Để hoàn thành dự án cho sân sau của bạn, bạn sẽ cần:

  • Hộp dự án bằng chứng thời tiết.
  • Pin 9 vôn có đầu nối. (Vui lòng xem ghi chú ở cuối phần này.)
  • Chuyển. (Tôi đã chọn những công tắc chống thấm nước này. Nếu bạn không sử dụng công tắc này bên ngoài, bất kỳ công tắc nào cũng sẽ làm được.)
  • Một vài thước dây để đặt các đèn LED xung quanh khu vườn. Tôi đã sử dụng khoảng 10 feet dây Ethernet Cat5 cho mỗi đèn LED.
  • Một breadboard nhỏ hoặc một số bảng perf.
  • Một tuyến cáp chống thời tiết mà các dây LED chạy qua. (Bạn có thể bỏ qua điều này nếu bạn không sử dụng bên ngoài.)
  • Ống co nhiệt để bảo vệ butts lỗi LED của bạn.
  • Các dải móc và vòng màu xanh lá cây (tức là khóa dán) để dán đom đóm LED vào cây và trụ trong vườn của bạn.
  • Tiêu đề nam để cắm các thành phần vào breadboard nhỏ của bạn.

Công cụ:

  • Các mũi khoan cho hộp dự án. (Sử dụng cơ hội này để có được cho mình một bước tốt đẹp. Bạn sẽ rất vui vì mình đã làm được).
  • Súng bắn keo nóng.
  • Sắt hàn.
  • Công cụ quay (tức là Dremel) để tạo khoảng trống trong hộp dự án nếu bạn cần.

Một vài lưu ý ở đây:

1. Lựa chọn pin là để khởi động nhanh chóng và dễ dàng. Sử dụng pin 9 volt vĩnh viễn là một chút lãng phí. Tốt hơn hết bạn nên sử dụng giá đỡ pin AA 4x để có tuổi thọ lâu hơn (tuy nhiên, bạn sẽ cần một hộp dự án lớn hơn để vừa với nó).

2. Nếu bạn chọn giải cấu trúc cáp Ethernet Cat 5 cho dây dẫn, hãy đảm bảo rằng chúng là lõi đồng và quấn chúng gọn gàng xung quanh một số PVC để giữ chúng ngăn nắp trong khi bạn làm việc. Một lần nữa, tôi đã sử dụng khoảng 10 feet dây cho mỗi đèn LED. Nếu bạn muốn truyền ánh sáng ra xa và rộng, bằng mọi cách, hãy sử dụng dây dài hơn!

3. Cuối cùng, tất cả các liên kết tôi cung cấp chỉ là gợi ý. Vui lòng đọc qua toàn bộ Tài liệu hướng dẫn này trước khi xây dựng hoặc mua bất kỳ thứ gì vì bạn sẽ hiểu rõ hơn về cách bạn muốn tự mình tiến hành.

Bước 2: Xây dựng mạch

Xây dựng mạch
Xây dựng mạch
Xây dựng mạch
Xây dựng mạch
Xây dựng mạch
Xây dựng mạch

Dự án này sử dụng các chân điều chế độ rộng xung trên Arduino của bạn. Bộ điều khiển vi mô có 6 chân trong số này và bạn có thể sử dụng bao nhiêu chân tùy thích. Mạch khá thẳng về phía trước. Nối tất cả nguồn điện từ các chân điều chế độ rộng xung (PWM) D3, D5, D6, D9, D10 và D11 đến các đầu dương của đèn LED của bạn. Nối các đầu cực âm vào các điện trở rồi nối đất chung. (Các điện trở có thể đi phía trước hoặc phía sau đèn LED. Nó không có gì khác biệt trừ khi bạn muốn bảo vệ chống đoản mạch ở dòng điện cao hơn.) Tôi đã đưa vào một vài sơ đồ để giúp nối dây. (Các sơ đồ được tạo bằng phần mềm thiết kế Fritzing.)

Bước 3: Mã

Image
Image

Nếu bạn là một lập trình viên dày dạn kinh nghiệm, bạn sẽ thấy mã này đơn giản. Đây là một mã tuyệt vời để bắt đầu học vì nó giới thiệu cho bạn cách sử dụng các biến, pinmodes, các hàm và thậm chí cả một trình tạo ngẫu nhiên. Mã không nhỏ gọn vì nó có thể được vì tôi chắc chắn rằng hiệu ứng tương tự có thể đạt được với các mảng, v.v.

Các bình luận mã đặt ra logic của mỗi phần. Toàn bộ mã được nhúng ở đây và bạn có thể tải xuống bản phác thảo bên dưới.

/*

Tập lệnh này nhấp nháy 6 đèn LED (tất nhiên là màu vàng) theo thứ tự ngẫu nhiên trong các khoảng thời gian ngẫu nhiên bằng cách sử dụng PWM. Mỗi đèn LED được điều khiển bởi chức năng riêng của nó. * / int led1 = 3; // LED kết nối với chân PWM 3, v.v. Tôi đã sử dụng tất cả 6 chân PWM. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; randnum dài; // randnum kiểm soát khoảng thời gian giữa các lần nhấp nháy và randbug dài; // randbug kiểm soát lỗi nào sáng lên. void setup () {pinMode (led1, OUTPUT); // Đặt tất cả các chân PWM làm đầu ra. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = random (3, 12); // randbug chọn ngẫu nhiên một hàm để thực thi, // do đó chọn ngẫu nhiên một lỗi để sáng lên. if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Mỗi hàm này hoạt động theo cùng một cách. 'vòng lặp for' tăng rồi giảm * đầu ra của chân đó để điều khiển độ sáng của đèn LED. * 'randnum' là khoảng thời gian ngẫu nhiên từ 10 đến 3000 ms * và chọn khoảng thời gian giữa các lần nhấp nháy lỗi. * 'delay 10' chỉ dành cho hiệu ứng mờ dần. * / void bug1 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led1, fadeValue); chậm trễ (10); } trì hoãn (randnum); } void bug2 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led2, fadeValue); chậm trễ (10); } trì hoãn (randnum); } void bug3 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led3, fadeValue); chậm trễ (10); } trì hoãn (randnum); } void bug4 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led4, fadeValue); chậm trễ (10); } trì hoãn (randnum); } void bug5 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led5, fadeValue); chậm trễ (10); } trì hoãn (randnum); } void bug6 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led6, fadeValue); chậm trễ (10); } trì hoãn (randnum); }

Bước 4: Xây dựng Hộp

Xây dựng nút lỗi!
Xây dựng nút lỗi!

Khi bạn đã cài mã Arduino của mình và bắt đom đóm hoạt động theo cách bạn thích, bạn có thể muốn đưa chúng vào vườn; điều đó có nghĩa là một hộp dự án và một số nhiệt co lại để giữ cho Arduino và đèn LED luôn khô ráo. Cùng làm nào!

Bước 5: Xây dựng nút lỗi

Xây dựng nút lỗi!
Xây dựng nút lỗi!
Xây dựng nút lỗi!
Xây dựng nút lỗi!
Xây dựng nút lỗi!
Xây dựng nút lỗi!
  • Cắt dây dẫn LED còn khoảng 5mm.
  • Dải và thiếc các đầu dây bạn đang sử dụng, cũng khoảng 5mm.
  • Trượt ống co nhiệt 1mm qua mỗi đầu dây.
  • Hàn đèn LED vào dây dẫn. (Tại thời điểm này, bạn nên chọn dây nào trong cặp của bạn sẽ là dây dương và dây nào sẽ là dây âm. Tôi đã chọn dây rắn là dây dương và dây trắng là dây âm. Hãy duy trì chiến lược đó cho đến hết dự án để tránh đau đầu sau này!)
  • Trượt nhiệt co lại qua dây trần và dây dẫn LED. Luồn nhanh ngọn lửa lên chúng để co chúng vào dây điện.
  • Trượt một miếng nhiệt khác lên trên đèn LED và dây dẫn với thấu kính LED nhô ra ở đầu và làm tan chảy nó tại chỗ.
  • Trượt một vài miếng nhiệt co lại lên dây qua toàn bộ chiều dài của nó và làm tan chảy nó trên mỗi vài feet để giữ cho dây gọn gàng.

Bước 6: Chuẩn bị Hộp dự án

Chuẩn bị Hộp Dự án
Chuẩn bị Hộp Dự án
Chuẩn bị Hộp Dự án
Chuẩn bị Hộp Dự án
  • Sử dụng một công cụ quay có gắn trống chà nhám để làm sạch mọi chất dẻo không cần thiết trong hộp dự án của bạn. (Hãy cẩn thận không cắt bỏ bất kỳ giá gắn vít nào mà bạn có thể cần để lắp hộp lại với nhau.)
  • Quyết định vị trí bạn muốn công tắc của mình và dây LED xuất hiện. Tôi đề nghị các bên nhưng sử dụng những gì đã từng phù hợp với nhu cầu của bạn.
  • Sử dụng mũi khoan có kích thước thích hợp để tạo lỗ cho tuyến cáp và công tắc của bạn.

Lưu ý: Trong ảnh ở trên, bạn sẽ thấy tôi đã làm một "cáp giả". Đây là một bó gồm 6 cặp dây mà tôi đã sử dụng cho các đèn LED bị co nhiệt để bó chúng lại với nhau. Tôi đã sử dụng nó để đảm bảo rằng dây cáp sẽ vừa khít với bó cáp thực tế và cũng để kiểm tra khả năng chống nước của hộp khi công tắc, dây cáp và nắp được bật. (Sau khi được ngâm trong 24 giờ trong nước 6 inch, nó có rất ít độ ẩm bên trong. Tôi rất vui khi gọi chiếc hộp này là "khả năng chống chịu thời tiết").

Bước 7: Mang sức mạnh

Mang theo sức mạnh!
Mang theo sức mạnh!
Mang theo sức mạnh!
Mang theo sức mạnh!
  • Xác định lượng pin và dây chuyển đổi bạn sẽ cần để tiếp cận Arduino của mình bằng cách đặt gần như cả ba thành phần vào hộp dự án. Cắt dây của công tắc và đầu nối pin 9V. Dải và thiếc các đầu. Trượt một ít nhiệt co lại tại chỗ cho bước tiếp theo.
  • Cắt bỏ hai ghim tiêu đề nam khỏi dải của bạn (nhưng giữ chúng dính vào nhau).
  • Hàn dây đỏ của đầu nối pin 9V vào một đầu của công tắc. Hàn đầu kia của công tắc vào chân cắm đầu đực. Hàn đầu pin đen với chân cắm đầu đực khác.
  • Như thể hiện trong sơ đồ trên, các chân tiêu đề sẽ đi vào breadboard để cấp nguồn cho Nano tại VIN (dương) và GND (âm). Chân VIN có thể xử lý từ 7 đến 12 volt. Nếu bạn định cấp nguồn cho Arduino của mình theo một cách khác với pin 9V, hãy sử dụng một chân cấp nguồn khác.

Bước 8: Sửa đổi Nano nếu cần

Sửa đổi Nano nếu cần
Sửa đổi Nano nếu cần

Vì hộp dự án của tôi khá nông, tôi cần phải tháo các chân tiêu đề ICSP để phù hợp. Các chân này là giao diện phụ với Arduino của bạn. Loại bỏ chúng sẽ không làm hỏng Nano của bạn vì bạn luôn có thể tải các tập lệnh qua cổng USB.

Lưu ý: Nếu Nano của bạn đến cần phải hàn các chân tiêu đề, chỉ cần bỏ qua các chân này khi lắp ráp Arduino của bạn.

Bước 9: Nối dây bên trong

Image
Image
Dây bên trong
Dây bên trong
Dây bên trong
Dây bên trong
  • Gắn cổng đệm cáp vào hộp dự án trong lỗ bạn đã khoan cho nó. Nếu bạn bối rối về cách sử dụng một bộ đệm cáp, video này tôi tìm thấy trên YouTube cho thấy một bộ phận đang được lắp ráp. (tua nhanh đến 0:57.) Của bạn có thể có một vòng đệm cao su. Điều này nằm giữa hộp dự án và đai ốc bên ngoài của tuyến cáp.
  • Tập hợp các đầu lỏng lẻo của dây LED. Dành thời gian này để cắt chúng thành một chiều dài bằng nhau, dải và thiếc các đầu. Luồn các đầu qua nắp của bộ đệm cáp và sử dụng một miếng co nhiệt để bó các đầu lại với nhau, để đủ chiều dài chạm tới bảng mạch bên trong hộp.
  • Đưa chùm dây qua cổng đệm cáp vào hộp dự án và vặn nắp đệm để khóa dây vào vị trí, tốt nhất là xung quanh co nhiệt mà bạn đã sử dụng để bó chúng lại với nhau..
  • Tách dây nối đất khỏi dây dương (nhớ lại dây bạn đã chọn trước đó). Hàn tất cả các dây nối đất lại với nhau thành một điểm chung. Gắn một sợi dây ngắn từ bó đó và kết thúc bằng 1 đầu đực. Sử dụng co nhiệt để bảo vệ các mối hàn trần của bạn.
  • Hàn đầu đực vào hai đầu của mỗi dây dương. Một lần nữa, sử dụng nhiệt co lại.
  • Chèn các tiêu đề nam cuối dương vào bảng mạch để kết nối với các chân PWM trên Arduino.
  • Chèn điểm chung vào breadboard để nó đi qua một điện trở hạn chế dòng điện và sau đó đến GND trên Arduino.
  • Đặt pin vào và lắp công tắc qua lỗ trên hộp mà bạn đã khoan trước đó. Lắp vòng đệm cao su giữa hộp dự án và nắp vặn. Cắm dây dẫn điện vào breadboard.
  • Đính hoặc vặn nắp vào hộp. Bạn đã hoàn tất!

Lưu ý: Lưu ý trong các sơ đồ và trong các giai đoạn phát triển, tôi đã sử dụng một điện trở giới hạn dòng cho mỗi đèn LED. Thông thường, mỗi đèn LED sẽ có điện trở riêng vì thông thường, nhiều hơn một đèn LED được chiếu sáng cùng một lúc. Mã không cho phép nhiều hơn một đèn LED sáng cùng một lúc, do đó chỉ sử dụng một điện trở là tốt để bảo vệ Arduino. Điều này cũng giúp tiết kiệm không gian trên bảng mạch nhỏ hoặc thời gian hàn từng đèn LED với điện trở trong dòng. Điều đó nói rằng… CẢNH BÁO !!! Nếu bạn định thay đổi mã để nhiều hơn một đèn LED được chiếu sáng cùng một lúc, bạn sẽ cần các điện trở riêng cho mỗi đèn LED.

Bước 10: Sử dụng nó

Sử dụng nó
Sử dụng nó

Sử dụng dây đai Velcro hoặc miếng keo nóng để dán đèn LED vào cây cối, hàng rào, chim hồng hạc hoặc bất cứ thứ gì khác trong sân của bạn. Sử dụng chúng bên trong bằng cách nhét chúng vào giá để rượu, sau rèm cửa hoặc thậm chí treo dây từ trần nhà để có hiệu ứng nổi 3D trong bóng tối! Đây sẽ là một điểm nhấn tuyệt vời cho các bữa tiệc, đám cưới, quay phim và chụp ảnh.

Bước 11: Tiến xa hơn…

Như đã nói trước đây, đây là phiên bản ban đầu của dự án này, nhưng nó có rất nhiều tiềm năng! Chạy nhiều đèn LED hơn bằng cách kết nối thanh ghi dịch chuyển (Xem hướng dẫn này của JColvin91 để tìm hiểu cách thực hiện.) Thêm cảm biến ánh sáng, bộ sạc năng lượng mặt trời và bộ hẹn giờ cho tính năng "đặt và quên nó đi"! Lộn xộn với mã để thêm pháo sáng của riêng bạn vào các lỗi. Chia sẻ những gì bạn làm và tận hưởng !!

CẬP NHẬT: Trong hai tuần qua kể từ khi Có thể hướng dẫn này được xuất bản, nhiều cộng tác viên đã đề xuất những cải tiến tuyệt vời về mã, phần cứng và việc thực thi dự án này. Tôi thực sự khuyên nếu bạn có kế hoạch xây dựng cái này, bạn hãy đọc qua các nhận xét và câu trả lời để biết ý tưởng về cách tạo ra những con bọ sét này theo những cách mà tôi không có kế hoạch. Với tinh thần tạo nguồn mở, tôi hoan nghênh tất cả các ý tưởng giúp phát triển dự án này thành nhiều hơn những gì tôi nghĩ có thể… và tôi cảm ơn tất cả những người đã biến điều đó thành hiện thực.

Đi. Chế tạo!!!

Đề xuất: