Índice:

Usando uma matriz de LED como um scanner: 8 etapas (com imagens)
Usando uma matriz de LED como um scanner: 8 etapas (com imagens)

Vídeo: Usando uma matriz de LED como um scanner: 8 etapas (com imagens)

Vídeo: Usando uma matriz de LED como um scanner: 8 etapas (com imagens)
Vídeo: Reconhecimento de Imagens com Deep Learning usando TensorFlow e Keras // Mão no Código by Red Hat #8 2024, Novembro
Anonim
Image
Image
Faça coisas quadradas com cartões obsoletos!
Faça coisas quadradas com cartões obsoletos!

Por marciotMarcioT's Home PageSeguir Mais do autor:

Faça coisas quadradas com cartões obsoletos!
Faça coisas quadradas com cartões obsoletos!
Óculos de concerto / ópera faça você mesmo 2,5x a 5x
Óculos de concerto / ópera faça você mesmo 2,5x a 5x
Óculos de concerto / ópera faça você mesmo 2,5x a 5x
Óculos de concerto / ópera faça você mesmo 2,5x a 5x
Detector de vazamento de água sem fio em toda a casa e sistema de desligamento de emergência de água
Detector de vazamento de água sem fio em toda a casa e sistema de desligamento de emergência de água
Detector de vazamento de água sem fio em toda a casa e sistema de desligamento de emergência de água
Detector de vazamento de água sem fio em toda a casa e sistema de desligamento de emergência de água

Sobre: Sou um amador com interesse em software de código aberto, impressão 3D, ciência e eletrônica. Visite minha loja ou página do Patreon para ajudar a apoiar meu trabalho! Mais sobre marciot »

As câmeras digitais comuns funcionam usando uma grande variedade de sensores de luz para capturar a luz conforme ela é refletida de um objeto. Neste experimento, eu queria ver se poderia construir uma câmera invertida: em vez de ter uma série de sensores de luz, tenho apenas um único sensor; mas eu controlo cada uma das 1.024 fontes de luz individuais em uma matriz de 32 x 32 LED.

A maneira como funciona é que o Arduino ilumina um LED por vez, enquanto usa a entrada analógica para monitorar as mudanças no sensor de luz. Isso permite que o Arduino teste se o sensor pode "ver" um determinado LED. Este processo é repetido para cada um dos 1.024 LEDs individuais rapidamente para gerar um mapa de pixels visíveis.

Se um objeto for colocado entre a matriz de LED e o sensor, o Arduino é capaz de capturar a silhueta desse objeto, que é iluminada como uma "sombra" quando a captura é concluída.

BÔNUS: Com pequenos ajustes, o mesmo código pode ser usado para implementar uma "caneta digital" para pintar na matriz de LED.

Etapa 1: peças usadas neste build

Peças usadas nesta construção
Peças usadas nesta construção
Peças usadas nesta construção
Peças usadas nesta construção

Para este projeto, usei os seguintes componentes:

  • Um Arduino Uno com placa de ensaio
  • Matriz LED 32x32 RGB (de AdaFruit ou Tindie)
  • Adaptador de energia 5V 4A (da AdaFruit)
  • Adaptador de alimentação DC fêmea Conector de 2,1 mm para bloco de terminais de parafuso (da AdaFruit)
  • Um fototransistor TIL78 transparente de 3 mm
  • Fios de ligação

A AdaFruit também vende uma blindagem Arduino que pode ser usada em vez de fios de jumper.

Como eu tinha alguns créditos de Tindie, peguei minha matriz de Tindie, mas a matriz de AdaFruit parece ser idêntica, então qualquer uma deve funcionar.

O fototransistor veio de minhas coleções de peças de décadas. Era uma peça transparente de 3 mm rotulada como TIL78. Pelo que eu posso dizer, essa parte é destinada para IR e vem ou uma caixa transparente ou uma caixa escura que bloqueia a luz visível. Uma vez que a matriz RGB LED emite luz visível, a versão transparente deve ser usada.

Este TIL78 parece ter sido descontinuado, mas imagino que este projeto poderia ser feito usando fototransistores contemporâneos. Se você encontrar algo que funcione, me avise e eu irei atualizar este Instructable!

Etapa 2: Fiação e teste do fototransistor

Fiação e teste do fototransistor
Fiação e teste do fototransistor

Normalmente, você precisaria de um resistor em série com o fototransistor na alimentação, mas eu sabia que o Arduino tinha a capacidade de habilitar um resistor pull-up interno em qualquer um dos pinos. Suspeitei que poderia tirar proveito disso para conectar o fototransistor ao Arduino sem quaisquer componentes adicionais. Acontece que meu palpite estava correto!

Usei fios para conectar o fototransistor aos pinos GND e A5 do Arduino. Em seguida, criei um esboço que definiu o pino A5 como um INPUT_PULLUP. Isso normalmente é feito para interruptores, mas neste caso fornece energia para o fototransistor!

#define SENSOR A5

void setup () {Serial.begin (9600); pinMode (SENSOR, INPUT_PULLUP); } void loop () {// Lê o valor analógico continuamente e imprime-o Serial.println (analogRead (SENSOR)); }

Este esboço imprime valores na porta serial correspondente ao brilho do ambiente. Usando o prático "Serial Plotter" do menu "Ferramentas" do IDE do Arduino, posso obter um gráfico móvel da luz ambiente! Conforme eu cubro e descubro o fototransistor com minhas mãos, o gráfico sobe e desce. Agradável!

Este esboço é uma boa maneira de verificar se o fototransistor está conectado com a polaridade certa: o fototransistor será mais sensível quando conectado em uma direção do que na outra.

Etapa 3: conectando o cabo fita da matriz ao Arduino

Conectando o cabo fita da matriz ao Arduino
Conectando o cabo fita da matriz ao Arduino

Para conectar a matriz ao Arduino, consultei este guia prático da Adafruit. Por conveniência, colei o diagrama e as pinagens em um documento e imprimi uma página de referência rápida para usar enquanto conectava tudo.

Certifique-se de que a guia do conector corresponda à do diagrama.

Como alternativa, para um circuito mais limpo, você pode usar a blindagem de matriz RGB que a AdaFruit vende para esses painéis. Se você usar a blindagem, precisará soldar em um conector ou fios para o fototransistor.

Etapa 4: Conectando a Matriz

Conectando a Matrix
Conectando a Matrix
Conectando a Matrix
Conectando a Matrix
Conectando a Matrix
Conectando a Matrix

Aparafusei os terminais do garfo nos cabos de alimentação da matriz ao adaptador de tomada, certificando-me de que a polaridade estava correta. Como parte dos terminais ficou exposta, embrulhei tudo com fita isolante por segurança.

Em seguida, conectei o conector de alimentação e o cabo de fita, tomando cuidado para não perturbar os fios do jumper no processo.

Etapa 5: instalar a biblioteca AdaFruit Matrix e testar a matriz

Instale a biblioteca AdaFruit Matrix e teste a matriz
Instale a biblioteca AdaFruit Matrix e teste a matriz

Você precisará instalar o "RGB matrix Panel" e o AdaFruit "Adafruit GFX Library" em seu Arduino IDE. Se precisar de ajuda para fazer isso, o tutorial é o melhor caminho a seguir.

Eu sugiro que você execute alguns dos exemplos para ter certeza de que seu painel RGB funciona antes de continuar. Eu recomendo o exemplo "plasma_32x32" porque é incrível!

Observação importante: descobri que se eu ligasse o Arduino antes de conectar a fonte de 5 V à matriz, a matriz acenderia levemente. Parece que a matriz tenta extrair energia do Arduino e isso definitivamente não é bom para ele! Portanto, para evitar sobrecarregar o Arduino, sempre ligue a matriz antes de ligar o Arduino!

Etapa 6: Carregar o código de digitalização da matriz

Segundo prêmio no Arduino Contest 2019

Recomendado: