Índice:
- Suprimentos
- Etapa 1: Etapa 1: Fazendo uma matriz de LED
- Etapa 2: Etapa 2: Conexão dos botões de pressão e registros de deslocamento
- Etapa 3: Etapa 3: Upload do código
- Etapa 4: informações / recursos adicionais
Vídeo: Matriz de botão de pressão LED: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Este projeto pode ser pensado como outro projeto introdutório ao Arduino que é um pouco mais avançado do que seu projeto típico de 'piscar um LED'. Este projeto incorpora uma matriz de LED, botões de pressão, registradores de deslocamento (que podem salvar pinos em sua placa Arduino) e um conceito chave chamado multiplexação. Espero que você ache o tutorial esclarecedor e se desafie a melhorá-lo!
Suprimentos
(1x) Arduino Uno
(5x) Botões táteis
(2x) Capacitores de 0,1 uF
(2x) Capacitores de 1 uF
(8x) Resistores 1k
(5x) Resistores de 10k
(2x) registradores de deslocamento 74HC595
Jumper Wires
Fio Preto
Fio vermelho
Etapa 1: Etapa 1: Fazendo uma matriz de LED
O tutorial que usei para fazer a matriz 8x8 LED neste projeto pode ser encontrado aqui. Existem configurações comuns para uma matriz de LED:
a) Ânodo de linha comum
b) Cátodo de fileira comum
Como usei o arranjo Common Row Cathode da matriz, discutirei principalmente aqui e você pode estender a mesma lógica para o arranjo Common Row Anode. No arranjo de cátodo de linha comum, os cátodos dos LEDs (ou terminais negativos que é a perna mais curta em um LED) são conectados juntos em linhas, enquanto os anodos (ou terminais positivos que é a perna mais longa em um LED) são conectados juntos em colunas. Para abordar um determinado LED, puxe a linha do cátodo em que o cátodo do LED está baixo e puxe a coluna do ânodo em que o ânodo do LED está alto.
Nota: Ao fazer a matriz de LED mostrada no link acima, certifique-se de conectar as colunas anódicas com os resistores de 1k ohm antes de aplicar qualquer quantidade de tensão aos LEDs.
Etapa 2: Etapa 2: Conexão dos botões de pressão e registros de deslocamento
A fiação para os botões de pressão e registradores de deslocamento é mostrada acima. Gostaria de observar que os registradores de deslocamento no diagrama de circuito não mostram os pinos de aterramento (pino 8 do IC) e Vcc ou da fonte de alimentação (pino 16 do IC) para os chips; o pino terra é conectado ao pino GND da placa Arduino e o Vcc é conectado ao pino 5V da placa Arduino. O pino Vcc de cada registro de deslocamento também é conectado a um capacitor de 0,1 uF conectado ao aterramento.
Nota: As saídas de cada registrador de deslocamento são listadas como QA para QH (ignorar QH *). Eles são listados em termos do bit menos significativo (LSB) (para QA) ao bit mais significativo (MSB) (para QH), ou seja, o QA controlaria a 0ª linha ou coluna, etc.
Etapa 3: Etapa 3: Upload do código
O código para controlar a matriz de LED está anexado a este tutorial. Tentei comentar o máximo que pude do código para que ficasse muito claro como o programa funciona. A base principal do programa é que há uma matriz que mantém o controle de quais LEDs devem estar ligados ou desligados. Para que os vários LEDs sejam exibidos corretamente sem acender acidentalmente diodos indesejados, é necessário usar um conceito chamado multiplexação. A multiplexação é essencialmente iluminar LEDs individuais em uma determinada linha, enquanto todos os outros LEDs em outras linhas, fazendo o mesmo para as linhas restantes. O truque é que, se os LEDs percorrerem as fileiras com rapidez suficiente, seus olhos perceberão que as fileiras individuais estão sendo acesas uma de cada vez. Se você gostaria de explorar mais maneiras de enganar seus olhos com LEDs, convém examinar o conceito de persistência da visão (facilmente pesquisável no Google ou no Instructables).
A forma como as colunas anódicas e as linhas catódicas são atualizadas é por meio de uma função definida pelo usuário chamada 'UpdateShiftRegisters'. Essa função primeiro transforma o pino de trava, que controla se um novo byte (8 bits) é enviado para a saída, para baixo, de forma que nenhuma alteração nas saídas seja possível enquanto novos bits estão sendo gravados no chip. Então, usando uma função integrada do Arduino chamada 'ShiftOut', que lida especificamente com o envio de dados para registradores de deslocamento, o programa grava qualquer linha (cátodo) que seria baixa e quais colunas (ânodo) deveriam ser altas. Finalmente, o pino de trava é puxado para cima para atualizar a saída (os LEDs).
Etapa 4: informações / recursos adicionais
Aqui estão alguns links para sites ou livros que podem fornecer informações adicionais sobre este projeto:
learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code
www.arduino.cc/en/tutorial/ShiftOut
www.ti.com/lit/ds/symlink/sn74hc595.pdf
www.youtube.com/watch?v=7VYxcgqPe9A
www.youtube.com/watch?v=VxMV6wGS3NY
Introdução ao Arduino, 2ª edição por Massimo Banzi
Recomendado:
Botão de pressão: 31 etapas
Chave de botão de pressão: a chave de botão de pressão é outra variante de uma chave de assistência. Destina-se a crianças com deficiência, para que possam usar os itens do dia a dia
Interruptor de luz WiFi de automação residencial com ESP-01 e módulo de relé com botão de pressão: 7 etapas
Interruptor de luz WiFi de automação residencial com ESP-01 e módulo de relé com botão de pressão: Nas instruções anteriores, programamos um ESP-01 com Tasmota usando um ESP Flasher e conectamos o ESP-01 às nossas redes wi-fi. Agora podemos começar a programá-lo para ligar / desligar um interruptor de luz usando WiFi ou o botão de pressão
Contador usando botão de pressão - Tinker Cad: 3 etapas
Contador usando botão de pressão | Tinker Cad: Uma vez que o botão está funcionando, você geralmente deseja fazer alguma ação com base em quantas vezes o botão é pressionado. Para fazer isso, você precisa saber quando o botão muda de estado de desligado para ligado e contar quantas vezes essa mudança de estado ocorre. º
Como usar o botão de pressão com SkiiiD: 9 etapas
Como usar o botão de pressão com SkiiiD: este projeto é uma instrução de " como usar o Segmento 3642BH com Arduino via skiiiDBe antes de começar, abaixo está um tutorial básico de como usar skiiiD https://www.instructables.com/id/Getting -Started-With-SkiiiD-Editor
Microcontrolador AVR. Alterne os LEDs usando um botão de pressão. Botão Debouncing: 4 etapas
Microcontrolador AVR. Alterne os LEDs usando uma chave de botão. Push Button Debouncing: Nesta seção, aprenderemos como fazer o código do programa C para ATMega328PU para alternar o status dos três LEDs de acordo com a entrada de uma chave de botão. Além disso, exploramos uma solução para o problema de ‘Switch Bounce’. Como de costume, nós teremos