Índice:

LEDs de Bluetooth controlados por smartphone (com sincronização de música ao vivo): 7 etapas
LEDs de Bluetooth controlados por smartphone (com sincronização de música ao vivo): 7 etapas

Vídeo: LEDs de Bluetooth controlados por smartphone (com sincronização de música ao vivo): 7 etapas

Vídeo: LEDs de Bluetooth controlados por smartphone (com sincronização de música ao vivo): 7 etapas
Vídeo: Estava lá e eu não sabia #celular #dicas #lanterna 2024, Novembro
Anonim
Image
Image
Aquisição de materiais
Aquisição de materiais

Sempre adorei construir coisas, depois que descobri que meu novo dormitório da faculdade tinha péssima iluminação, decidi apimentá-lo um pouco.

*** ATENÇÃO *** Se você construir este projeto na mesma escala da minha configuração, você estará trabalhando com uma quantidade decente de energia elétrica. SEJA SEGURO, use o bom senso e, se não tiver certeza, PERGUNTE! Não arrisque queimar sua casa.

Etapa 1: Adquirindo Materiais

Aquisição de materiais
Aquisição de materiais
Aquisição de materiais
Aquisição de materiais

Para este projeto, você precisará de:

  1. Faixa (s) LED WS2812B endereçável (s). 5V é de longe o tipo mais comum e altamente preferido neste projeto. Este projeto é projetado para LEDs RGB, não RGBW. Eu recomendo fortemente os NeoPixels da Adafruit. (~ $ 25 por 60 LEDs)
  2. Um CurieNano (ainda vendido), um Arduino 101 (descontinuado, mas o que estou usando) ou outro microcontrolador que pode acessar BLE. (~ $ 35)
  3. Um smartphone (Apple e Android funcionam)
  4. Uma fonte de alimentação. A maioria dos LEDs endereçáveis do mercado são de 5V. A amperagem necessária depende do tamanho da sua configuração *. (~ $ 10-50 dependendo de sua configuração)
  5. Fiação ** (você também pode precisar dos conectores JST de 3 ou 2 pinos e pinos do Arduino apropriados) (~ $ 20-30)
  6. Conectores jack de barril de 2,1x5,5mm, você pode encontrá-los aqui. (~ $ 5)
  7. Uma pequena chave de fenda Phillips
  8. Ferro de soldar e solda (~ $ 20)
  9. Fita de montagem frente e verso (largura de 1/4 polegada). Eu uso isso. (~ $ 10)
  1. (Recomendado) Um microfone para sincronização de música. (Para ter sincronização de música funcionando, você deve ter um) Você pode encontrar um da Adafruit aqui. (~ $ 7)
  2. (Opcional) Um caso Arduino, como este. (~ $ 10)
  3. (Opcional) um capacitor de pelo menos 10 μF (protege contra picos de tensão ao ligar a fonte de alimentação pela primeira vez. Observe que algumas das fontes de alimentação maiores e mais sofisticadas podem já ter proteção integrada.) (~ $ 5)

Eu recomendo fortemente que você se atenha aos materiais vinculados nesta lista, já que os tenho usado na maior parte do dia, todos os dias, por meses sem falhas - especialmente os LEDs. Caso contrário, você pode ter soluços inesperados ou descobrir que estão faltando certos materiais ou ferramentas específicas.

* Para tiras extremamente pequenas (~ 30 pixels ou menos) ou o Arduino tem energia suficiente para executá-las e você não precisa de uma fonte de alimentação. (ISTO NÃO É RECOMENDADO PARA ESTE GUIA. Existem muitos guias de instrução sobre a construção de pequenas configurações de LED endereçáveis, que serão mais específicos para a sua situação.)

A maioria de vocês, entretanto, provavelmente precisará de uma fonte de alimentação. O cálculo é (Amperagem) = 0,075 * (Número de Pixels). Isso é feito com uma margem de segurança integrada (no consumo total, sua fonte de alimentação estará operando a ~ 75% da capacidade. Isso manterá sua fonte de alimentação funcionando fria e, portanto, de forma consistente por longos períodos de tempo). Indo significativamente abaixo disso corre o risco de superaquecimento e até mesmo incêndio. Algumas fontes de alimentação também exigem que você conecte seu próprio plugue CA na parede. Para monitores que usam várias bobinas de LED, eu recomendo fortemente que você injete energia. Isso será discutido na próxima seção.

** Dimensione seu fio corretamente! SEGURANÇA EM PRIMEIRO LUGAR gastar alguns dólares extras pode salvar sua casa.

(Se você estiver curioso, estou usando duas fontes de alimentação de 5 V cada uma com duas saídas de 30 A e fio de alto-falante de calibre 12. Isso me permite injetar energia suficiente em quatro pontos ao longo da minha faixa de LED. Estou usando ~ 21 metros com densidade de 60 LEDs /metro.)

Etapa 2: alimentação

Poder
Poder
Poder
Poder
Poder
Poder
Poder
Poder

"carregando =" preguiçoso"

Image
Image
Modos e afinação
Modos e afinação
Modos e afinação
Modos e afinação
Modos e afinação
Modos e afinação

Existem dois modos que pedem o número do pixel nos pontos iniciais: modo 2 (Color Wipe) e modo 12 (Music Sync). Se você tem muitos LEDs, é uma grande dor contar até que pixel exato você quer para começar, então eu construí uma ferramenta. No último item do menu de modo em seu aplicativo BLYNK, você encontrará um modo chamado "Pixel Finder". Para usar isso, você provavelmente terá que modificar as configurações do widget.

  • Primeiro, certifique-se de que você está no modo de edição
  • Selecione o controle deslizante
  • Altere os valores de brilho para que o número do pixel que você está procurando esteja dentro da faixa de brilho inserida.

Quando você usa o modo Localizador de pixels, o número de pixels do valor de brilho acende em verde. Dessa forma, você pode rolar rapidamente para um local desejado e ler o número do pixel em seu telefone

Você pode ver isso nas fotos [5 e 6] e [7 e 8]. (Você pode notar que nesta captura de tela estou usando os controles deslizantes de cor em vez do zeRGBra). Observe também que o índice do primeiro pixel é 0 e não 1.

Isso deve ajudá-lo a definir seus padrões onde quiser.

Mais uma coisa que devo mencionar é que "Brightness" nos modos Comet (modo 10) e Music Sync (modo 12) ajustam o comprimento das "caudas". É assim que o código deve funcionar, já que "Brilho" não faz sentido nesses modos.

Etapa 7: Viva! Você Terminou! (Leia mais para extras sobre o código)

Para usar seus LEDs:

  • Esteja dentro do alcance do seu Arduino
  • Toque no ícone BLE
  • Encontre seu dispositivo (responda por deviceName ) e escolha-o

Agora você poderá usar o controle remoto.

Vá aproveitar todo o seu trabalho duro!

***************************** Avançado (Sobre o Código) *************** *****************

Tentei fazer o código bem comentado, provavelmente não está otimizado de forma alguma, mas sei que ele executa minhas 1200+ luzes rápido o suficiente. O índice analítico tem o código dividido por número de linha.

As partes do código que contêm os modos e a interface do usuário são bastante separáveis; tecnicamente, você poderia abandonar o bluetooth e usar uma central com fio ou um temporizador simples que percorre todos os modos. Você realmente só precisa preencher o array cmdArr para dar instruções.

  • O índice 0 armazena informações sobre a faixa sendo ligada / desligada,
  • O índice 1 armazena o número do modo do menu
  • As indicações 2, 3 e 4 armazenam os valores R, G e B do seletor de cores, respectivamente.
  • O índice 5 armazena a porcentagem de brilho
  • Outros indicies estão atualmente sem uso

Você pode notar no código que há muitas linhas que dizem "SetPixelColorAdj (…" apesar da função ser simplesmente "setPixelColor (…". Isso ocorre porque este é um pouco de código remanescente usado para mapear partes da faixa de LED ao redor. Por exemplo, se você usar uma faixa para fazer dois loops, seria uma dor de abordar os padrões com uma pausa até onde o loop se funde novamente. Com isso, você pode unir artificialmente o recurso interno da faixa de LED ao final e também emendar o loop principal de volta para que, dentro do código, seja intuitivo trabalhar com ele.

Também fornecerei uma explicação sobre como funcionam alguns dos modos mais complicados. Alguns deles (Rainbow, Color Wipe e Fade [1, 2, 3]) já estão na Biblioteca NeoPixel como código de exemplo.

  • Lava, Canopy, Ocean [4, 5, 6] - Esses modos usam os pontos-guia conforme mencionado anteriormente, cada ponto-guia recebe uma cor aleatória dentro de um reino atribuído a ele. Lava é principalmente vermelha, Canopy é principalmente verde e Ocean é principalmente azul. O padrão Fade [3] já fornece um ótimo algoritmo de fade linear. Isso é reaproveitado para desaparecer da cor de um ponto-guia para o próximo usando os pixels intermediários, criando uma flutuação suave. As três matrizes de fade armazenam as etapas de um fade de tempo dos pontos de guia (os estados inicial, de transição e final). Quando os pontos de guia desaparecem com o tempo, os pixels próximos a eles também atualizam suas cores. Quando um ciclo de tempo é concluído, o ponto final recém-alcançado torna-se o novo ponto inicial. Dessa forma, o padrão permanece suave no tempo.
  • Onda de cor [7] - É semelhante aos modos anteriores, mas as cores dos pontos-guia são escolhidas de forma diferente. Há um desvio dado a uma cor de base que desaparece no círculo cromático com o tempo.
  • Fireflies [8] - O array 2D armazena localização e direção para 90 vagalumes escolhidos. Ele decide, a cada passo de tempo, se um vaga-lume se moverá para a esquerda, para a direita ou não se moverá. Seu brilho geral segue um ciclo de fade on, fade off.
  • Confetti [9] - Você não pode reutilizar partes do firefly aqui, embora eles pareçam semelhantes - isso é porque você prefere um brilho geral consistente para ver melhor a mudança de cor. A ideia, entretanto, não é muito diferente. Consegui uma iluminação uniforme atribuindo 1/3 de todos os brilhos de confete a 3 funções sinusoidais co-periódicas separadas por um deslocamento de 1/3 do período cada.
  • Cometa [10] - Muito semelhante ao Scanner de Adafruit, a diferença é que a direção agora é gerada aleatoriamente a cada vez e não muda, há uma ligeira variação na cor conforme o pixel se move, criando um efeito mais "fogo" no cauda. A chamada do escurecimento de cada atualização é o que cria o desbotamento ou a "cauda" do padrão.
  • Music Sync [12] - Dois parâmetros são calculados com base no volume (voltagem de A0): Uma cor e comprimento. A sincronização da música então desvanece de uma cor central para a cor calculada, enquanto simultaneamente desvanece para preto na duração dada. A cor central esmaece suavemente em torno da roda de cores, assim você obtém efeitos chamativos e suavidade para que não seja desagradável.

Créditos de imagem

cdn.shopify.com/s/files/1/0176/3274/produc…

store-cdn.arduino.cc/usa/catalog/product/c…

cdn.mos.cms.futurecdn.net/aSDvUGkMEbyuB9qo…

images-na.ssl-images-amazon.com/images/I/6…

www.amazon.com/Speaker-GearIT-Meters-Theat…

www.powerstream.com/z/adapter-2-1-to-screw…

www.amazon.com/Hobbico-HCAR0776-Soldering-…

images-na.ssl-images-amazon.com/images/I/7…

cdn-shop.adafruit.com/970x728/1063-03.jpg

cdn-learn.adafruit.com/assets/assets/000/0…

www.adafruit.com/product/2561

www.adafruit.com/product/2964?length=1

cdn.sparkfun.com//assets/parts/4/6/8/4/102…

www.holidaycoro.com/v/vspfiles/assets/image…

www.circuitspecialists.eu/5-volt-enclosed-s…

d3vs3fai4o12t3.cloudfront.net/media/catalo…

Recomendado: