Mục lục:

Đồng hồ của những kẻ xâm lược không gian (với ngân sách!): 6 bước (có hình ảnh)
Đồng hồ của những kẻ xâm lược không gian (với ngân sách!): 6 bước (có hình ảnh)

Video: Đồng hồ của những kẻ xâm lược không gian (với ngân sách!): 6 bước (có hình ảnh)

Video: Đồng hồ của những kẻ xâm lược không gian (với ngân sách!): 6 bước (có hình ảnh)
Video: Nhanh trí dùng ba,o cao s,u#shorts 2024, Tháng mười hai
Anonim
Image
Image
Thu thập các bộ phận
Thu thập các bộ phận

Gần đây, tôi đã thấy một bản dựng tuyệt vời của GeckoDiode và ngay lập tức tôi muốn tự mình xây dựng nó. Có thể hướng dẫn là Đồng hồ trên máy tính để bàn của Space Invaders và tôi khuyên bạn nên xem qua nó sau khi đọc.

Dự án gần như chỉ được xây dựng từ các bộ phận có nguồn gốc từ Adafruit với vỏ máy in 3D và mặt cắt bằng laser. Thêm tất cả mọi thứ lên chi phí xây dựng trở nên rất tốn kém! (khoảng £ 100 trở lên). Vấn đề là nếu bạn không sở hữu một máy in 3D, bạn phải trả tiền để in mô hình của mình, hoặc mua một chiếc hộp xấu xí trên ebay thường chỉ hơi quá nhỏ, quá hẹp, ngắn hoặc ngược lại.

Hầu hết các bản dựng của tôi phải được thực hiện với ngân sách dành cho người có sở thích và thùng loa luôn là phần đắt tiền nhất. Vì vậy, tôi quyết định chế tạo chiếc đồng hồ tương tự nhưng với kinh phí khá.

Nếu bạn thích nhìn những chiếc đồng hồ kỳ lạ, hãy xem Đồng hồ vôn kế Steampunk của tôi, sử dụng cùng vật liệu xây dựng cho vỏ máy:-)

Bước 1: Thu thập các bộ phận

Để thực hiện dự án này, bạn sẽ cần những thứ sau. Hãy nhớ rằng với các vật liệu làm vỏ bọc, bạn sẽ có NHIỀU phần còn lại mà bạn có thể sử dụng trong các dự án khác (điều này làm cho chi phí của các công trình xây dựng trong tương lai thậm chí còn rẻ hơn). Tôi đã tải lên bản PDF của những thứ bạn cần nếu bạn muốn kiểm tra giá, v.v. trên ebay.

Công cụ (tôi cho rằng bạn sẽ có những thứ này rồi)

  • Hàn sắt
  • Hàn
  • Bơm hàn (nếu bạn mắc lỗi và cần loại bỏ chất hàn)
  • Súng bắn keo nóng
  • Keo dính nóng
  • Dao thủ công (còn gọi là dao stanley)
  • Thước / thước đo / Thước cặp Vernier
  • Máy khoan không dây + mũi khoan (1 mm đến 13 mm)
  • Dụng cụ đa năng quay với đĩa cắt (còn gọi là Dremel)
  • Chất lỏng làm sạch như Isopropyl-alcohol (chất tẩy rửa sau cạo râu rẻ tiền cũng hoạt động)
  • Mặt nạ an toàn (sử dụng khi phun sơn)

Điện tử (Chi phí điện tử = £ 13,05)

Một số trong số này tôi đã có miễn phí. Đồ chơi điện tử cũ có những chiếc loa Mylar xinh xắn bên trong nếu bạn tháo chúng ra. Trong khi bạn ở đó, bạn có thể có được một thùng DC và một nút nhấn.

  • Cáp Dupont / Jumper - £ 0,99
  • DS1307 Mô-đun đồng hồ thời gian thực - £ 0,99 (Tôi khuyên bạn nên mua DS3231 thay thế nếu có)
  • Cáp Arduino nano + usb - £ 2,23
  • Loa Mylar 8 Ohm - £ 0,99
  • Nút nhấn tạm thời SPST - £ 1,49
  • Ổ cắm thùng DC 5.5mm - £ 1,26
  • Nguồn điện DC 5v, 0,5A - £ 2,83
  • MAX7219 Màn hình ma trận điểm - 3,76 bảng Anh

Vỏ bọc (Chi phí vật liệu bao bọc = £ 17,19)

  • Ống thoát nước vuông 60mm - £ 5,99 (bạn sẽ còn lại NHIỀU LẦN này cho các dự án khác)
  • Sơn phun màu đen - 4,85 bảng Anh
  • PVC đen (tấm xốp) - £ 2,99
  • Keo siêu dính - £ 0,99
  • Mũ cuối 60mm - £ 2,37

Tổng chi phí = £ 30,24:-) ……..và ngày nay, con số này tương đương với 38 USD cho bất kỳ độc giả quốc tế nào.

Tôi thích làm việc với ống vuông PVC. Chúng rất dễ khoan, cắt, sơn và tôi đã sử dụng chúng cho đồng hồ Steampunk của mình.

Bước 2: Chuẩn bị cho bạn đường ống thoát nước

Chuẩn bị cho bạn đường ống thoát nước
Chuẩn bị cho bạn đường ống thoát nước

Đánh dấu nơi bạn muốn đặt mọi thứ

Điều này thật dễ dàng. Tôi không sử dụng bất cứ thứ gì lạ mắt. Đầu tiên, tôi cắt chiều dài 2,5 m xuống một kích thước hợp lý cho băng ghế ở nhà của tôi (khoảng 30 cm) bằng một chiếc cưa sắt. Sau đó, tôi cắt nó xuống bằng một cái dremel để làm cho các cạnh đẹp và thẳng. Sau đó, tôi đặt các thành phần trên bề mặt của ống và sử dụng một thị trường cố định để đánh dấu nơi tôi muốn khoan và cắt. Tôi lần theo bên ngoài của ma trận LED và sử dụng một công cụ đa năng quay để cắt một lỗ hình vuông cho nó vừa khít với mặt phẳng. Tôi sử dụng thước cặp kỹ thuật số để đo đường kính của nút nhấn và thùng DC để cắt các lỗ có kích thước chính xác ở phía sau và phía trên.

Cắt một khung bezel

Tôi có vô số tấm ván xốp PVC đặt xung quanh từ các dự án trước đây. Chúng rất thích hợp để gắn các mạch vào trong thùng loa, sử dụng nó để trộn epoxy với nhau trên đó và tạo ra các bit và bob khác. Lấy một mảnh khổ A4 hoặc A5 và cắt một đường viền hoặc viền bao quanh hình vuông 5 mm để tạo khung cho ma trận LED. Thao tác này sẽ ẩn bất kỳ kết thúc trơn trượt nào bạn đã thực hiện khi cắt lỗ vuông cho ma trận. Đối với điều này, tôi đã vẽ một mẫu nhỏ trên Inkscape và in nó ra (Tệp SVG đính kèm). Sau đó, tôi dán nó xuống bằng băng dính vào tấm xốp và cẩn thận cắt xung quanh nó bằng một con dao thủ công. Thật khó để làm đúng, tôi khuyên bạn nên cắt bên trong trước rồi mới đến bên ngoài.

Sơn mọi thứ

Khi tất cả các lỗ đã được khoan và cắt, hãy loại bỏ các cạnh có gờ. Lau sạch các bề mặt bằng khăn lau tẩm cồn để loại bỏ bụi hoặc ô nhiễm (hoặc một số vết cạo râu rẻ tiền nếu bạn không có bất kỳ IPA nào). Thử xịt ở nơi thoáng khí và sử dụng khẩu trang nếu có thể. Tôi đã làm điều này bên ngoài với một số bìa cứng trên sàn nhưng nó không phải là lý tưởng, ngay cả một cơn gió nhỏ cũng có thể khiến sơn bay ngược vào mặt bạn. Hãy cẩn thận và mang thiết bị bảo hộ nếu có thể.

Xịt ống, gờ và nắp cuối để chúng có màu đen giống nhau, sau đó để khô trong vài giờ.

Bước 3: Lập trình Arduino

Lập trình Arduino
Lập trình Arduino

Một số thông tin về mã

Ghi có cho GeckoDiode vì tôi đã lấy mã của anh ấy và sửa đổi nó để hoạt động với Chip MAX7219. Phiên bản Adafruit sử dụng bus I2C và MAX sử dụng bus SPI. Đối với điều này, tôi đã sử dụng thư viện MaxMatrix, mà tôi đã tải xuống và cài đặt vào Arduino IDE. Nếu bạn muốn tìm hiểu thêm về MaxMatrix và cách hoạt động chính của ma trận LED, có một hướng dẫn rất ngắn trên HowToMechatronics.com. Ma trận LED chỉ được tạo thành từ một màu duy nhất của LED chứ không phải có một màn hình nhiều màu.

Một điều thất vọng mà tôi gặp phải là KHÔNG có định nghĩa rõ ràng về các chức năng dành cho thư viện là gì và những đối số nào cần được chuyển vào mỗi. May mắn thay, tôi đã có thể tìm ra những gì đã làm bằng cách thử và sai và cuối cùng không quá khó để làm cho nó hoạt động bình thường. Điều đầu tiên cần hiểu là bạn phải xác định có bao nhiêu mô-đun 8x8 trong ma trận của bạn. Trong mã của tôi, điều này được lưu trữ trong một số nguyên được gọi là "mô-đun" như thế này:

"int module = 4;"

Đây là SỐ trong số 8x8 mô-đun bạn đã liên kết với nhau trên màn hình của mình. Không phải là số lượng đèn LED hoặc chân nào bạn đang sử dụng dữ liệu gửi. Điều tiếp theo cần nhớ là nếu "sprite" của bạn hoặc bất cứ thứ gì bao gồm tất cả bốn ma trận thì mảng byte cần được xác định như sau:

"byte text_start_bmp = {32, 8,… * một số dữ liệu byte *…};"

Các con số cho biết số lượng hàng và cột trong ma trận. Trong dịp này, byte có tên "text_start_bmp" được hiển thị trên 32 cột và 8 hàng. Các con số chỉ được hiển thị trên một ma trận 8x8 duy nhất nên số phút 10 trông giống như sau:

"byte minutes_ten_bmp = {8, 8,… * một số dữ liệu byte *…};"

Kẻ xâm lược bao gồm hai ma trận do đó byte sẽ được cung cấp 16, 8 trong dữ liệu byte.

Điều khác khiến tôi chú ý là vị trí của dữ liệu sprite. Bạn có thể yêu cầu Arduino hiển thị sprite ở vị trí X / Y khác trên ma trận từ vị trí chính mặc định. Mã trông giống như thế này cho phút 0:

"matrix.writeSprite (8, 0, minutes_zero_bmp);"

Một số là điều chỉnh X và một số khác là Y. Hiện không thể nhớ số nào là số nào, nhưng nếu bạn muốn di chuyển biểu tượng lên hoặc xuống theo 1 hàng hoặc cột, bạn chỉ cần tăng số dương hoặc số trừ. Đủ đơn giản cho ma trận 8x8 nhưng khi sprite của bạn bao gồm nhiều hơn một ma trận, bạn phải đặt vị trí nhà cho phù hợp. Sprite "POP" được hiển thị bên dưới:

"matrix.writeSprite (16, 0, invader_pop_bmp);"

Bây giờ để ý xem vị trí nhà là 16 không phải 8 như thế nào? Ở đây mã cho biết sprite được hiển thị từ trái sang phải từ vị trí hàng / cột 16. Nó coi hai màn hình 8x8 là một màn hình 16x8 duy nhất mặc dù có 4! Do đó, điều quan trọng là phải suy nghĩ về số lượng hiển thị mà sprite sẽ được hiển thị trên và định cỡ từng mảng byte của sprite cho phù hợp. Nếu không, bạn sẽ có một số sprite rất thú vị!

DS1307 RTC

Mặc dù DS1307 hoạt động tốt với thư viện Adafruit RTClib.h, bạn không thể đặt thời gian theo cách thủ công. Tôi chỉ đi với điều này vì nó có nghĩa là ít mã hơn để thay đổi. DS1307 đặt thời gian bằng cách sử dụng ngày và giờ mã được biên dịch từ máy tính của bạn. Thay vào đó, hãy học cách sử dụng thư viện DS3231 và đặt nó một lần trong một hoặc hai phút trong tương lai. Nó cũng ít bị "trôi" hơn nên giữ được thời gian tốt hơn theo thời gian. Cả hai mô-đun đều sử dụng bus I2C và tôi tin rằng DS3231 có thể được sử dụng với RTClib.h nếu bạn muốn tiếp tục sử dụng nó.

Tải lên mã

Sau khi bạn hài lòng với mã, hãy tải mã đó lên Arduino. Tôi đã đính kèm bản phác thảo Arduino của mình để bạn xem xét.

Bước 4: Lắp ráp đồ điện tử

Lắp ráp điện tử
Lắp ráp điện tử

Trong khi tải lên mã, tôi khuyên bạn nên lắp ráp thiết bị điện tử bằng dây dupont / jumper trên bảng mạch chính để khi tải mã lên, bạn biết mọi thứ hoạt động như dự định. Điều này cho phép bạn giải quyết mọi vấn đề với việc hiển thị các sprites, v.v. trước khi bạn bắt đầu dán và dán. Trong mã của tôi, bạn có thể thấy tôi đang sử dụng các chân kỹ thuật số 4, 5, 6, 7, 9, nhưng bạn có thể thay đổi các chân này nếu cần. Bạn có thể cần hàn cáp vào nút, giắc cắm DC và Loa nhưng phần lớn phải là đầu nối kiểu đẩy dễ dàng.

Một khi bạn hài lòng, thiết bị điện tử hoạt động như dự định, bạn nên xem xét việc hàn các kết nối. Bạn có thể làm điều này với dải đồng / bảng mạch, nhưng đối với một số lượng nhỏ các thành phần, bạn có thể hàn trực tiếp vào các chân của Arduino. Nó sẽ trông giống như một ổ chuột nhưng sẽ không ai nhìn thấy bên trong vỏ bọc sau khi nó được lắp ráp, chỉ cần đảm bảo rằng tất cả các bộ phận kim loại được tách biệt, bạn không muốn bất kỳ thứ gì bị chập điện trong hộp.

Tôi đã làm cho nút nhấn hoạt động khi chân "mainButton" được kéo xuống thấp. Tôi thấy Arduino đang nhận ra nút nhấn sai được nhấn khi các thiết bị điện tử nổi nằm trên đó. Sử dụng một điện trở kéo xuống 10K trên nút nhấn và đặt chân thành "INPUT_PULLUP" đã giải quyết vấn đề đó cho tôi.

Đính kèm là giản đồ ở dạng PDF và-p.webp

Bước 5: Gắn thiết bị điện tử và đóng lại

Gắn thiết bị điện tử và đóng lại
Gắn thiết bị điện tử và đóng lại
Gắn thiết bị điện tử và đóng lại
Gắn thiết bị điện tử và đóng lại

Đối với đồng hồ của tôi, tôi gắn các thiết bị điện tử bằng cách sử dụng keo nóng, nhưng hãy cẩn thận không bôi quá nhiều (các thiết bị điện tử không thích bị nóng lên quá lâu). Tôi đã sử dụng một giọt keo siêu nhỏ nhỏ xung quanh viền và ép nó vào mặt trước. Tôi đã hoàn thành phần bao vây bằng cách đẩy các nắp cuối ở mỗi đầu. Tất nhiên bạn có thể dán các nắp cuối để bao bọc hoàn toàn cụm máy, nhưng tôi đã để hở một mặt của tôi nên tôi vẫn có thể truy cập vào cổng USB của arduino để đặt lại ngày và giờ trong tương lai.

Bước 6: Thưởng thức

Thưởng thức
Thưởng thức
Thưởng thức
Thưởng thức

Nhìn chung, tôi hài lòng với cách làm này, coi đó chỉ là một số ống máng xối và sơn phun. Tôi hy vọng bạn thích nó và cho tôi biết nếu bạn có thể nghĩ ra bất kỳ nâng cấp thú vị nào có thể được thêm vào. Tôi muốn biết liệu có ai có thể làm cho cái này rẻ hơn không hoặc nếu có một cách tiết kiệm nào khác để làm một cái bao vây mà tôi có thể thử trong dự án tiếp theo của mình.

Đề xuất: