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
- DIY LUMAZOID Arduino Music Visualiser
- Sensor de batimento cardíaco infravermelho DIY usando Arduino
- Detector de frequência de áudio
- Arduino com Bluetooth para controlar um LED!
- Tech-TicTacToe
- Voltímetro DIY com Arduino e um visor Nokia 5110
- Arduino Quadruped
- Cronômetro de contagem regressiva do Arduino
- Arduino RGB Color Mixer
- Faça você mesmo Arduino RADIONICS Tratamento MMachine