Índice:

Arduino LED Button Pad que aciona o processamento de animações: 36 etapas (com imagens)
Arduino LED Button Pad que aciona o processamento de animações: 36 etapas (com imagens)

Vídeo: Arduino LED Button Pad que aciona o processamento de animações: 36 etapas (com imagens)

Vídeo: Arduino LED Button Pad que aciona o processamento de animações: 36 etapas (com imagens)
Vídeo: O Guia +Hardcore de Introdução à COMPUTAÇÃO 2024, Julho
Anonim
Image
Image
Teclado de botão LED Arduino que aciona animações de processamento
Teclado de botão LED Arduino que aciona animações de processamento
Teclado de botões LED Arduino que aciona animações de processamento
Teclado de botões LED Arduino que aciona animações de processamento

WhatThis pad de botão é feito usando um PCB e outros componentes fabricados pela Sparkfun. É conduzido por um Arduino Mega. Cada botão é bom, macio e satisfatório de pressionar, e tem um LED RGB dentro! Eu o tenho usado para controlar animações que codifiquei no Processing. O teclado de botões envia uma mensagem sempre que um botão é pressionado, informando qual botão era. O processamento recebe essas mensagens e altera as variáveis no esboço dependendo do que foi pressionado.

Por que

LEDs são legais. Os botões são divertidos de empurrar. Padrões geométricos animados são legais. Eu queria combinar todos os três. Levei esse projeto para uma festa, projetei o visual na parede e deixei as pessoas brincar com os botões. Ele também poderia ser usado por um VJ de uma forma mais performativa, como um controlador de midi, mas mais DIY.

Quão

Existem quatro partes principais para este projeto.

O vídeo do Youtube em anexo dá uma boa visão de como o pad de botão se encaixa. Este Instructable cobre isso, bem como o Arduino e o código de processamento - (vídeos adicionais para aqueles que estão em andamento)

  1. Juntando o teclado de botão - começa na etapa 1

    Isso envolve preparar os componentes e soldá-los ao PCB

  2. O código do Arduino - começa na etapa 10

    Para isso, precisamos entender a digitalização de matriz, sobre a qual falarei.

  3. O código de processamento - começa na etapa 24

    Existem infinitas possibilidades aqui, vou falar sobre um exemplo que fiz até agora.

  4. Fazendo o Arduino enviar mensagens para o processamento - Etapa 16 para envio, Etapa 30-31 para receber

    Isso é bom e simples, ele envia a mensagem por meio de uma conexão serial.

Nível

Tento escrever meus tutoriais de forma que alguém sem nenhum conhecimento possa pelo menos acompanhá-los. Pode ser útil primeiro assistir a alguns tutoriais introdutórios sobre o processamento. Eu começaria com o canal de Daniel Shiffman no YouTube.

Código

Todo o código (Arduino e Processing) está no meu github aqui.

Créditos

Aprendi muito com este tutorial https://learn.sparkfun.com/tutorials/button-pad-ho … e muito do código do Arduino vem de lá, embora eu o tenha editado para funcionar de maneira um pouco diferente de qualquer um dos exemplos lá.

Etapa 1: Os componentes

Os componentes!
Os componentes!
Os componentes!
Os componentes!
Os componentes!
Os componentes!
Os componentes!
Os componentes!
  • LEDs RGB de 16 x 5 mm (não endereçáveis, apenas os de cátodo comum)
  • 16 x 1N4148 diodos
  • Almofada de botão de silicone
  • PCB de teclado
  • Arduino Mega
  • Cabos jumper

(Há também um monte de coisas que você pode obter do Sparkfun para abrigar tudo de forma um pouco mais organizada, mas eu não fiz isso)

Etapa 2: preparar os diodos

Prepare os Diodos
Prepare os Diodos
Prepare os Diodos
Prepare os Diodos
Prepare os Diodos
Prepare os Diodos

Dobre cada diodo e, em seguida, empurre-o através do PCB.

As pernas sobressaem do lado do botão, o que não queremos. Portanto, retire o diodo novamente e corte as pernas curtas. (Você pode ter alguns recortes que permitirão cortar as pernas rente à placa enquanto ela ainda está lá, o que tornará sua vida mais fácil, mas eu só tinha uma tesoura normal, então tive que puxá-las para cortá-las curtas o suficiente.)

É muito importante dobrar as pernas e empurrá-las através do PCB antes de cortá-las. Se você cortá-los primeiro, não será capaz de dobrá-los em forma.

Faça 16 dessas coisinhas parecidas com formigas.

Etapa 3: Soldar os diodos na placa

Soldar os diodos na placa
Soldar os diodos na placa
Soldar os diodos na placa
Soldar os diodos na placa
Soldar os diodos na placa
Soldar os diodos na placa

Coloque cada um dos diodos de volta na placa. É importante verificar a orientação do diodo. Ele tem uma linha preta em um lado que se alinha com a linha no PCB. (Veja a imagem)

Colocar os diodos no lugar é meio complicado e é por isso que eu disse que se você tiver recortes que permitirão cortar as pernas sem removê-las, isso tornará sua vida mais fácil. Eu não tinha isso, então usei uma pinça para colocá-los de volta, o que ajudou um pouco.

Solde cada um dos diodos no lugar.

Etapa 4: Prepare os LEDs

Prepare os LEDs
Prepare os LEDs
Prepare os LEDs
Prepare os LEDs
Prepare os LEDs
Prepare os LEDs
Prepare os LEDs
Prepare os LEDs

Empurre os LEDs pela placa e corte as pernas. Assim como com os diodos; é importante empurrar as pernas pela prancha primeiro, para que se espalhem nos ângulos corretos, antes de cortar as pernas.

Há um pouco de tentativa e erro em cortar as pernas no comprimento certo. Se você torná-los muito longos, eles ficarão salientes, mas muito curtos e será difícil colocar o LED de volta.

Prepare 16 desses pequeninos amputados.

Etapa 5: Solde os LEDs na placa

Solde os LEDs na placa
Solde os LEDs na placa
Solde os LEDs na placa
Solde os LEDs na placa
Solde os LEDs na placa
Solde os LEDs na placa

Empurre todos os LEDs de volta para a placa.

A orientação é importante novamente aqui. Um lado dos LEDs tem uma borda plana e deve estar alinhada com a borda plana do círculo no diagrama de PCB. (Veja a imagem)

Veja se os LEDs estão pressionados o suficiente, colocando a almofada de silicone sobre a placa e verificando se eles não interferem com os botões que estão sendo pressionados.

Solde os LEDs na placa.

Observação: já foi apontado para mim que, uma vez que não importa muito se um pouco das pernas sobressaem na parte traseira, você pode simplesmente empurrar os LEDs, soldá-los na parte traseira e, em seguida, cortar as pernas..

Etapa 6: Classificar cabos de jumper suficientes

Classifique cabos de jumper suficientes
Classifique cabos de jumper suficientes

Vamos falar um pouco sobre a placa. A placa é organizada em 4 colunas e 4 linhas de LEDs / botões.

Cada uma das colunas requer 2 conexões, uma para o aterramento do LED e outra para o aterramento do botão. Cada uma das linhas requer 4 conexões, porque precisamos de uma conexão separada para os canais vermelho, verde e azul, bem como uma conexão para o entrada do botão. Aqui estão as cores dos cabos e os números dos pinos que selecionei para cada uma dessas conexões.

Linha Para que é Cor do cabo Número do PIN Etiqueta PCB
Linha 1 vermelho vermelho 22 RED1
Verde Verde 23 VERDE1
Azul Azul 30 AZUL1
Entrada de botão Amarelo 31 SWITCH1
Linha 2 vermelho vermelho 24 VERMELHO 2
Verde Verde 25 VERDE2
Azul Azul 32 AZUL2
Entrada de botão Amarelo 33 SWITCH2
Linha 3 vermelho vermelho 26 RED3
Verde Verde 27 VERDE 3
Azul Azul 34 AZUL3
Entrada de botão Amarelo 35 SWITCH3
Linha 4 vermelho vermelho 28 RED4
Verde Verde 29 VERDE4
Azul Azul 36 AZUL4
Entrada de botão Amarelo 37 SWITCH4
Coluna Para que é Cor do cabo Número do PIN Etiqueta PCB
Col 1 Aterramento LED Branco 38 LED-GND-1
Botão aterrado Preto 39 SWT-GND-1
Col 2 Aterramento LED Branco 40 LED-GND-2
Botão aterrado Preto 41 SWT-GND2
Col 3 Aterramento LED Branco 42 LED-GND-3
Botão aterrado Preto 43 SWT-GND3
Col 4 Aterramento LED Branco 44 LED-GND4
Botão aterrado Preto 45 SWT-GND4

Etapa 7: preparar os cabos de ligação

Prepare os cabos de ligação
Prepare os cabos de ligação
Prepare os cabos de ligação
Prepare os cabos de ligação

Cada cabo de jumper precisa de uma extremidade macho e uma extremidade sem alguns mm de fio. Eu gosto de usar algum tipo de recipiente para capturar pedaços de arame descascados, caso contrário, eles acabam por todo o meu apartamento e é possivelmente pior do que purpurina.

Etapa 8: Solde os cabos de ligação na placa e conecte-os

Solde os cabos de ligação na placa e conecte-os
Solde os cabos de ligação na placa e conecte-os
Solde os cabos de ligação na placa e conecte-os
Solde os cabos de ligação na placa e conecte-os

Use o gráfico de alguns passos atrás para soldar os cabos nos locais corretos da placa de circuito impresso e conectá-los aos pinos corretos no Arduino.

Etapa 9: Construir Concluído

Compilação concluída!
Compilação concluída!

Reserve um momento para apertar alguns botões (ainda não funcionais) e, em seguida, vamos entrar em algum código!

Etapa 10: Esquema

Esquemático
Esquemático

Este é um esquema do PCB e do material que soldamos nele.

Cada caixa cinza representa um dos combos de botão / LED. Se isso parece muito complicado (pareceu-me na primeira vez que o vi), não se preocupe, vou decompô-lo.

Se você quiser apenas dar uma olhada no código, está no meu github aqui.

Etapa 11: apenas os botões

Apenas os botões
Apenas os botões
Apenas os botões
Apenas os botões

Os LEDs e os botões estão realmente separados uns dos outros (além de todos estarem conectados ao Arduino), então vamos ver os botões primeiro.

Cada caixa cinza contém um botão e um diodo (os que soldamos - explicarei a finalidade deles em breve).

Nota: Tenho certeza de que isso é muito óbvio para algumas pessoas, mas eu não tinha certeza quando comecei a descobrir isso, então vou dizer! As linhas (em verde) e as colunas (em azul) não estão conectadas, apenas colocadas umas sobre as outras. As coisas só são conectadas onde houver um pequeno ponto preto. Fechar uma das opções de botão, no entanto, cria uma conexão entre a linha e a coluna.

Etapa 12: configurar pinos de botão

Configurar pinos de botão
Configurar pinos de botão
Configurar pinos de botão
Configurar pinos de botão
Configurar pinos de botão
Configurar pinos de botão

Para os botões, vamos usar as colunas como saídas e as linhas como entradas.

Poderemos verificar se um botão foi pressionado porque se houver uma conexão entre uma linha e uma coluna, a tensão da saída alcançará a entrada. Para começar, no setup () geramos uma alta tensão em todas as colunas. Definimos as linhas para obter entradas, o que significa que, por padrão, elas também apresentam leituras altas.

Etapa 13: Digitalização

Scanning
Scanning
Scanning
Scanning
Scanning
Scanning

No loop, uma função chamada scan () passa por uma coluna por vez e define sua tensão como baixa.

Em seguida, ele examina cada linha de conexão de botão para ver se algum deles está com uma leitura baixa.

Se a leitura de uma linha de botão for baixa, isso significa que o botão que conecta essa linha e coluna foi pressionado.

Etapa 14: nem todos os botões pressionados são criados iguais

Se o botão for pressionado com rapidez e firmeza, a transferência de tensão da coluna para a linha será boa e limpa.

No entanto, se for pressionado um pouco devagar ou com dificuldade, a voltagem pode flutuar um pouco até que haja uma boa conexão entre o teclado e os contatos no PCB.

Isso significa que um toque de botão que um humano pensa ser apenas um pode ser interpretado pelo arduino como vários toques separados.

Recomendado: