Fazer uma pov levou escritor ar por menos de us $ 5
Você pode fazer todo tipo de coisas com LEDs piscando, e neste projecto simples, faremos um pequeno dispositivo que acende mensagens no ar quando você movê-la para trás e para frente. É mais fácil do que você pensa, e o custo total de peças é menos de US $ 5.
Conteúdo
Este projeto utiliza uma ilusão de ótica chamado persistência da visão para fazer o texto aparecer no ar. Você provavelmente já se deparar com esse fenômeno quando alguém se move um sparkler iluminado rapidamente à noite. Nós estaremos usando um Arduino e alguns LEDs para imitar este efeito. Este projeto é simples de construir, com poucos componentes e pouco solda (embora se você quiser algumas dicas sobre como começar com o seu check-ferro de solda para fora este guia).Aprenda a solda, com estas dicas simples e ProjetosAprenda a solda, com estas dicas simples e ProjetosVocê está um pouco intimidado pelo pensamento de um ferro quente e metal fundido? Se você quer começar a trabalhar com eletrônica, você vai precisar aprender a solda. Vamos ajudar.consulte Mais informação
Você vai precisar
- Arduino (eu usei um Nano $ 2 porque é compacto e barato, mas qualquer modelo deve ser fino).
- 5x LEDs vermelhos.
- resistores 5x 220 Ohm.
- 1x suporte da bateria de 9v.
- 1x Rocker mudar.
- peça 1x de protoboard.
- Um alojamento para o produto acabado (I utilizada uma pequena caixa de cartão pintados de preto).
Você também precisará de um ferro de solda e um pouco de solda para colocá-lo todos juntos.
Embora opcional, alguns pavio solda pode ser muito útil no caso de você cometer erros de solda. A placa de ensaio e algumas Fios de montagem também são úteis para testar o circuito.
Fiação
A fiação não poderia ser mais simples. Em primeiro lugar, ligar o Arduino, LEDs e resistores como mostrado neste diagrama.
D2 pinos através D6 ir para cada resistor, respectivamente, que estão ligados ao ânodo positivo (perna longa) de cada LED. O cátodo é ligado à terra, que liga de volta para o Arduino. Quando ele é feito, deve ser algo como isto:
É isso: o nosso circuito é feito! Nós estaremos adicionando uma caixa de bateria e um interruptor para isso mais tarde, mas isso é tudo que precisamos para testar se funciona.
Código
Agora ligar o Arduino ao computador e abra o Arduino IDE. Se você é novo para usando o Arduino e quer um bom guia em começar indo, esse link será útil.Começando com o Arduino: Guia de um novatoComeçando com o Arduino: Guia de um novatoArduino é uma plataforma electrónica de prototipagem de código aberto baseado em flexível e fácil de usar hardware e software. É destinado a artistas, designers, entusiastas e qualquer pessoa interessada em criar objetos ou ambientes interativos.consulte Mais informação
Abra um novo desenho e copiar este código. O código foi modificado a partir deste projeto e você pode baixá-lo na íntegra neste Gist.
// quanto tempo cada LED permanece aceso paraint tempo de atraso = 1-// quanto tempo entre cada int charBreak = 3-// o tempo de espera após a mensagem é terminado antes de repetirint ResetTime = 20-int LED1 = 2-int LED2 = 3-int LED3 = 4-int LED4 = 5-int LED5 = 6-vazio configuração(){pinMode(LED1, SAÍDA)-pinMode(LED2, SAÍDA)-pinMode(LED3, SAÍDA)-pinMode(LED4, SAÍDA)-pinMode(LED5, SAÍDA)-}int uma[] = {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 Eu[] = {0, 17, 31, 17, 0}-int j[] = {0, 17, 30, 16, 0}-int k[] = {31, 4, 10, 17, 0}-int eu[] = {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 você[] = {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 espaço[] = {0, 0, 0, 0, 0}-vazio displayLine(int linha){int minha linha-minha linha = linha-E se (minha linhagt; =16) {digitalWrite(LED1, ALTO)- minha linha-=16-} outro {digitalWrite(LED1, BAIXO)-}E se (minha linhagt; =8) {digitalWrite(LED2, ALTO)- minha linha-=8-} outro {digitalWrite(LED2, BAIXO)-}E se (minha linhagt; =4) {digitalWrite(LED3, ALTO)- minha linha-=4-} outro {digitalWrite(LED3, BAIXO)-}E se (minha linhagt; =2) {digitalWrite(LED4, ALTO)- minha linha-=2-} outro {digitalWrite(LED4, BAIXO)-}E se (minha linhagt; =1) {digitalWrite(LED5, ALTO)- minha linha-=1-} outro {digitalWrite(LED5, BAIXO)-}}vazio displayChar(Caracteres c){E se (c == `uma`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(uma[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `B`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(b[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `C2`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(c2[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `D`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(d[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `E`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(e[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `F`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(f[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `G`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(g[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `H`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(h[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `Eu`){para (int isto = 0- isto lt;5- isto++){displayLine(Eu[isto])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `J`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(j[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `K`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(k[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `eu`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(eu[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `M`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(m[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `N`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(n[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `O`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(o[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `P`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(p[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `Q`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(q[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `R`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(r[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `S`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(s[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `T`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(t[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `você`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(você[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `V`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(v[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `W`){para (int Eu = 0- Eu lt;5- Eu++){displayLine(W[Eu])-demora(tempo de atraso)-}displayLine(0)-}E se (c == `X`){para (