Índice:
- Etapa 1: peças usadas
- Etapa 2: O Código
- Etapa 3: Iniciando o circuito
- Etapa 4: O ULN2803
- Etapa 5: adicionar som
- Etapa 6: Conclusão
Vídeo: Luzes musicais de fadas: 6 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Por IanCummingFollow Mais do autor:
Sobre: Gosto de fazer desde foguetes até eletrônicos. Mais sobre IanCumming »
Sejam todos bem-vindos
Está quase na época das festas e várias lojas começaram a lançar suas decorações festivas. Eu pensei que era o momento certo para construir algumas luzes musicais de fadas!
Etapa 1: peças usadas
Usarei o seguinte:
- 12 LEDs
- 12 resistores limitadores de corrente
- 1 ULN 2803 Darlington Transistor Array
- Alguns fios de ligação
- Um alto-falante piezo
- Uma placa de ensaio e
- um Arduino
- Para fazer o cordão de luzes mágicas, usei 5 fios de um cabo Ethernet
Etapa 2: O Código
// VARS GLOBAL int barTime = 1200; // 8/8 = 1000ms byte nrLEDS = 4; // 4 LEDs básicos, você pode adicionar muitos leds de bytes paralelos = {3, 4, 5, 6}; alto-falante de byte = 11; comprimento do padrão de bytes = 64; // comprimento do padrão byte songLength = 51; música de byte const = {// Jingle Bells Dados 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 3, 30, 1, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 29, 2, 27, 2, 27, 2, 29, 2, 27, 4, 32, 4, 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 2, 30, 2, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 32, 2, 32, 2, 30, 2, 27, 2, 25, 8}; // A estrutura é o número da nota e então // Comprimento da nota no padrão de bytes const do 8º = {// Dados do padrão 0b0001, 0b0010, 0b0100, 0b1000, // Bits corrispond aos Leds na matriz 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b01b, 010b1000b, 010b0110, 010100b, 010b0110, 0101001b0100, 010b0110, 010000b0110, 010100100, 010b011010, 0b1001001001001001010101010, 1010101010, 0b0110, 01010101010, 0b0110b011010, 0101010101010 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};
Em primeiro lugar, declaro minhas variáveis, as interessantes são Song e Pattern.
- A música armazena a melodia; neste caso, é Jingle bells.
- O padrão armazena as posições de ativação e desativação nos bits dos valores na matriz.
Funções Personalizadas
// FUNÇÕES int noteToHz (int note) {// Converter um número de nota. para Freq float freq = 440 * (pow (1.059463094359, nota-21)); // -21 dá a nota 1 em C3 (eu acho) return int (freq); // Os resultados são precisos para 1hz} void lightLEDs (byte PORT_X) {// Estado do LED de controle para (int q = 0; q
As duas funções que tenho farão o seguinte:
- Calcule a frequência para a função de tom no loop
- liga ou desliga os LEDs dependendo do valor passado para a função
Função de configuração
void setup () {// configura os pinos de SAÍDA pinMode (alto-falante, SAÍDA); para (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], SAÍDA); }}
Na função de configuração, defino os pinos necessários para OUTPUT.
Função Loop
void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Notas, duração e tocar a melodia int note = noteToHz (song [t * 2]); comprimento interno = ((música [(t * 2) +1] * barTime) / 8); tom (alto-falante, nota, comprimento - 50); // Luzes piscando! lightLEDs (padrão [t% patternLength]); atraso (comprimento); } // Silence Loop int randomSilence = random (1000, 5000); para (int t = 0; t
Eu tenho 2 loops na função Main Loop. Um loop de música e um loop de silêncio
O loop da música lerá os dados do array da música, toque a nota usando a função de tom
O loop da música vai,
- Leia os dados da matriz de músicas,
- Toque a nota usando a função de tom e
- Acenda a matriz do padrão de leitura dos LEDs.
No ciclo de silêncio
apenas os LEDs estão acesos
Conecte o Arduino e faça upload do código. (Em seguida, desligue-o)
Etapa 3: Iniciando o circuito
Vou começar com a corda de luzes
- Usei o fio de um cabo Ethernet e soldei 3 LEDs em paralelo quatro vezes, certificando-me de espaçar os LEDs uniformemente por cerca de 2 metros
- Soldei o ânodo de cada um dos condutores em um único fio.
- Em seguida, o cátodo de cada LED para 4 fios separados. Com um resistor é claro
- Repeti este processo 3 vezes para obter uma sequência de 12 LEDs e coloquei pinos de cabeçalho na extremidade dos 5 fios
Conecte os trilhos Positivo e de aterramento à placa de ensaio
Etapa 4: O ULN2803
Coloque o chip ULN2308 na placa de ensaio
O ULN2308 é um chip de matriz de transistor; da folha de dados eu posso ver
- Esse pino 1 é uma entrada que transforma o pino 18 "LIGADO"
- O pino 2 liga o 17. Etc.
- Pino 9 é aterrado
- Conecte o pino 9 do chip ao trilho de aterramento
- Conecte o trilho positivo a uma tira terminal, uma tira acima do pino 18. (Você verá o porquê em um minuto)
- Conecte o pino 1 do chip ao pino 3 do Arduino
- 2 vai para 4
- 3 do chip vai para 5 e
- 4 vai para o pino 6 do Arduino
- Coloque a corda do LED na placa de ensaio. Onde o fio do ânodo comum é conectado à tira conectada a 5 volts. O resto dos pinos de luz de fada devem ir para os pinos 18, 17, 16 e 15 do chip.
Etapa 5: adicionar som
- Conecte o alto-falante piezo entre 2 tiras de terminais
- Conecte o pólo negativo do elemento piezoelétrico ao aterramento e
- A outra extremidade do alto-falante para o pino 11
Etapa 6: Conclusão
Eu tenho um fio de luz que toca sinos aleatoriamente para me lembrar que é época de festas.
Recomendado:
Luzes de Natal musicais automáticas DIY (MSGEQ7 + Arduino): 6 etapas (com imagens)
DIY Automatic Musical Christmas Lights (MSGEQ7 + Arduino): Então, todo ano eu digo que vou fazer isso e nunca vou fazer isso porque procrastino muito. 2020 é um ano de mudanças, então eu digo que este é o ano para fazer isso. Então, espero que você goste e faça suas próprias luzes de Natal musicais. Isso vai ser um s
Mini robô de combate para todas as idades - peso das fadas (150 gramas) explicado !: 5 etapas
Mini Robô de Combate para Todas as Idades - Peso das Fadas (150 Gramas) Explicado !: Neste Instrutivo, estarei explicando tudo sobre robôs de combate - semelhante ao programa Battlebots, mas em uma escala menor. Ao final deste tutorial, você terá conhecimento básico de como eles funcionam, onde conseguir um kit de robô de combate, como construir
Como controlar luzes / luzes domésticas usando Arduino e Amazon Alexa: 16 etapas (com imagens)
Como controlar a luz / luzes domésticas usando Arduino e Amazon Alexa: Eu expliquei como controlar a luz que está conectada ao UNO e controlada por Alexa
Luzes musicais de Natal DIY para iniciantes com Raspberry Pi: 12 etapas (com fotos)
Luzes musicais de Natal DIY para iniciantes com Raspberry Pi: Hoje, vou seguir as etapas para usar um pi de framboesa para fazer suas luzes de Natal brilharem com a música. Com apenas alguns dólares de material extra, eu mostro como converter suas luzes de Natal normais em um show de luzes para toda a casa. O objetivo ele
Como fazer fadas aparecerem na festa de aniversário de seu filho !: 4 etapas
Como fazer fadas aparecerem na festa de aniversário do seu filho !: Minha filha, que logo faria 8 anos, queria um aniversário com temática de fadas, então decidi torná-lo ainda mais especial. Eu criei um efeito muito simples que fez com que todos os festeiros pensassem que fadas reais apareciam só para eles