Atualize sua guirlanda de Natal com uma matriz de LED ativada por movimento

Esta guirlanda de Natal DIY usa uma matriz Arduino e LED para produzir uma incrível tela iluminada que impressionará seus amigos e familiares.

Esta guirlanda de Natal DIY usa uma matriz Arduino e LED para produzir uma incrível tela iluminada que impressionará seus amigos e familiares.
Propaganda

O Natal está aqui de novo, e seja nas suas férias favoritas do ano ou quando você está suando frio, as decorações estão começando a subir. Este ano, porque não incorporar alguma tecnologia DIY nas suas decorações para as destacar?

Neste projeto, estaremos construindo uma matriz de 8 x 8 LED ativada contra intempéries a partir do zero por menos de US $ 20. Ele é projetado para caber no centro de uma coroa de porta de Natal padrão, embora pudesse ser usado em qualquer lugar ao redor da casa. E desde que é alimentado por bateria, em qualquer lugar longe da casa também!

Lista de peças

Para este projeto você precisará de:

  • Arduino
    • Eu usei o Nano para o seu tamanho pequeno, mas você poderia usar quase qualquer microcontrolador compatível com Arduino Arduino Buying Guide: Qual placa você deve obter? Guia de compra do Arduino: Qual placa você deve obter? Existem tantos tipos diferentes de placas Arduino por aí, você seria perdoado por estar confuso. Qual você deve comprar para o seu projeto? Deixe-nos ajudar, com este guia de compra do Arduino! Consulte Mais informação .
  • 64 x LEDs vermelhos.
  • Resistores 8 x 220 Ohm.
  • Sensor de movimento PIR.
    • Muitos kits de inicialização do Arduino O que está incluído em um kit para iniciantes do Arduino? [MakeUseOf Explains] O que está incluído em um kit inicial do Arduino? [MakeUseOf Explains] Eu introduzi anteriormente o hardware de código aberto do Arduino aqui no MakeUseOf, mas você vai precisar mais do que apenas o Arduino para construir algo a partir dele e realmente começar. Arduino "kits iniciantes" são ... Leia Mais vem com estes. Eu comprei um multi-pack da Amazon por US $ 10.
  • 1 pedaço de placa de prototipagem.
    • O usado aqui foi de 9 x 7 cm, embora você possa usar qualquer tamanho que quiser.
  • Bateria de 7-12v.
    • Uma bateria simples é usada aqui por razões orçamentárias, mas um carregador de banco móvel O melhor Pokemon Go Power Banks O melhor Pokemon Go Power Banks O Pokemon Go bate melhor na bateria de um celular. Espremer um pouco mais de suco de Pokemon fora do seu telefone requer um banco de energia. Mas qual é a melhor bateria lá fora? Leia mais pode durar ainda mais.
  • Pequenos pedaços de arame sortidos.
  • Caixa Tupperware ou caixa à prova de intempéries semelhante.
    • Certifique-se de que será grande o suficiente para colocar todos os seus componentes dentro!
  • Guirlanda de Natal.
    • Qualquer um fará, apenas certifique-se de que a caixa do invólucro irá caber dentro dela.
  • Ferro de solda e solda.

Embora não seja estritamente necessário, como você poderia soldar os componentes diretamente para o Nano, eu também encontrei uma pequena placa de ensaio muito útil durante o teste. Uma pistola de cola quente também ajuda a colocar todas as partes juntas.

guirlanda de natal levou peças de matriz

Este projeto requer muita soldagem e, como iniciante, pode parecer assustador. Pessoalmente, ainda sou muito iniciante em soldagem e descobri que não é tão desafiador e demorado quanto parece. Se você também é novo para soldar aqui estão algumas boas dicas para ajudar a aprender como soldar, com estas dicas simples e projetos Saiba como soldar, com estas dicas e projetos simples Você está um pouco intimidado pelo pensamento de um ferro quente e metal derretido? Se você quiser começar a trabalhar com eletrônicos, precisará aprender a soldar. Deixe-nos ajudar. Consulte Mais informação .

Se você realmente não está interessado na idéia de solda, este projeto também é possível com tiras de LED Projeto Weekend: Construa um Gigante LED Pixel Display Weekend Projeto: Construa um Gigante LED Pixel Display Eu amo LED pixels: brilhante, fácil de controlar, barato e tão versátil. Hoje, vamos transformá-los em uma grande tela de pixels que pode ser pendurada na parede. Leia mais, ou uma matriz de LED pronta que você pode ter em seu kit inicial. Alguns ajustes de código serão necessários se você decidir seguir esse caminho.

Configurando o Arduino

Vamos começar com o diagrama de circuito do Arduino e os fios que estaremos conectando ao nosso sensor PIR e matriz de LED.

coroa de flores

Dentro da matriz

Agora, para tornar a nossa matriz de 8 x 8 LED. É uma boa ideia começar criando uma linha e uma coluna da matriz, para garantir que ela esteja exatamente onde você deseja na placa de prototipagem.

testando onde colocar leds

Na foto acima, todos os LEDs são colocados de forma que os ânodos (a perna mais longa e positiva) estejam na parte superior do protótipo. Isso é importante, pois estaremos criando colunas de anodos comuns unindo-os e fileiras de catodos comuns (a perna mais curta e negativa). Obtendo isso agora vai poupar dores de cabeça mais tarde!

Vamos construir uma matriz de catodo de linha comum, este diagrama mostra como tudo está conectado.

diagrama duvidoso

Pode parecer um pouco assustador no começo, mas é uma configuração bem simples. Em cada fileira, todos os cátodos são unidos da direita para a esquerda e, em seguida, anexados a um dos nossos pinos Arduino. Depois disso, fazemos o mesmo para cada coluna de ânodos. Desta forma, dependendo de qual coluna nós aplicamos potência, e em qual linha nos unimos para aterrar, podemos ligar qualquer LED individual na matriz.

Deixe a solda começar

Comece colocando sua primeira linha de LEDs. Certifique-se de que todos os anodos estejam voltados para o topo e vire-os. Descobri que adicionando outro LED em cada canto, e anexando outro pedaço de protoboard no topo usando um cordão elástico ajudou a manter tudo no lugar.

proto elastico

Agora, um por um, dobre a perna do cátodo (curto) de cada LED para a esquerda, para que todos se sobreponham uns aos outros. É mais fácil começar do lado esquerdo e trabalhar direito. Se você estiver usando um pedaço maior de protoboard, você pode soldá-los primeiro ao quadro e conectá-los juntos usando os pads. Tenha cuidado para não juntar nenhum dos cátodos a quaisquer outras linhas no quadro ou a qualquer um dos ânodos!

solda da dobra do cátodo

Repita este processo para todas as oito linhas e, quando terminar, você deverá ter algo parecido com isto:

imagem das linhas acabadas

Anodos saltando!

As colunas dos anodos são um pouco mais complicadas. No diagrama acima, os ânodos se curvam a cada vez que cruzam uma fileira de catodos. Isso ocorre porque eles não podem tocar nas linhas de jeito nenhum. Precisamos dobrar os ânodos sobre as fileiras de catodo e prendê-los um ao outro. Você pode achar que usar uma caneta para dobrar as pernas ajuda muito.

Faça isso para cada linha de anodos e conecte um resistor a cada ânodo superior. Você provavelmente achará mais fácil colocar o resistor no próximo orifício do protoboard e unir os eletrodos usando solda. Agora você deve ter algo assim:

solda acabada

Parabéns! A matriz de LED está completa. Verifique sua solda minuciosamente neste estágio para garantir que não haja quebras e que nenhuma das colunas esteja tocando as linhas. Não se preocupe se não for bonito, só precisamos que funcione! Você pode verificar cada LED individualmente, anexando 5v a qualquer uma das extremidades da coluna e aterrando em qualquer uma das extremidades da linha.

matriz de teste

Desde que tudo esteja bem, conecte os cabos de ligação a cada coluna e a cada fileira e conecte-os ao seu Arduino, conforme mostrado no diagrama acima.

Vamos codificar

Abra o Arduino IDE e escolha sua placa e porta. Se você é novo no Arduino, confira este guia de primeiros passos. Introdução ao Arduino: Um Guia para Iniciantes Introdução ao Arduino: Um Guia para Iniciantes O Arduino é uma plataforma de prototipagem eletrônica de código aberto baseada em hardware e software flexível e fácil de usar. É destinado a artistas, designers, amadores e qualquer pessoa interessada em criar objetos ou ambientes interativos. consulte Mais informação

Digite este código no editor. É um código bastante denso se você não estiver familiarizado com ele, mas está disponível aqui totalmente anotado para ajudar a entender como ele funciona.

const int row[8] = { 2, 3, 4, 5, 6, 7, 8, 9 }; const int col[8] ={ 10, 11, 12, 14, 15, 16, 17, 18 }; int pirPin = 19; int pirState = LOW; int val = 0; bool pirTrigger = false; const int pirLockTime = 12000; int pirCountdown = pirLockTime; int pixels[8][8]; const int refreshSpeed = 500; int countDown = refreshSpeed; int currentCharIndex = 0; typedef bool CHAR_MAP_NAME[8][8]; const CHAR_MAP_NAME blank = { {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const CHAR_MAP_NAME threedownthreein = { {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const int noOfFrames = 5; const CHAR_MAP_NAME *charMap[noOfFrames] ={ &blank, &threedownthreein, &blank, &blank, &threedownthreein }; void setup(){ for (int i=0;i<8;i++){ pinMode(row[i], OUTPUT); pinMode(col[i], OUTPUT); //motion sensor pinMode(pirPin, INPUT); digitalWrite(col[i], LOW); } } void screenSetup(){ const CHAR_MAP_NAME *thisMap = charMap[currentCharIndex]; for (int x = 0; x< 8; x++) { for (int y = 0; y =noOfFrames){ currentCharIndex = 0; } } void refreshScreen(){ for (int currentRow = 0; currentRow< 8; currentRow++){ digitalWrite(row[currentRow], LOW); for (int currentCol = 0; currentCol< 8; currentCol++){ int thisPixel = pixels[currentRow][currentCol]; digitalWrite(col[currentCol], thisPixel); if (thisPixel == HIGH) { digitalWrite(col[currentCol], LOW); } } digitalWrite(row[currentRow], HIGH); } } void loop(){ val = digitalRead(pirPin); if (val == HIGH){ pirTrigger = true; } else if (val == LOW && pirCountdown 0) { refreshScreen(); countDown--; pirCountdown--; if(countDown<= 0) { countDown = refreshSpeed; screenSetup(); } } } 

As partes importantes para entender são:

A variável refreshSpeed . Essa variável determina como o tempo entre cada atualização de tela. Um número maior significa uma espera maior.

O CHAR_MAP_NAME s const. É aqui que você coloca cada mapa de personagem (ou quadro, se for mais fácil pensar neles dessa maneira) que deseja exibir.

A variável noOfFrames . Isso determina quantos quadros são exibidos em uma jogada completa. Note que pode ser diferente do número de mapas de caracteres. Por exemplo, se você quisesse exibir “A CAT”, bastaria definir quatro quadros distintos: em branco, um A, um C e um T.

Agora, quando o sensor de movimento detecta movimento, a tela do LED deve piscar o LED três para baixo e três para a esquerda. Se ele não for exibido corretamente, verifique novamente a fiação para garantir que tudo esteja no lugar certo! Quando você adiciona sua própria imagem ou mensagem, ela pode ser cortada cedo ou ser reproduzida por muito tempo. Tente alterar a variável pirLockTime até que seja reproduzida pelo tempo desejado.

O processo de adicionar cada quadro ao display LED pode ser um pouco entediante, por isso criamos essa planilha para facilitar a criação de texto e imagens para sua matriz de LEDs (faça uma cópia da Planilha Google para editá-la). ).

Usando a planilha, você pode copiar suas criações diretamente no código.

Torne Corajoso os Elementos

Agora que temos uma matriz de LED funcional, precisamos de uma maneira de sobreviver ao clima de inverno. Embora este método não resista a uma tempestade tropical ou seja mergulhado na piscina, deve ser suficiente para manter todos os componentes eletrônicos protegidos dos elementos.

Eu usei uma caixa redonda da Tupperware com 15 cm de diâmetro e 6 cm de profundidade para encaixar perfeitamente os meus componentes. Corte uma janela na tampa ligeiramente maior do que a sua matriz de LED, e coloque uma película plástica transparente, certificando-se de não deixar espaços para entrar líquido. Plástico resistente de algumas embalagens funcionaria melhor, mas isso era tudo que eu tinha. Você também pode anexar algumas montagens para o protoboard, embora ambos os trabalhos possam ser facilmente feitos com fita adesiva à prova d'água.

prova do tempo

Em seguida, faça um pequeno furo embaixo da janela, então, cuidadosamente e lentamente, abra-o até que seu sensor PIR possa apenas passar. Você quer que ele se encaixe o mais confortavelmente possível.

buraco cortado

Anexe o seu sensor PIR, e preencha todas as lacunas que você pode ver com fita adesiva ou cola quente.

cola pir

Limpe qualquer fita ou cola que possa impedir que a caixa feche corretamente e adicione todos os componentes à caixa junto com a bateria. Aqui, uma bateria AA simples foi usada, conectada diretamente ao pino VCC do Nano. Alguns pequenos pedaços de cortiça foram adicionados ao lado de fora do recinto para ajudar a pendurar a construção no centro da grinalda.

E nós somos feitos

Uma vez que a caixa esteja selada, pendure-a com sua guirlanda de Natal e espere pelas reações de seus visitantes à sua alta tecnologia de boas-vindas pessoais de $ 20! Você pode até mesmo ir um passo além e criar decorações DIY impressionantes 3D-Impresso Christmas Decorations for Perfect Geeky Holidays 3D-Impresso Christmas Decorations for Perfect Geeky Holidays Por que não poupar algum dinheiro neste Natal e 3D imprimir alguns adornos festivos para sua casa? Leia mais para outros lugares da casa também!

terminou levou matriz guirlanda de natal diy

Neste projeto, construímos um sistema matricial LED auto-contido a partir do zero, que é ativado por movimento e pode sobreviver fora de qualquer lugar, com exceção do clima mais inclemente. Essa compilação será útil muito depois que a temporada de férias terminar em outros projetos, e a mesma técnica também poderá ser usada para criar invólucros à prova de intempéries baratos para outros projetos.

Você construiu alguma coisa para dar ao seu Natal um toque de DIY? Você está planejando algum presente de Natal com tema DIY este ano? Deixe-nos saber nos comentários abaixo!

In this article