Faça um POV LED Air Writer por menos de $ 5

Neste projeto simples, faremos um pequeno dispositivo que ilumina as mensagens no ar quando você as acena. É mais fácil do que você pensa e o custo total é inferior a US $ 5.

Neste projeto simples, faremos um pequeno dispositivo que ilumina as mensagens no ar quando você as acena.  É mais fácil do que você pensa e o custo total é inferior a US $ 5.
Propaganda

Você pode fazer todo tipo de coisa com LEDs piscantes e, neste projeto simples, faremos um pequeno dispositivo que ilumine as mensagens no ar quando você as acenar. É mais fácil do que você pensa, e o custo total das peças está abaixo de US $ 5.

Este projeto utiliza uma ilusão de ótica chamada persistência de visão para fazer o texto aparecer no ar. Você provavelmente já se deparou com esse fenômeno quando alguém move um sparkler iluminado rapidamente à noite. Nós estaremos usando um Arduino e alguns LEDs para imitar esse efeito. Este projeto é simples de construir, com poucos componentes e pouca soldagem (se você quiser algumas dicas sobre como começar a usar o seu ferro de solda veja este guia Aprenda como soldar, com estas dicas e projetos simples Aprenda como soldar, com estes simples Dicas e Projetos Você está um pouco intimidado pelo pensamento de um ferro quente e metal fundido? Se você quer começar a trabalhar com eletrônicos, você vai precisar aprender a soldar. Vamos nos ajudar.

Você vai precisar

  • Arduino (usei um Nano de $ 2 porque é compacto e barato, mas qualquer modelo deve estar bem).
  • 5x LEDs vermelhos.
  • Resistores 5x 220 Ohm.
  • 1 x suporte de bateria de 9v.
  • 1x interruptor de balancim.
  • 1x pedaço de protoboard.
  • Uma caixa para o produto acabado (usei uma pequena caixa de papelão pintada de preto).

Você também precisará de um ferro de solda e um pouco de solda para juntar tudo.

Embora opcional, algum pavio de solda pode ser muito útil caso você cometa algum erro de solda. Uma tábua de pão e alguns fios de conexão também são úteis para testar seu circuito.

Componentes necessários para o projeto

Fiação

A fiação não poderia ser mais simples. Primeiro, conecte seu Arduino, LEDs e resistores conforme mostrado neste diagrama.

pov fritzing

Os pinos D2 a D6 vão para cada resistor, respectivamente, que estão ligados ao ânodo positivo (perna longa) de cada LED. O cátodo é conectado ao terra, que se conecta de volta ao Arduino. Quando estiver pronto, deve ser algo como isto:

tábua de pão pov

É isso: nosso circuito acabou! Nós estaremos adicionando um alojamento de bateria e um interruptor para isto depois, mas isto é tudo que nós precisamos testar se trabalha.

Código

Agora, conecte seu Arduino ao computador e abra o Arduino IDE. Se você é novo em usar o Arduino e quer um bom guia para começar, este link é uma plataforma de prototipagem eletrônica de código aberto baseada em flexível, fácil de usar. para usar hardware e software. É destinado a artistas, designers, amadores e qualquer pessoa interessada em criar objetos ou ambientes interativos. Leia mais será útil.

Abra um novo esboço e copie este código. O código foi modificado a partir deste projeto e você pode baixá-lo integralmente nesta essência.

// how long each led stays on for int delayTime = 1; //how long between each int charBreak = 3; //how long to wait after the message is finished before it repeats int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; void setup(){ pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(LED5, OUTPUT); } int a[] = {1, 6, 26, 6, 1}; int b[] = {31, 21, 21, 10, 0}; int c2[] = {14, 17, 17, 10, 0}; int d[] = {31, 17, 17, 14, 0}; int e[] = {31, 21, 21, 17, 0}; int f[] = {31, 20, 20, 16, 0}; int g[] = {14, 17, 19, 10, 0}; int h[] = {31, 4, 4, 4, 31}; int i[] = {0, 17, 31, 17, 0}; int j[] = {0, 17, 30, 16, 0}; int k[] = {31, 4, 10, 17, 0}; int l[] = {31, 1, 1, 1, 0}; int m[] = {31, 12, 3, 12, 31}; int n[] = {31, 12, 3, 31, 0}; int o[] = {14, 17, 17, 14, 0}; int p[] = {31, 20, 20, 8, 0}; int q[] = {14, 17, 19, 14, 2}; int r[] = {31, 20, 22, 9, 0}; int s[] = {8, 21, 21, 2, 0}; int t[] = {16, 16, 31, 16, 16}; int u[] = {30, 1, 1, 30, 0}; int v[] = {24, 6, 1, 6, 24}; int w[] = {28, 3, 12, 3, 28}; int x[] = {17, 10, 4, 10, 17}; int y[] = {17, 10, 4, 8, 16}; int z[] = {19, 21, 21, 25, 0}; int eos[] = {0, 1, 0, 0, 0}; int excl[] = {0, 29, 0, 0, 0}; int ques[] = {8, 19, 20, 8, 0}; int space[] = {0, 0, 0, 0, 0}; void displayLine(int line){ int myline; myline = line; if (myline>=16) {digitalWrite(LED1, HIGH); myline-=16;} else {digitalWrite(LED1, LOW);} if (myline>=8) {digitalWrite(LED2, HIGH); myline-=8;} else {digitalWrite(LED2, LOW);} if (myline>=4) {digitalWrite(LED3, HIGH); myline-=4;} else {digitalWrite(LED3, LOW);} if (myline>=2) {digitalWrite(LED4, HIGH); myline-=2;} else {digitalWrite(LED4, LOW);} if (myline>=1) {digitalWrite(LED5, HIGH); myline-=1;} else {digitalWrite(LED5, LOW);} } void displayChar(char c){ if (c == 'a'){for (int i = 0; i<5; i++){displayLine(a[i]);delay(delayTime);}displayLine(0);} if (c == 'b'){for (int i = 0; i<5; i++){displayLine(b[i]);delay(delayTime);}displayLine(0);} if (c == 'c2'){for (int i = 0; i<5; i++){displayLine(c2[i]);delay(delayTime);}displayLine(0);} if (c == 'd'){for (int i = 0; i<5; i++){displayLine(d[i]);delay(delayTime);}displayLine(0);} if (c == 'e'){for (int i = 0; i<5; i++){displayLine(e[i]);delay(delayTime);}displayLine(0);} if (c == 'f'){for (int i = 0; i<5; i++){displayLine(f[i]);delay(delayTime);}displayLine(0);} if (c == 'g'){for (int i = 0; i<5; i++){displayLine(g[i]);delay(delayTime);}displayLine(0);} if (c == 'h'){for (int i = 0; i<5; i++){displayLine(h[i]);delay(delayTime);}displayLine(0);} if (c == 'i'){for (int it = 0; it<5; it++){displayLine(i[it]);delay(delayTime);}displayLine(0);} if (c == 'j'){for (int i = 0; i<5; i++){displayLine(j[i]);delay(delayTime);}displayLine(0);} if (c == 'k'){for (int i = 0; i<5; i++){displayLine(k[i]);delay(delayTime);}displayLine(0);} if (c == 'l'){for (int i = 0; i<5; i++){displayLine(l[i]);delay(delayTime);}displayLine(0);} if (c == 'm'){for (int i = 0; i<5; i++){displayLine(m[i]);delay(delayTime);}displayLine(0);} if (c == 'n'){for (int i = 0; i<5; i++){displayLine(n[i]);delay(delayTime);}displayLine(0);} if (c == 'o'){for (int i = 0; i<5; i++){displayLine(o[i]);delay(delayTime);}displayLine(0);} if (c == 'p'){for (int i = 0; i<5; i++){displayLine(p[i]);delay(delayTime);}displayLine(0);} if (c == 'q'){for (int i = 0; i<5; i++){displayLine(q[i]);delay(delayTime);}displayLine(0);} if (c == 'r'){for (int i = 0; i<5; i++){displayLine(r[i]);delay(delayTime);}displayLine(0);} if (c == 's'){for (int i = 0; i<5; i++){displayLine(s[i]);delay(delayTime);}displayLine(0);} if (c == 't'){for (int i = 0; i<5; i++){displayLine(t[i]);delay(delayTime);}displayLine(0);} if (c == 'u'){for (int i = 0; i<5; i++){displayLine(u[i]);delay(delayTime);}displayLine(0);} if (c == 'v'){for (int i = 0; i<5; i++){displayLine(v[i]);delay(delayTime);}displayLine(0);} if (c == 'w'){for (int i = 0; i<5; i++){displayLine(w[i]);delay(delayTime);}displayLine(0);} if (c == 'x'){for (int i = 0; i<5; i++){displayLine(x[i]);delay(delayTime);}displayLine(0);} if (c == 'y'){for (int i = 0; i<5; i++){displayLine(y[i]);delay(delayTime);}displayLine(0);} if (c == 'z'){for (int i = 0; i<5; i++){displayLine(z[i]);delay(delayTime);}displayLine(0);} if (c == '!'){for (int i = 0; i<5; i++){displayLine(excl[i]);delay(delayTime);}displayLine(0);} if (c == '?'){for (int i = 0; i<5; i++){displayLine(ques[i]);delay(delayTime);}displayLine(0);} if (c == '.'){for (int i = 0; i<5; i++){displayLine(eos[i]);delay(delayTime);}displayLine(0);} if (c == ' '){for (int i = 0; i<5; i++){displayLine(space[i]);delay(delayTime);}displayLine(0);} delay(charBreak); } void displayString(char* s){ for (int i = 0; i<=strlen(s); i++){ displayChar(s[i]); } } void loop(){ //Change the text inside here to change the text displayed. //Make sure to keep the brackets and the quotation marks. displayString("..hello!.."); delay(40); } 

Salve o esboço e faça o upload para sua placa. Se você receber algum erro, certifique-se de ter a placa correta e a porta COM selecionadas. Seus LEDs devem começar a piscar. Se não, verifique todas as suas conexões na sua placa de montagem. Os inteiros declarados no início do código determinam a rapidez com que o texto é exibido. Quanto maior o número, mais rápido você precisará para agitar o dispositivo. Eu achei que os números usados ​​aqui funcionavam bem.

Agora, faça um teste rápido. Desconecte o Arduino do cabo USB e conecte o suporte da bateria aos pinos VIN e GND do seu arduino.

pov fritz com batt

Agora que você pode movê-lo, tente cuidadosamente girar os LEDs na sua frente. Você deve ver algumas letras se formando no ar, desde que esteja escuro o suficiente ao seu redor. Eu achei que ajudou a configurar meu telefone para capturar isso.

teste de pão

Funciona! Agora, para torná-lo um pouco mais permanente.

Ferros no pronto!

Coloque sua placa Arduino, resistores e LEDs em seu protoboard como este:

colocado a bordo

É claro que você pode tornar o layout o mais compacto que desejar, desde que o circuito permaneça o mesmo. Certifique-se de deixar pelo menos uma linha de contatos de protoboard em cada lado do seu Arduino para os componentes e fonte de alimentação. Se você é um iniciante em eletrônica, aqui estão algumas ótimas dicas para você. Eletrônica para iniciantes: 10 habilidades que você precisa saber Eletrônica para iniciantes: 10 habilidades que você precisa conhecer Muitos de nós nunca tocaram em um ferro de solda - mas fazer coisas pode incrivelmente gratificante . Aqui estão dez das habilidades de eletrônica DIY mais básicas para ajudá-lo a começar. Consulte Mais informação .

Nós estaremos soldando os cátodos de LED juntos em uma linha para fazer um terreno comum, muito como fizemos quando fizemos nossa matriz de LED Atualize sua guirlanda de Natal com uma matriz de LED ativada por movimento Atualize sua guirlanda de Natal com uma matriz de LED ativada por movimento A grinalda usa uma matriz de Arduino e LED para produzir uma incrível tela iluminada que impressionará seus amigos e familiares. Consulte Mais informação .

catodos de fileira

Dobre cada cátodo para que ele se sobreponha ao próximo e solde-os para criar uma linha ininterrupta. Agora precisamos soldar nossos ânodos nas pernas dos resistores próximos a eles. Descobri que a maneira mais fácil de fazer isso era soldar cada perna no respectivo bloco e, em seguida, colocar o ferro entre eles para aquecer as duas juntas, antes de finalmente adicionar mais solda para preencher a lacuna entre elas.

Verifique cada conexão para ver se está solidamente conectada e, em seguida, use cortadores de fio para cortar o excesso de pernas dos resistores e LEDs.

resistores para ânodos

Agora, para repetir a mesma tarefa, mas desta vez conectando a outra extremidade de nossos resistores às pernas do Arduino. Esta é a parte mais complicada da soldagem. Cada resistor é muito ligado ao seu pino Arduino sozinho ou o circuito não funcionará da maneira pretendida. Eu cometi vários erros aqui e tive que usar o pavio de solda para remover a solda indesejada várias vezes.

Depois de ter feito todas as conexões corretas, verifique se nenhuma delas se sobrepõe a seus vizinhos. Se você tiver acesso a um multímetro aqui, poderá usar o modo de continuidade para verificar se cada pino possui apenas uma linha ininterrupta para seu resistor. Se você acabou de adquirir um multímetro, há um ótimo guia de introdução neste artigo. 7 Habilidades Técnicas DIY para Ensinar Seus Filhos, Porque Escolas Não 7 Habilidades Técnicas DIY para Ensinar Seus Filhos, Porque Escolas Não Ler Mais

imagem de continuidade

Depois de ter verificado cada conexão, corte o excesso de comprimento das pernas dos resistores

Adicionando Poder

Agora passe um pedaço de arame do pino GND do seu Arduino até um buraco ao lado de onde termina sua linha de cátodos soldados e coloque o fio preto do suporte da bateria próximo a ele.

top de fios gnd

Agora, solde o fio no pino GND, da mesma forma que fizemos com os resistores, e solde os dois fios no final da linha de catodos para criar um aterramento comum para o circuito.

Por fim, conecte um fio ao pino VIN do seu arduino e coloque a chave entre esse fio e a bateria. Desculpas para o interruptor coberto de cola quente nesta foto, eu tive que desmantelar a máquina acabada para fotografar esta fase!

alternar vin

Depois que tudo estiver soldado, coloque uma bateria e aperte o botão. Parabéns! O circuito está pronto. Se você não vir nada aceso, verifique cuidadosamente cada junta de solda para ver onde pode haver uma interrupção ou um curto-circuito.

Recinto

Agora que estamos trabalhando, vamos colocar em uma caixa. Aqui uma caixa de papelão pintada foi usada, embora você pudesse fazer algo mais permanente usando uma caixa comprada em uma loja de hobby, ou até mesmo uma velha caixa de tupperware. Para creditar geek extra, você pode até imprimir em 3D o seu próprio em uma dessas impressoras 3D baratas. 5 Impressoras 3D baratas que você pode comprar hoje 5 impressoras 3D baratas que você pode comprar hoje Alguns anos atrás, até mesmo as impressoras 3D mais baratas estavam incomodamente perto da marca de US $ 1.000 - agora você pode obter uma impressora 3D de qualidade por apenas US $ 400. consulte Mais informação

Reduza seu protótipo ao tamanho, marcando-o e cuidadosamente tirando as partes que você não precisa.

proto gif

Coloque seu circuito dentro do seu gabinete e marque onde os LEDs e o switch precisam passar. Opcionalmente, você também pode marcar onde o conector USB na placa Arduino atende a borda para que você possa conectá-lo para alterar o texto sem abrir a caixa. Perfure ou corte os furos que você precisa no gabinete.

faça furos

Agora adicione um pouco de cola quente nas bordas dos LEDs e cole-os no lugar. Colei um pedaço de esponja sob o circuito para que ele se sentasse confortavelmente na caixa. Anexe seu comutador ao caso. Eu usei cola quente, embora parafusos ou parafusos fariam uma conexão muito mais forte. Você também pode colar o suporte da bateria na parte de trás da placa de circuito para impedi-lo de se mover por dentro quando o item estiver em uso, mas certifique-se de que os contatos de metal do gabinete não tocam em nenhuma das suas juntas de solda!

interruptor de medida

Jó feito!

Feche o seu recinto e pronto! Para alterar o texto, conecte o cabo USB à placa do Arduino e altere o texto dentro dos colchetes após displayString no método loop . Encontre um lugar escuro e divirta-se!

ritmo mais lento

Você já construiu uma máquina POV antes e sabe como melhorar o design? Você está planejando construir um você mesmo? Conte-nos sobre o seu projeto nos comentários abaixo, adoraríamos ouvi-lo!

In this article