Mục lục:

Gương vô cực dễ dàng với Arduino Gemma & NeoPixels: 8 bước (có hình ảnh)
Gương vô cực dễ dàng với Arduino Gemma & NeoPixels: 8 bước (có hình ảnh)

Video: Gương vô cực dễ dàng với Arduino Gemma & NeoPixels: 8 bước (có hình ảnh)

Video: Gương vô cực dễ dàng với Arduino Gemma & NeoPixels: 8 bước (có hình ảnh)
Video: Lạ lắm cách xăm mình ngầu lòi #shorts #thúvị 2024, Tháng bảy
Anonim
Gương vô cực dễ dàng với Arduino Gemma & NeoPixels
Gương vô cực dễ dàng với Arduino Gemma & NeoPixels

Hãy chứng kiến! Hãy nhìn sâu vào chiếc gương vô cực đơn giản và đầy mê hoặc! Một dải đèn LED chiếu sáng vào bên trong trên tấm gương để tạo ra hiệu ứng phản chiếu vô tận. Dự án này sẽ áp dụng các kỹ năng và kỹ thuật từ Lớp Arduino giới thiệu của tôi và tổng hợp tất cả lại thành một dạng cuối cùng bằng cách sử dụng một bảng Arduino Gemma nhỏ hơn.

Xem hội thảo trên web về dự án này! Hãy xem hội thảo trên web này mà tôi đã dẫn dắt vào ngày 28 tháng 6 năm 2017 để xem tôi hoàn thành bản dựng này!

Để cập nhật những gì tôi đang làm, hãy theo dõi tôi trên YouTube, Instagram, Twitter, Pinterest và đăng ký nhận bản tin của tôi.

Bước 1: Nguồn cung cấp

Quân nhu
Quân nhu

Để làm theo bài học này, bạn sẽ cần:

  • Dao tiện ích sắc bén
  • Thước kim loại hoặc hình chữ T
  • Thảm cắt hoặc bìa cứng
  • Máy in cho mẫu hoặc la bàn vẽ hình tròn
  • Dao chấm điểm bằng nhựa (tùy chọn nhưng đẹp)
  • Súng bắn keo nóng chảy hoặc keo dán thủ công E6000 / Quick Hold
  • Clothespin (tùy chọn, để sử dụng làm kẹp keo)
  • Gương tròn 4"
  • Gương soi trong suốt
  • Tấm xốp đen, độ dày 3/16"
  • Arduino Uno và breadboard không hàn trên tấm gắn
  • Cáp USB A-B
  • Nút bấm nhỏ (bạn đã hàn trước đó)
  • Dây bảng mạch
  • Dải RGBW NeoPixel (hoặc dải LED RGBW WS2812b khác) (19 pixel, sử dụng cùng một dải mà bạn đã hàn trước đó)
  • Hàn sắt & thuốc hàn
  • Dụng cụ tuốt dây
  • Máy cắt chéo phẳng
  • Dụng cụ thứ ba
  • Đồng hồ vạn năng (tùy chọn)
  • Kìm mũi kim nhỏ
  • Cái nhíp
  • Bảng Arduino Gemma
  • Cáp micro USB
  • Bộ chia USB, nếu máy tính của bạn chỉ có 3 cổng USB (chẳng hạn như máy Mac mới hơn)
  • Cáp mở rộng USB (tùy chọn)
  • Bộ chuyển đổi nguồn USB
  • Pin & bộ sạc Lipoly (tùy chọn)

Dự án này sẽ hướng dẫn bạn cách xây dựng một vỏ bọc thiết bị điện tử từ bảng xốp, yêu cầu bề mặt làm việc được bảo vệ (tấm cắt hoặc nhiều lớp bìa cứng), thước kim loại và dao tiện ích sắc bén. Bạn có thể sử dụng súng bắn keo nóng để lắp ráp các mảnh hoặc lựa chọn chất kết dính thủ công như E6000. Một gương thủy tinh tròn là trung tâm của gương vô cực, và một mảnh nhựa gương có thể nhìn xuyên qua là thành phần bí mật để tạo ra hiệu ứng đường hầm vô cực. Nếu bạn không có dao chấm điểm bằng nhựa, bạn có thể sử dụng một chiếc kéo chắc chắn để cắt nhựa gương, nhưng hãy để lại một khoảng rộng hơn bạn nghĩ, vì màng gương có xu hướng bong ra một chút xung quanh hình cắt kéo- cắt các cạnh. Hãy cẩn thận khi sử dụng các dụng cụ sắc nhọn, để một bát nước đá gần bất kỳ nơi nào có keo nóng để xử lý vết bỏng nhanh chóng và sử dụng hệ thống thông gió thích hợp cho bất kỳ chất kết dính nào.

Hình ảnh
Hình ảnh

Arduino Gemma - Dự án gương vô cực thu nhỏ mạch Arduino bằng cách thay thế Arduino Uno bằng Arduino Gemma. Gemma là một bo mạch nhỏ được xây dựng xung quanh vi điều khiển ATTiny85, có ít bộ nhớ hơn và ít tính năng hơn so với Atmega328 của Uno, nhưng nó cũng nhỏ hơn và chi phí thấp hơn. Các miếng đệm lớn siêu dễ hàn (và may bằng chỉ dẫn điện, nhưng đó là một chủ đề cho một lớp khác). Gemma sử dụng cáp micro USB để kết nối với máy tính của bạn và có cổng JST để kết nối pin. Bạn sẽ học cách lập trình Gemma từ phần mềm Arduino và xây dựng nó thành dự án cuối cùng. Bạn cũng có thể sử dụng Adafruit Gemma thay thế, nhưng bạn sẽ cần thực hiện thêm một bước để định cấu hình phần mềm Arduino.

Hình ảnh
Hình ảnh

Dải RGBW NeoPixel - Dải địa chỉ kỹ thuật số này chứa các chip WS2812b điều khiển các đèn LED ghép màu đỏ, xanh lá cây, xanh lam và trắng. NeoPixel là tên thương hiệu Adafruit nhưng bạn cũng có thể tìm thấy dải này bằng cách tìm kiếm "dải WS2812b RGBW" trên trang web của nhà cung cấp yêu thích của bạn. Mã mẫu được cung cấp trong lớp này sẽ không hoạt động với dải RGB (không có màu trắng), dải LED tương tự hoặc với bất kỳ loại chip điều khiển kỹ thuật số nào khác (như APA104 hay còn gọi là DotStar)

Bước 2: Cắt các mảnh khung

Cắt mảnh khung
Cắt mảnh khung

Hãy sẵn sàng cho một số thủ công giấy! Bước này liên quan đến các công cụ sắc bén và cần chú ý đến từng chi tiết, vì vậy hãy đảm bảo rằng bạn đang nghỉ ngơi đầy đủ nhưng cũng không quá nhiều caffein. Sử dụng ánh sáng rực rỡ và bề mặt làm việc lớn, sạch sẽ được bảo vệ bằng thảm cắt hoặc bìa cứng.

Nếu bạn là người mới làm quen với việc cắt và dán tấm ván xốp, hãy kiếm thêm để thực hành và tránh những sai lầm - một gói ba tấm ván 16x20in là đủ (và bạn có thể thực hiện các dự án khác với nó nếu bạn còn thừa). Để tránh bị thương, hãy sử dụng một lưỡi dao sắc, thước kim loại, tốc độ chậm và thận trọng. Việc làm lại một vài mảnh là điều bình thường do lưỡi dao trượt hoặc gãy.

Có hai cách để tạo các hình dạng bạn sẽ cắt: in ra mẫu hoặc vẽ các hình dạng bằng compa vẽ hình tròn. Không có lợi thế khác biệt trong cả hai, nhưng các kỹ năng và công cụ của bạn có thể khiến bạn bị ảnh hưởng theo cách này hay cách khác. Mẫu có sẵn dưới dạng PDF lát gạch cho giấy cỡ chữ cái, bạn sẽ băng lại với nhau và sử dụng keo dính để dán nó vào xốp của bạn. Ngoài ra còn có một phiên bản mới nhất của tệp mẫu trong trường hợp bạn muốn in nó trên máy in khổ lớn hoặc thực hiện các thay đổi.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Tuy nhiên, thực sự đơn giản để vẽ các hình dạng bằng tay, tôi hứa! Trước tiên, hãy vẽ một vòng tròn để phù hợp với kích thước gương của bạn bằng cách đặt la bàn thành bán kính của nó (bán kính 4 "mirror = 2") và vẽ một vòng tròn trên điểm xốp của bạn cách mỗi cạnh ít nhất 5 inch. Chắc chắn, bạn chỉ có thể theo dõi chu vi của gương, nhưng sau đó bạn phải tìm và đánh dấu tâm! La bàn tạo một vết lõm ở điểm chính giữa, rất tiện lợi để tạo vòng tròn đồng tâm thứ hai.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Bây giờ, hãy mở rộng la bàn của bạn lên 4 và vẽ ra hình tròn lớn hơn xung quanh hình tròn đầu tiên. Đây là phần dưới / mặt sau hoàn chỉnh của chiếc gương của bạn - hãy gắn nhãn nó như vậy.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Mảnh trên cùng / phía trước chỉ cần lớn hơn một chút, vì vậy hãy mở rộng la bàn của bạn lên 4 3/16 và vẽ nó ra ở một khoảng cách an toàn so với mảnh dưới cùng.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Cửa sổ quan sát chỉ nên nhỏ hơn một chút so với gương, mặc dù không quan trọng chính xác là bao nhiêu. Đặt la bàn của bạn nhỏ hơn bán kính gương khoảng 1/8 inch, sau đó vẽ hình tròn bằng cách sử dụng cùng một điểm chính giữa với chu vi phía trước / trên cùng lớn hơn.

Hình ảnh
Hình ảnh

Dán nhãn phần này trong vòng tròn nhỏ hơn, phần này sẽ bị cắt đi trong giây lát.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Dọc theo một cạnh dài của tấm xốp, đánh dấu và cắt một dải rộng 1/2 "và dải khác rộng 1".

Hình ảnh
Hình ảnh

Dải hẹp sẽ ôm lấy gương và hỗ trợ dải NeoPixel của bạn, trong khi dải rộng hơn sẽ tạo thành bức tường bên ngoài của khung hình tròn.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Để cắt các vòng tròn! Một số khéo léo và kiên nhẫn rất hữu ích ở đây. Tôi thích sử dụng một con dao thủ công nhỏ hơn để cắt các hình tròn vì tôi cảm thấy mình kiểm soát được nhiều hơn. Con dao cụ thể mà tôi đang sử dụng ở đây có lưỡi X-acto thông thường, và tôi tìm thấy nó ở lối đi trong sổ lưu niệm.

Đầu tiên, kéo nhẹ dao của bạn xung quanh toàn bộ chu vi của miếng dưới cùng, chỉ xuyên qua lớp giấy trên cùng. Trong quá trình vượt qua này, bạn có thể tự do điều chỉnh góc của lưỡi dao nhưng sao cho thoải mái nhất và tạo ra hình dạng chính xác nhất.

Cắt xung quanh vòng tròn một lần nữa, theo dấu đường bạn đã thực hiện trong đường chuyền trước đó. Lần này, hãy chú ý đến góc lưỡi dao của bạn, phải là 90 độ (thẳng lên và xuống). Nhấn mạnh khi bạn thực hiện vết cắt này và giữ các ngón tay của bạn không nằm trên đường lưỡi dao. Nhấc bảng của bạn lên và kiểm tra xem bạn có cắt hết được không. Thực hiện thêm một lần nữa với lưỡi dao của bạn để cắt qua bất kỳ điểm nào còn lại dọc theo chu vi.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Tiếp theo, cắt miếng trên cùng, và sau đó cắt hình tròn bên trong của nó. Phần này được nhìn thấy nhiều hơn bất kỳ phần nào khác, vì vậy hãy dọn dẹp thêm một chút để làm thẳng các cạnh không bằng phẳng.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Đối với vòng trong cong, hãy cắt chéo mỗi 1/4 hoặc lâu hơn dọc theo dải xốp mỏng hơn, nhưng không cắt hết! Điều đó dễ hơn nghe - chỉ cần thực hiện hai lần lướt nhẹ và bạn sẽ nhận được treo nó một cách nhanh chóng. Những vết cắt này cho phép mảnh cong đồng thời mang lại bề mặt bên trong nhẵn.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Phần khung bên ngoài cần phải đặt nó hướng ra ngoài tốt nhất, vì vậy chúng tôi sẽ thực hiện các vết cắt chéo theo một mẫu hơi khác. Đầu tiên, chuẩn bị cho mối nối bằng cách vạch một đường 3/16 "từ mép. Thực hiện các đường cắt ngang nhẹ nhàng dọc theo dải, xen kẽ các phần dày và mỏng tương ứng khoảng 3/8" và 1/8 ".

Hình ảnh
Hình ảnh

Để loại bỏ vật liệu nơi mép sẽ bị nhăn, đặt dải dọc theo mép bề mặt cắt và trượt dao theo chiều ngang để loại bỏ bọt thừa, giữ nguyên lớp giấy dưới cùng.

Hình ảnh
Hình ảnh

Bây giờ, loại bỏ các phần mỏng bằng cách kéo chúng ra bằng một cặp nhíp hoặc kìm. Họ phát hành với một âm thanh popping thỏa mãn. Với không gian thừa đó, dải này giờ đây có thể tự uốn cong và tạo thành lớp vỏ bên ngoài sạch sẽ của dự án!

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Cắt một miếng nhựa gương soi có kích thước lớn hơn gương nhưng nhỏ hơn khung bên ngoài. Đừng bận tâm đến việc cố gắng cắt nó theo hình tròn. Nếu bạn có một con dao chấm điểm bằng nhựa, đó là tốt nhất. Kéo rãnh dọc theo thước của bạn một vài lần, sau đó kéo miếng nhựa dọc theo điểm số. Tuy nhiên, một con dao tiện ích cũng dễ dàng cắt vật liệu mỏng này, mặc dù có một số vết bong tróc của vật liệu gương dọc theo cạnh cắt, dù sao thì vật liệu này cũng sẽ được ẩn bên trong khung.

Bước 3: Lắp ráp khung

Lắp ráp khung
Lắp ráp khung
Lắp ráp khung
Lắp ráp khung

Bảo vệ bề mặt làm việc của bạn bằng một số vật liệu phế liệu. Làm nóng súng bắn keo của bạn và chuẩn bị một bát nước đá để gần đó, đề phòng bạn bị bỏng. Bạn có thể sử dụng (các) chất kết dính khác nhau cho dự án này nếu bạn thích.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Bôi một lớp keo vào tâm của hình tròn dưới cùng và dán gương của bạn vào đó. Xoay và bóp gương nhẹ nhàng so với điểm đánh bọt, căn chỉnh nó với vòng tròn đã đánh dấu. Sau đó, dán dải mỏng của bạn vào chu vi của gương và cắt bỏ bất kỳ phần thừa nào, để lại một khoảng trống nhỏ cho dây điện đi qua.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Đặt miếng "bánh rán" phía trước của bạn úp xuống bề mặt làm việc và dán keo trên mép đã được dán. Lặp lại ấn các miếng này với nhau và xuống bề mặt làm việc khi bạn dán keo xung quanh để cạnh trước trở nên đẹp và sạch sẽ. Vành ngoài sẽ không đi hết xung quanh và điều đó không sao - bạn có thể chọn thu hẹp khoảng cách này sau nếu muốn.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Luồn dây của dải NeoPixel qua khe hở nhỏ trên vành gương và dán nó vào bên trong. Tùy ý sử dụng kẹp quần áo để kẹp dải vải trong khi keo đông lại. Cố gắng tránh để keo nóng lên gương, nhưng nếu bạn làm vậy thì không sao cả! Một chút cồn tẩy rửa sẽ giải phóng khả năng bám của nó trên các bề mặt không xốp như thủy tinh.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Làm sạch khu vực làm việc của bạn để loại bỏ bụi và các vết bọt. Sử dụng một miếng vải không xơ để lau gương cho sạch hoàn toàn, sau đó lấy gương nhìn xuyên qua của bạn và bóc vỏ bảo vệ từ một bên. Bôi một lượng nhỏ keo vào bốn điểm xung quanh bức tường bên trong (giữ cho chuyển động súng bắn keo của bạn không kéo qua gương để tránh các sợi keo bị lạc), và dán gương nhìn xuyên vào đúng vị trí. Bây giờ các bề mặt phản chiếu của bạn đã được niêm phong và bảo vệ khỏi bụi.

Hình ảnh
Hình ảnh

Tận hưởng khả năng phản xạ kép bằng cách cắm dải NeoPixel của bạn vào bảng Arduino chạy mã NeoPixel mẫu được mô tả trong bài học Lớp Arduino của tôi về chủ đề này.

Bước 4: Sơ đồ mạch & Mã giả

Sơ đồ mạch & Mã giả
Sơ đồ mạch & Mã giả

Mặc dù bạn có thể tham khảo sơ đồ được hiển thị ở đây trong suốt quá trình xây dựng của bạn, nhưng tôi thực sự khuyến khích bạn tự vẽ. Bạn sẽ có tài liệu tham khảo nhanh khi xây dựng breadboard và các nguyên mẫu cuối cùng, đồng thời việc lập sơ đồ mạch sẽ giúp bạn dễ dàng thiết kế các dự án của riêng mình hơn trong tương lai. Mục đích của sơ đồ mạch điện là hiển thị tất cả các kết nối điện trong mạch điện, không cần thiết vị trí hoặc hướng vật lý của chúng.

Các kết nối như sau:

NeoPixel 5V -> Arduino 5V

NeoPixel GND -> Arduino GND

NeoPixel Din (dữ liệu trong) -> Chân I / O kỹ thuật số Arduino (có thể định cấu hình)

một bên của công tắc nút bấm tạm thời -> Chân I / O kỹ thuật số Arduino (có thể định cấu hình)

mặt khác của công tắc nút bấm tạm thời -> Arduino GND

Mạch này kết hợp dải NeoPixel với một nút bấm để kích hoạt các hoạt ảnh LED khác nhau và sẽ sử dụng một điện trở kéo lên bên trong như bạn đã thấy trong bài học đầu vào / đầu ra. Sử dụng tất cả thông tin này, chúng tôi có thể viết một bản mô phỏng chương trình Arduino của chúng tôi mà con người có thể đọc được, được gọi là "mã giả:"

Các biến: số chân NeoPixel, số chân nút, có bao nhiêu đèn LED, độ sáng của đèn LED

Tác vụ một lần: khởi tạo chân nút làm đầu vào với điện trở kéo lên bên trong, khởi tạo dải NeoPixel, mô tả hoạt ảnh LED

Tác vụ lặp: kiểm tra xem nút đã được nhấn chưa và nếu có, hãy chuyển sang hoạt ảnh LED khác

Nó có vẻ đơn giản, nhưng dành thời gian để viết mã giả cho dự án của bạn sẽ giúp bạn viết bản phác thảo Arduino cuối cùng của mình nhanh hơn và ít nhầm lẫn hơn. Nó hoạt động giống như một danh sách việc cần làm cũng như một hướng dẫn tham khảo khi bạn đang sử dụng mã và không thể nhớ những gì bạn đang cố gắng hoàn thành!

Bước 5: Nguyên mẫu Breadboard

Nguyên mẫu Breadboard
Nguyên mẫu Breadboard

Lấy Arduino và breadboard của bạn và đảm bảo rằng dây USB đã được rút ra. NeoPixels của bạn vẫn được cắm từ trước đó chứ? Tuyệt vời! Nếu không, hãy kết nối chúng với nhau: 5V với thanh nguồn, Din với chân 6 của Arduino, GND với thanh nối đất.

Sau đó, thêm một nút bấm tạm thời vào breadboard của bạn, tạo dải phân cách ở giữa. Kết nối một chân với thanh nối đất và chân lân cận của nó với chân Arduino 2. Tải xuống mã cho dự án này trực tiếp hoặc trong mô-đun Autodesk Circuits ở trên, nhấp vào nút "Trình chỉnh sửa mã", sau đó "Tải xuống mã" và mở tệp trong Arduino hoặc sao chép và dán mã vào một bản phác thảo Arduino trống mới.

Hình ảnh
Hình ảnh

Cắm cáp USB của bạn và tải mã lên bảng Arduino của bạn. Nhấn nút; nó sẽ kích hoạt một hoạt ảnh mới để phát trên NeoPixels. Đường ray 5V là đủ cho một vài pixel này ở độ sáng hạn chế, nhưng đối với các dự án trong tương lai với nhiều đèn LED hơn, bạn sẽ cần một nguồn điện riêng, như đã thảo luận trong bài học kỹ năng của Lớp học Arduino giới thiệu của tôi.

Bước 6: Mã

Hãy kiểm tra mã chi tiết hơn:

#define BUTTON_PIN 2 // Chân IO kỹ thuật số được kết nối với nút. Cái này sẽ

// được điều khiển bằng một điện trở kéo lên nên công tắc sẽ // kéo chân cắm xuống đất trong giây lát. Trên quá trình chuyển đổi cao -> thấp // logic nhấn nút sẽ thực thi. #define PIXEL_PIN 6 // Chân IO kỹ thuật số được kết nối với NeoPixels. #define PIXEL_COUNT 19 #define BRIGHTNESS 100 // 0-255 // Tham số 1 = số pixel trong dải // Tham số 2 = số pin (hầu hết đều hợp lệ) // Tham số 3 = cờ loại pixel, thêm lại với nhau nếu cần: / / NEO_RGB Điểm ảnh được nối dây cho dòng bit RGB // Điểm ảnh NEO_GRB được nối dây cho dòng bit GRB, hãy sửa nếu màu được hoán đổi khi thử nghiệm // NEO_RGBW Điểm ảnh được nối dây cho dòng bit RGBW // NEO_KHZ400 400 KHz bitstream (ví dụ: điểm ảnh FLORA) // NEO_KHZ800 800 KHz bitstream (ví dụ: dải LED Mật độ cao), đúng cho thanh neopixel Adafruit_NeoPixel dải = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRBW + NEO_KHZ800); bool oldState = CAO; int showType = 0;

Tương tự như mã ví dụ NeoPixel, phần đầu tiên này thiết lập dải NeoPixel và các biến cho chốt nút bấm, chốt điều khiển pixel, v.v.

void setup () {

pinMode (BUTTON_PIN, INPUT_PULLUP); dải.setBrightness (BRIGHTNESS); dải.begin (); dải.show (); // Khởi tạo tất cả các pixel thành 'off'} Chức năng thiết lập đặt chân 2 thành một đầu vào với điện trở kéo lên bên trong của nó được kích hoạt, đặt độ sáng chung của các pixel và bắt đầu kết nối dữ liệu pixel.

void loop () {

// Nhận trạng thái nút hiện tại. bool newState = digitalRead (BUTTON_PIN); // Kiểm tra xem trạng thái có thay đổi từ cao xuống thấp hay không (nhấn nút). if (newState == LOW && oldState == HIGH) {// Độ trễ ngắn đến nút debounce. chậm trễ (20); // Kiểm tra xem nút có còn thấp không sau khi gỡ lỗi. newState = digitalRead (BUTTON_PIN); if (newState == LOW) {showType ++; if (showType> 6) showType = 0; startShow (showType); }} // Đặt trạng thái nút cuối cùng về trạng thái cũ. oldState = newState; }

Đầu tiên, hàm vòng lặp kiểm tra trạng thái hiện tại của nút và lưu trữ nó trong một biến boolean (có thể là một trong hai trạng thái: CAO hoặc THẤP). Sau đó, nó kiểm tra và kiểm tra lại xem trạng thái đó có đi từ CAO xuống THẤP hay không. Nếu đúng như vậy, showType được tăng lên một và hàm startShow được gọi, với showType hiện tại được truyền cho nó dưới dạng đối số (showType bị giới hạn ở 0-6). Biến oldState được cập nhật để phản ánh trạng thái của nút cuối cùng.

void startShow (int i) {

switch (i) {case 0: colorWipe (dải. Color (0, 0, 0), 50); // Dấu ngắt màu đen / tắt; trường hợp 1: colorWipe (dải. Color (255, 0, 0), 50); // Dấu ngắt màu đỏ; trường hợp 2: colorWipe (dải. Color (0, 255, 0), 50); // Dấu ngắt màu xanh lá cây; trường hợp 3: colorWipe (dải. Color (0, 0, 255), 50); // Dấu ngắt màu xanh lam; trường hợp 4: xungWhite (5); nghỉ; trường hợp 5: RainbowFade2White (3, 3, 1); nghỉ; trường hợp 6: fullWhite (); nghỉ; }}

Hàm startShow chứa một câu lệnh switch / case, đây chỉ là một cách nhanh chóng ưa thích để xếp chồng một loạt các câu lệnh if / else. Trường hợp chuyển đổi so sánh biến i với các giá trị của mỗi trường hợp, sau đó chạy mã trong câu lệnh đó. Từ khóa

nghỉ;

thoát khỏi câu lệnh switch / case. Công tắc / trường hợp này được sử dụng để gọi các chức năng hoạt ảnh khác nhau mỗi khi bạn nhấn nút.

Hình ảnh
Hình ảnh

Bây giờ bạn đã có một nguyên mẫu breadboard chức năng, đã đến lúc biến nó thành một dự án hoàn chỉnh bằng cách sử dụng Arduino Gemma, nhỏ hơn, ít tính năng hơn và chi phí thấp hơn Arduino Uno. Bạn cũng có thể sử dụng Adafruit Gemma thay thế, nhưng bạn sẽ cần thực hiện thêm một bước để định cấu hình phần mềm Arduino.

Đầu tiên, hãy thay đổi biến pin NeoPixel từ 6 thành 1 trong mã của bạn:

#define PIXEL_PIN 1 // Chân IO kỹ thuật số được kết nối với NeoPixels.

Cắm Arduino Gemma vào máy tính bằng cáp USB và chọn "Arduino Gemma" làm loại bảng của bạn trong menu Công cụ Arduino.

Hình ảnh
Hình ảnh

Các chức năng hạn chế của bộ vi điều khiển ATTiny85 trên bo mạch không hỗ trợ cổng nối tiếp giống như Uno, vì vậy bạn không phải chọn bất kỳ thứ gì từ menu Cổng. Tuy nhiên, hãy đảm bảo chọn "Arduino Gemma" trong mục menu Lập trình viên.

Hình ảnh
Hình ảnh

Bảng cần một chút trợ giúp để biết khi nào bạn đang cố gắng lập trình nó, vì vậy hãy nhấn nút đặt lại trên bảng và trong khi đèn LED màu đỏ đang nhấp nháy, hãy nhấn nút Tải lên để tải bản phác thảo của bạn lên Gemma. Nếu đèn LED màu đỏ của bạn không phát xung khi bạn nhấn nút đặt lại, cáp USB của bạn có thể chỉ ở dạng nguồn và nên được đổi sang cáp USB có kết nối nguồn và dữ liệu. Một lý do khác khiến đèn LED của bạn có thể không phát xung là nếu bạn đang sử dụng cổng USB 3 (tất cả các máy Mac mới hơn), cổng này gặp sự cố khi nhận dạng bộ nạp khởi động Gemma. Sử dụng cổng USB 2 trên máy tính của bạn hoặc cổng USB giữa máy tính của bạn và Gemma.

Bước 7: Mạch hàn

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Để chạy mạch với Gemma của bạn, chúng tôi sẽ hàn dây trực tiếp vào các miếng đệm trên bảng. Cắt bỏ đầu nối và dải breadboard, xoắn và thiếc các đầu của dây dải NeoPixel. Hàn dây vào dây dẫn chéo của nút bấm theo cách tương tự (bạn có thể sử dụng nút từ bài học hàn). Xoắn và hàn hai dây nối đất với nhau.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Các lỗ lớn của Gemma giúp bạn dễ dàng lắp ráp mạch này mà không cần thêm bộ phận nào - chỉ cần luồn dây đóng hộp qua các lỗ và quấn phần thừa xung quanh miếng hàn. Các kết nối như sau:

  • NeoPixel 5V -> Gemma Vout
  • NeoPixel Din -> Gemma 1 ~ (chân số 1)
  • NeoPixel GND -> một bên của nút bấm -> Gemma GND
  • mặt khác của nút bấm -> Gemma 2 (chân số 2)

Thiết lập bảng mạch của bạn trong một dụng cụ cầm tay thứ ba và làm nóng các kết nối bằng mỏ hàn của bạn trước khi áp dụng một số chất hàn nữa để nhấn chìm miếng đệm và dây. Sau khi tất cả các kết nối nguội, hãy cắt bỏ dây thừa bằng các miếng cắt phẳng của bạn.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Keo nóng Gemma của bạn vào vị trí với cổng USB đối diện với cạnh của hình tròn.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Dán nắp trước / mặt trên và thao tác cạnh để gắn các miếng với nhau một cách sạch sẽ. Bạn có thể phải cắt bớt hình tròn dưới cùng của mình một chút để làm cho nó vừa vặn, và tương tự như vậy, hãy kéo cạnh mở ra để chứa người bạn đời của nó. Dán nút bấm vào bất cứ nơi nào bạn muốn.

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

Cắm cáp USB, nhấn nút và tận hưởng! Bạn có thể chuyển đổi màu sắc và hình ảnh động bằng cách thay đổi mã. Sử dụng bộ đổi nguồn USB nếu bạn muốn gắn nó lên tường. Tại thời điểm này, bạn có thể làm một mảnh nhỏ có cạnh bằng hạt xốp khác để thu hẹp khoảng trống còn lại, nếu bạn muốn. Một số cách sử dụng gợi ý: treo nó trên tường, để ở bàn làm việc, tặng bạn bè!

Hình ảnh
Hình ảnh

Bạn có thể dễ dàng chạy dự án này bằng pin bên trong thay vì kết nối cáp USB. Hướng mà bạn dán Gemma sẽ xác định quyền truy cập vào cổng pin, vì vậy bạn có thể muốn dán lại nó ở một góc khác. 19 điểm ảnh RGBW nhân với dòng điện tối đa 80ma (cộng với ~ 10ma đối với Gemma) bằng 1530ma, có nghĩa là về mặt kỹ thuật, chúng ta cần một pin có ít nhất nhiều mAh. Tuy nhiên, mã cho gương không gần bằng cách sử dụng tất cả các đèn LED của bốn pixel ở độ sáng đầy đủ cùng nhau, vì vậy trong thực tế, dòng điện tối đa rút ra ít hơn nhiều. Một thỏa hiệp về pin lành mạnh là pin lipoly có thể sạc lại 1200mAh.

Hình ảnh
Hình ảnh

Cảm ơn bạn đã theo dõi dự án Arduino này! Để tìm hiểu thêm kiến thức cơ bản, hãy xem Lớp học Arduino giới thiệu của tôi. Tôi nóng lòng muốn xem các phiên bản của bạn trong phần nhận xét và hoan nghênh những suy nghĩ và phản hồi của bạn.

Đề xuất: