Mục lục:

Bàn phím nút LED Arduino điều khiển xử lý hoạt ảnh: 36 bước (có hình ảnh)
Bàn phím nút LED Arduino điều khiển xử lý hoạt ảnh: 36 bước (có hình ảnh)

Video: Bàn phím nút LED Arduino điều khiển xử lý hoạt ảnh: 36 bước (có hình ảnh)

Video: Bàn phím nút LED Arduino điều khiển xử lý hoạt ảnh: 36 bước (có hình ảnh)
Video: Tự học Arduino bài 2: Điều khiển LED bằng nút nhấn 2024, Tháng mười một
Anonim
Image
Image
Bàn phím nút LED Arduino điều khiển hoạt ảnh xử lý
Bàn phím nút LED Arduino điều khiển hoạt ảnh xử lý
Bàn phím nút LED Arduino điều khiển hoạt ảnh xử lý
Bàn phím nút LED Arduino điều khiển hoạt ảnh xử lý

Tấm lót nút này được làm bằng PCB và các thành phần khác do Sparkfun sản xuất. Nó được điều khiển bởi một Mega Arduino. Mỗi nút đều đẹp và nhỏ và thỏa mãn khi nhấn, và nó có một đèn LED RGB bên trong! Tôi đã sử dụng nó để điều khiển các hoạt ảnh mà tôi đã mã hóa trong Xử lý. Bàn phím sẽ gửi tin nhắn bất cứ khi nào một nút được nhấn, cho biết đó là nút nào. Xử lý nhận các thông báo này và thay đổi các biến trong bản phác thảo tùy thuộc vào những gì được nhấn.

Tại sao

Đèn LED rất mát. Các nút rất thú vị khi đẩy. Mô hình hình học hoạt hình là tốt đẹp. Tôi muốn kết hợp cả ba. Tôi mang dự án này đến một bữa tiệc, chiếu hình ảnh lên tường và để mọi người chơi với các nút. Nó cũng có thể được sử dụng bởi một VJ theo cách hiệu quả hơn, giống như một bộ điều khiển midi nhưng tự làm hơn.

Thế nào

Có bốn phần chính của dự án này.

Video Youtube đính kèm giúp bạn có cái nhìn rõ hơn về cách các nút bấm kết hợp với nhau. Tài liệu có thể hướng dẫn này bao gồm điều đó cũng như mã Arduino và Xử lý - (video bổ sung cho những thứ đang được thực hiện)

  1. Đặt bàn phím lại với nhau - Bắt đầu ở Bước 1

    Điều này liên quan đến việc chuẩn bị các thành phần và hàn chúng vào PCB

  2. Mã Arduino - Bắt đầu ở Bước 10

    Đối với điều này, chúng ta cần hiểu biết về quét ma trận, mà tôi sẽ nói qua.

  3. Mã xử lý - Bắt đầu ở Bước 24

    Có vô số khả năng ở đây, tôi sẽ nói qua một ví dụ mà tôi đã làm cho đến nay.

  4. Bắt Arduino gửi tin nhắn đến Xử lý - Bước 16 để gửi, Bước 30-31 để nhận

    Điều này rất hay và đơn giản, nó gửi thông điệp qua kết nối nối tiếp.

Cấp độ

Tôi cố gắng và viết các hướng dẫn của mình theo cách mà một người hoàn toàn không có kiến thức nào ít nhất cũng có thể làm theo. Trước tiên, bạn có thể thấy hữu ích khi xem một số hướng dẫn giới thiệu về Xử lý. Tôi sẽ bắt đầu với kênh YouTube của Daniel Shiffman.

Mã số

Tất cả mã (Arduino và Xử lý) đều có trên github của tôi ở đây.

Tín dụng

Tôi đã học được một loạt từ hướng dẫn này https://learn.sparkfun.com/tutorials/button-pad-ho… và phần lớn mã Arduino là từ đó, mặc dù tôi đã chỉnh sửa nó để hoạt động hơi khác so với bất kỳ ví dụ nào ở đó..

Bước 1: Các thành phần

Các thành phần!
Các thành phần!
Các thành phần!
Các thành phần!
Các thành phần!
Các thành phần!
Các thành phần!
Các thành phần!
  • Đèn LED RGB 16 x 5mm (không phải đèn LED định địa chỉ, chỉ là đèn cực âm thông thường thông thường)
  • 16 x 1N4148 điốt
  • Đệm nút silicon
  • PCB pad nút
  • Arduino Mega
  • Cáp nhảy

(Ngoài ra còn có một số thứ bạn có thể lấy từ Sparkfun để tổng thể mọi thứ gọn gàng hơn một chút, nhưng tôi chưa làm điều này)

Bước 2: Chuẩn bị điốt

Chuẩn bị điốt
Chuẩn bị điốt
Chuẩn bị điốt
Chuẩn bị điốt
Chuẩn bị điốt
Chuẩn bị điốt

Uốn cong từng diode và sau đó đẩy nó qua PCB.

Chân nhô ra ở phía nút, điều mà chúng tôi không muốn. Vì vậy, hãy lấy đi-ốt ra một lần nữa và cắt ngắn chân. (Bạn có thể có một số vết cắt cho phép bạn cắt đôi chân bằng phẳng trong khi nó vẫn ở trong đó sẽ giúp cuộc sống của bạn dễ dàng hơn, nhưng tôi chỉ có một chiếc kéo bình thường nên tôi phải kéo chúng ra để cắt chúng đủ ngắn.)

Điều cực kỳ quan trọng là phải uốn cong các chân và đẩy chúng qua PCB trước khi bạn cắt ngắn chúng. Nếu bạn cắt ngắn chúng trước thì bạn sẽ không thể uốn chúng thành hình dạng.

Làm 16 trong số những thứ giống như kiến nhỏ này.

Bước 3: Hàn các điốt vào bảng

Hàn các điốt vào bảng
Hàn các điốt vào bảng
Hàn các điốt vào bảng
Hàn các điốt vào bảng
Hàn các điốt vào bảng
Hàn các điốt vào bảng

Đặt từng điốt trở lại bảng. Điều quan trọng là kiểm tra hướng của diode. Nó có một đường màu đen ở một bên thẳng hàng với đường trên PCB. (Xem hình ảnh)

Việc lắp các điốt vào đúng vị trí là một việc khá khó khăn, đó là lý do tại sao tôi đã nói nếu bạn có các miếng cắt có thể cho phép bạn cắt chân phẳng mà không cần tháo chúng ra, nó sẽ giúp cuộc sống của bạn dễ dàng hơn. Tôi không có điều đó nên tôi đã sử dụng nhíp để đặt chúng trở lại, điều này đã giúp được một chút.

Hàn từng điốt vào vị trí.

Bước 4: Chuẩn bị đèn LED

Chuẩn bị đèn LED
Chuẩn bị đèn LED
Chuẩn bị đèn LED
Chuẩn bị đèn LED
Chuẩn bị đèn LED
Chuẩn bị đèn LED
Chuẩn bị đèn LED
Chuẩn bị đèn LED

Đẩy các đèn LED qua bảng và sau đó cắt các chân ra. Cũng giống như với điốt; điều quan trọng là phải đẩy các chân qua tấm ván trước, để chúng lan ra các góc chính xác, trước khi cắt các chân.

Có một chút thử nghiệm và sai sót khi cắt chân cho đúng chiều dài. Nếu bạn làm cho chúng quá dài, chúng sẽ nhô ra, nhưng quá ngắn và rất khó để đưa đèn LED vào lại.

Chuẩn bị 16 trong số những gã cụt tay nhỏ bé này.

Bước 5: Hàn các đèn LED vào bảng

Hàn các đèn LED vào bảng
Hàn các đèn LED vào bảng
Hàn các đèn LED vào bảng
Hàn các đèn LED vào bảng
Hàn các đèn LED vào bảng
Hàn các đèn LED vào bảng

Đẩy tất cả các đèn LED trở lại bảng.

Định hướng lại quan trọng ở đây. Một mặt của đèn LED có cạnh phẳng và cạnh này sẽ thẳng hàng với cạnh phẳng của hình tròn trên sơ đồ PCB. (Xem hình ảnh)

Kiểm tra xem các đèn LED có được đẩy đủ xa hay không bằng cách đặt miếng đệm silicone lên bảng và kiểm tra xem chúng không cản trở việc đẩy các nút hay không.

Hàn các đèn LED lên bảng.

Lưu ý: Tôi đã chỉ ra rằng vì không có vấn đề gì nhiều nếu một chút chân nhô ra ở mặt sau, bạn chỉ cần đẩy đèn LED qua, hàn chúng ở phía sau và sau đó cắt bỏ chân.

Bước 6: Sắp xếp đủ Cáp nhảy

Sắp xếp đủ Cáp nhảy
Sắp xếp đủ Cáp nhảy

Hãy nói về bảng một chút, bảng được sắp xếp thành 4 cột và 4 hàng đèn LED / Nút.

Mỗi cột yêu cầu 2 kết nối, một cho mặt đất LED và một cho mặt đất nút. Mỗi hàng yêu cầu 4 kết nối, vì chúng ta cần một kết nối riêng biệt cho các kênh màu đỏ, xanh lục và xanh lam, cũng như kết nối cho đầu vào nút. Dưới đây là màu cáp và số pin mà tôi đã chọn cho từng kết nối đó.

Hàng ngang Nó để làm gì Màu cáp Số PIN Nhãn PCB
Hàng 1 màu đỏ màu đỏ 22 RED1
Màu xanh lá Màu xanh lá 23 XANH LÁ1
Màu xanh dương Màu xanh dương 30 BLUE1
Đầu vào nút Màu vàng 31 SWITCH1
Hàng 2 màu đỏ màu đỏ 24 ĐỎ 2
Màu xanh lá Màu xanh lá 25 XANH LÁ2
Màu xanh dương Màu xanh dương 32 BLUE2
Đầu vào nút Màu vàng 33 SWITCH2
Hàng 3 màu đỏ màu đỏ 26 RED3
Màu xanh lá Màu xanh lá 27 XANH LÁ3
Màu xanh dương Màu xanh dương 34 BLUE3
Đầu vào nút Màu vàng 35 SWITCH3
Hàng 4 màu đỏ màu đỏ 28 RED4
Màu xanh lá Màu xanh lá 29 XANH LÁ4
Màu xanh dương Màu xanh dương 36 BLUE4
Đầu vào nút Màu vàng 37 SWITCH4
Cột Nó để làm gì Màu cáp Số PIN Nhãn PCB
Col 1 LED mặt đất trắng 38 LED-GND-1
Nút đất Màu đen 39 SWT-GND-1
Col 2 LED mặt đất trắng 40 LED-GND-2
Nút đất Màu đen 41 SWT-GND2
Col 3 LED mặt đất trắng 42 LED-GND-3
Nút đất Màu đen 43 SWT-GND3
Col 4 LED mặt đất trắng 44 LED-GND4
Nút đất Màu đen 45 SWT-GND4

Bước 7: Chuẩn bị Cáp nhảy

Chuẩn bị Cáp nhảy
Chuẩn bị Cáp nhảy
Chuẩn bị Cáp nhảy
Chuẩn bị Cáp nhảy

Mỗi cáp jumper cần một đầu đực và một đầu bị tước dây vài mm. Tôi thích sử dụng một số loại thùng chứa để chụp các bit dây bị tước vì nếu không chúng sẽ kết thúc trên khắp căn hộ của tôi và nó có thể tệ hơn là long lanh.

Bước 8: Hàn cáp Jumper vào bảng và cắm chúng vào

Hàn cáp Jumper vào bảng và cắm chúng vào
Hàn cáp Jumper vào bảng và cắm chúng vào
Hàn cáp Jumper vào bảng và cắm chúng vào
Hàn cáp Jumper vào bảng và cắm chúng vào

Sử dụng biểu đồ từ một vài bước trở lại để hàn cáp vào đúng vị trí trên PCB và cắm vào đúng chân trên Arduino.

Bước 9: Hoàn tất xây dựng

Đã xây dựng xong!
Đã xây dựng xong!

Hãy dành một chút thời gian để nhấn mạnh một số nút (nhưng không có chức năng) và sau đó bắt đầu sử dụng một số mã!

Bước 10: Sơ đồ

Sơ đồ
Sơ đồ

Đây là một sơ đồ của PCB và những thứ chúng tôi đã hàn vào nó.

Mỗi hộp màu xám đại diện cho một trong các tổ hợp nút / đèn LED.

Nếu bạn chỉ muốn tự mình xem qua mã, nó có trên github của tôi ở đây.

Bước 11: Chỉ các nút

Chỉ các nút
Chỉ các nút
Chỉ các nút
Chỉ các nút

Các đèn LED và các nút thực sự tách biệt với nhau (ngoài việc tất cả đều được kết nối với Arduino) vì vậy chúng ta hãy chỉ nhìn vào các nút trước.

Mỗi hộp màu xám chứa một nút và một diode (những cái mà chúng tôi đã hàn vào - Tôi sẽ giải thích mục đích của những cái đó một chút).

Lưu ý: Tôi chắc chắn rằng điều này quá rõ ràng đối với một số người, nhưng tôi không chắc về điều đó khi lần đầu tiên tôi bắt đầu tìm ra điều này, vì vậy tôi sẽ nói điều đó! Các hàng (màu xanh lá cây) và các cột (màu xanh lam) không được kết nối với nhau, chúng chỉ nằm trên nhau. Nội dung chỉ được kết nối khi có một chấm đen nhỏ. Tuy nhiên, việc đóng một trong các công tắc nút sẽ tạo ra kết nối giữa hàng và cột.

Bước 12: Thiết lập ghim nút

Thiết lập ghim nút
Thiết lập ghim nút
Thiết lập ghim nút
Thiết lập ghim nút
Thiết lập ghim nút
Thiết lập ghim nút

Đối với các nút, chúng ta sẽ sử dụng các cột làm đầu ra và các hàng làm đầu vào.

Chúng tôi sẽ có thể kiểm tra xem một nút có được nhấn hay không vì nếu có kết nối giữa hàng và cột thì điện áp từ đầu ra sẽ đến đầu vào. Để bắt đầu, trong thiết lập (), chúng tôi tạo ra một điện áp cao cho tất cả các cột. Chúng tôi đặt các hàng là đầu vào kéo lên có nghĩa là theo mặc định, chúng cũng đọc cao.

Bước 13: Quét

Quét
Quét
Quét
Quét
Quét
Quét

Trong vòng lặp, một hàm được gọi là scan () đi qua một cột tại một thời điểm và đặt điện áp của nó ở mức thấp.

Sau đó, nó sẽ xem xét từng hàng kết nối nút, để xem có bất kỳ hàng nào trong số chúng đang đọc thấp hay không.

Nếu một hàng nút có giá trị thấp, thì điều đó có nghĩa là nút kết nối hàng và cột đó đã được đẩy.

Bước 14: Không phải tất cả các nút nhấn đều được tạo ra bằng nhau

Nếu ấn nút nhanh và chắc thì điện áp chuyển từ cột sang hàng sẽ đẹp và sạch.

Tuy nhiên, nếu nó được đẩy hơi chậm hoặc giật một chút, thì điện áp có thể chập chờn một chút cho đến khi có một kết nối tốt giữa bàn phím và các điểm tiếp xúc trên PCB.

Điều này có nghĩa là một nút nhấn mà con người nghĩ chỉ là một, có thể được arduino hiểu là một số lần nhấn riêng biệt.

Đề xuất: