Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Moldura de foto de coração LED DIY - Projeto Arduino


Neste projeto Arduino, mostrarei como você pode fazer uma incrível moldura de coração de LED usando o Arduino. Você pode assistir ao vídeo a seguir ou ler o artigo escrito abaixo para mais detalhes.

À primeira vista, parece um porta-retratos comum, mas quando você clica no botão na parte de trás, ele se transforma em um porta-retratos extraordinário. Construir este projeto Arduino é muito divertido e pode ser um presente perfeito de dia dos namorados, aniversário ou aniversário para seus entes queridos. Então vamos começar a construir

Preparação do porta-retratos



Primeiro precisamos de um porta-retratos simples de 18 x 13 cm e um painel de fibra recortado no tamanho do porta-retratos no qual faremos furos para inserir os LEDs. Em seguida, precisamos desenhar e imprimir um formato de coração com 32 LEDs que serão usados ​​como padrão. Faremos os furos para os LEDs usando uma furadeira.

Quando terminarmos de fazer os furos, começaremos a inserir os LEDs. Precisamos inserir todos os LEDs do mesmo lado, com o Ânodo ou o fio mais longo apontando para fora para que possamos dobrá-los e depois soldar os Ânodos de todos os LEDs juntos.

Depois de soldar todos os LEDs, devemos verificar se todos estão funcionando corretamente. Para isso precisamos conectar o pino VCC positivo de 5 Volts aos Ânodos dos LEDs através de um resistor de 220 Ohms e usando o pino Terra verificar se cada um dos LEDs acenderá.

Esquema do circuito



Aqui estão os esquemas de circuitos deste projeto e você pode encontrar uma lista completa dos componentes necessários para este projeto abaixo . Então vamos usar o Arduino Nano e os dois CIs TLC5940 para controlar os LEDs. O TLC5940 é um driver de LED de 16 canais que fornece saídas PWM. Você pode encontrar mais detalhes sobre como conectar e usar este IC com o Arduino no meu tutorial específico do Arduino e TLC5940.



Componentes necessários para este projeto Arduino



Você pode obter os componentes em qualquer um dos sites abaixo:
  • Arduino Nano…………………………..
  • LEDs vermelhos ultra brilhantes…………… 
  • Mudar…………………………………….. 
  • Tomada de força……………………………… 
  • DC 5V>Adaptador de 1A……………….. 
  • 2 x Drivers de LED TLC5940……….
  • 2 x resistores de 2K ……………………..
  • Capacitores de 1uF e 0,1uF ……………

Montagem



Aqui, primeiro vamos inserir os soquetes do IC e os pinos no lugar e soldá-los à PCB de prototipagem para que possamos conectar os ICs e o Arduino Nano a eles. Também precisamos de dois conectores de pinos adicionais com alguns slots para alimentação, ou os pinos de 5 Volts VCC e Ground, bem como dois capacitores para desacoplamento.

Precisamos ter muito cuidado ao conectar os componentes, pois pode ficar muito confuso com tantos fios se conectarmos algo errado. Neste ponto, precisamos fazer o upload do código do Arduino para garantir que conectamos tudo corretamente.

Código do Arduino



Vamos dar uma olhada no código Arduino que eu fiz para este projeto. Então vamos usar a Biblioteca TLC5940 feita por Alex Leone. Depois de baixar e instalar esta biblioteca, precisamos modificar o arquivo tlc_config.h e alterar o valor da variável NUM_TLCS para o número de ICs TLC5940 conectados em série e no nosso caso esse valor é 2

Com isso feito, agora podemos endereçar facilmente todos os LEDs de 0 a 31. No início também precisamos definir algumas variáveis ​​necessárias para o programa. Na seção de configuração precisamos iniciar os TLCs e na seção de loop fazer o programa. Organizei o programa em 9 estágios diferentes ou shows de luzes dos LEDs usando a instrução switch.

Por exemplo, vamos dar uma olhada na primeira fase. Geramos valores INT aleatórios de 0 a 31 e os usamos como endereços para os LEDs. A função Tlc.set() é usada para definir qual LED acendemos. O primeiro parâmetro é o endereço do LED, e o segundo parâmetro é o valor do brilho do LED ou o valor PWM que é de 0 a 4095. No entanto, isso não acende o LED imediatamente, apenas define qual O LED acenderá em seguida quando a função Tlc.update() for executada. Usando esta declaração “if” ativamos o segundo estágio depois de acender 8 LEDs aleatórios. Agora vamos dar uma olhada em mais um exemplo, digamos estágio 3. Usando este loop “for”, configuramos todos os 32 LEDs para acender quando a função Tlc.update() for executada. Após meio segundo de atraso usando a função Tlc.clear() limpamos e desligamos todos os LEDs. De maneira semelhante, você pode modificar o código e adicionar mais shows de luz por conta própria.
/*  LED Heart Photo Frame - Arduino Project
 *  Program made by Dejan Nedelkovski,
 *  www.HowToMechatronics.com 
 */

/* TLC5940 Library by Alex Leone, https://code.google.com/archive/p/tlc5940arduino/
 *  You need to modify tlc_config.h located in the TLC5940 library 
 *  and change the value of the variable NUM_TLCS to the numbers of TLC5940 ICs connected
 */

#include "Tlc5940.h" 

int stage = 0;
int randomNumber;
int count = 0;
int brightness = 3500;
int brightUp = 50;
int dir=1;

void setup() {
  Tlc.init();
}

void loop() {
  
  switch(stage) {    
    //-----Stage 1
    case 0:
      randomNumber = (int)random(0,31);
      Tlc.set(randomNumber,4095);
      delay(1500);
      Tlc.update();
      if(count >= 8) { 
        stage = 1;
        count = 0;
      }
      else {
        ++count;
      }
    break;
    //-----Stage 2
    case 1:
      delay(75);
      for(int i=31;i>=0;i--) {
        Tlc.set(i,4095);
        delay(100);
        Tlc.update();
      }
      delay(500);
      Tlc.clear();
      Tlc.update();
      stage = 2;
      delay(500);
    break;
    //-----Stage 3
    case 2:
      for(int i=0;i<=31;i++) {
        Tlc.set(i,4095);
      }
      Tlc.update();
      delay(500);
      Tlc.clear();
      Tlc.update();
      delay(350);
      if(count > 6) { 
        stage = 3;
        count = 0;
      }
      else {
        ++count;
      }
    break;
    //-----Stage 4
    case 3:
      for (int i=0;i<=15;i++) {
        Tlc.set(i,4095);
        Tlc.set(31-i,4095);
        Tlc.update();
        delay(70);
      }
      delay(50);
      for (int i=15;i>=0;i--) {
        Tlc.set(i,0);
        Tlc.set(31-i,0);
        Tlc.update();
        delay(70);
      }
      for (int i=15;i>=0;i--) {
        Tlc.set(i,4095);
        Tlc.set(31-i,4095);
        Tlc.update();
        delay(70);
      }
      for (int i=0;i<=15;i++) {
        Tlc.set(i,0);
        Tlc.set(31-i,0);
        Tlc.update();
        delay(70);
      }
      delay(50);
      
      Tlc.clear();
      Tlc.update();
      delay(100);
      if(count > 1) {
        stage = 4;
        count = 0;
      }
      else {
        ++count;
      }
    break;
    //-----Stage 5
    case 4:
      for (int i=15;i>=count;i--) {
        Tlc.set(32-i,4095);
        Tlc.update();
        delay(5);
        Tlc.set(32-i-1,0);
        Tlc.update();
        delay(5);
        Tlc.set(i,4095);
        Tlc.update();
        delay(5);
        Tlc.set(i+1,0);
        Tlc.update();
        delay(50);
      }
      if(count > 15) {
        Tlc.set(16,4095);
        Tlc.update();
        delay(2000);
        stage = 5;
        count = 0;
      }
      else {
        ++count;
      }
    break;
    //-----Stage 6
    case 5:
      for (int i=0;i<=31;i++) {
        Tlc.set(i,brightness);
        Tlc.update();
      }
      Tlc.update();
      brightness = brightness + brightUp;
      if (brightness>=3500) {
        brightUp=-50;
        ++count;
      }
      if (brightness<=150) {
        brightUp=50;
      }
      if(count > 6) { 
        stage = 6;
        count = 0;
        brightness = 3500;
        Tlc.clear();
        Tlc.update();
      }
      delay(40);
    break;
    //-----Stage 7
    case 6:
      for (int i=0;i<=30;i+=2) {
        Tlc.set(i,4095);
        Tlc.set(i+1,0);        
      }
      Tlc.update();
      delay(500);
      for (int i=0;i<=30;i+=2) {
        Tlc.set(i,0);
        Tlc.set(i+1,4095);       
      }
      Tlc.update();
      delay(500); 
      if(count > 20) {
        stage = 7;
        count = 0;
      }
      else {
        ++count;
      }
    break;
    //-----Stage 8
    case 7:
      for(int i=31;i>=16;i--) {
        Tlc.clear();
        Tlc.update();
        delay(2);
        Tlc.set(i,4095);
        Tlc.set(i+1,2000);
        Tlc.set(i+2,1000);
        Tlc.set(i+3,500);
        Tlc.set(i+4,300);
        Tlc.set(i+5,200);
        Tlc.set(i+6,100);
        Tlc.set(i+7,50);
        Tlc.set(i+8,0);

        Tlc.set(i-16,4095);
        Tlc.set(i-15,2000);
        Tlc.set(i-14,1000);
        Tlc.set(i-13,500);
        Tlc.set(i-12,300);
        Tlc.set(i-11,200);
        Tlc.set(i-10,100);
        Tlc.set(i+-9,50);
        Tlc.set(i-8,0);
        
        Tlc.update();
        delay(50); 
      }
      if(count > 8) {
        for(int i=31;i>=0;i--) {
        Tlc.set(i,4095);
        Tlc.update();
        delay(50);
        }
        stage = 8;
        count = 0;
      }
      else {
        ++count;
      }
    break;
    //-----Stage 9
    case 8:
      for(int i=31;i>=0;i--) {
        Tlc.set(i+8,4095);
        Tlc.set(i+7,2000);
        Tlc.set(i+6,1000);
        Tlc.set(i+5,500);
        Tlc.set(i+4,300);
        Tlc.set(i+3,200);
        Tlc.set(i+2,100);
        Tlc.set(i+1,50);
        Tlc.set(i,0);
        Tlc.update();
        delay(50);
      }
      for(int i=31;i>=0;i--) {
        Tlc.set(i,4095);
        }
      Tlc.update();
      delay(10);
      if(count > 8) {
        delay(8000);
        Tlc.clear();
        Tlc.update();
        stage = 0;
        count = 0;
      }
      else {
        ++count;
      }
    break;
      
  }
}Code language: Arduino (arduino)

Toque final



Assim que terminamos a programação e sabemos que tudo funciona bem, precisamos prender os LEDs no painel de fibra e eu fiz isso usando uma pistola de cola. Em seguida, precisamos fazer uma caixa de cobertura para os eletrônicos usando uma pistola de cola e mais 4 pedaços de papelão cortados no tamanho.

O que resta agora é conectar as linhas de energia provenientes do switch e o conector de alimentação que estão inseridos no painel de fibra do porta-retratos, adicionar a foto, prender a caixa inteira no porta-retratos e pronto!

Aqui você pode assistir ao vídeo de demonstração completo do LED Heart Photo Frame.

Sinta-se à vontade para fazer qualquer pergunta na seção de comentários abaixo!

Processo de manufatura

  1. DIY LUMAZOID Arduino Music Visualiser
  2. Sensor de batimento cardíaco infravermelho DIY usando Arduino
  3. Detector de frequência de áudio
  4. Arduino com Bluetooth para controlar um LED!
  5. Tech-TicTacToe
  6. Voltímetro DIY com Arduino e um visor Nokia 5110
  7. Arduino Quadruped
  8. Cronômetro de contagem regressiva do Arduino
  9. Arduino RGB Color Mixer
  10. Faça você mesmo Arduino RADIONICS Tratamento MMachine