Chegou a hora de fazer algo além de um simples LED piscando com Arduino! Uma árvore de Natal que toca músicas de Natal! Ou seja, vários LEDs piscando com um buzzer! Infelizmente andei ocupado e não consegui postar esse tutorial mais cedo. Então, se você começar agora pode acabar terminando a árvore depois do Natal, pois a montagem é um pouco trabalhosa.
Materiais
Segue a lista de materiais. Componentes eletrônicos queimam fácil. Então, se possível, compre tudo em dobro! É importante que o buzzer seja passivo (não ativo) para que possa tocar notas musicais diferentes.
Materiais
- 8 LEDs fosco 5 mm azul
- 8 LEDs fosco 5 mm verde
- 8 LEDs fosco 5 mm vermelho
- 5 LEDs fosco 5 mm branco
- 21 resistores 470 Ω
- 8 resistores 330 Ω
- 1 resistor de 1 kΩ
- 1 botão táctil
- 1 buzzer passivo 5 V
- Fio de solda
- Fita adesiva
- Caixa de papelão
- Tinta PVA ou guache
- Arduino Uno ou compatível
- Cabos de internet velhos (uns 5 m)
- Fio de cobre rígido (10 cm)
Equipamento
- Cabinhos jumper Dupont
- Cabo velho de internet
- Ferro de solda
- Alicates de corte, de bicos redondo e chato
- Pistola de cola quente
- Estilete
- Pincel
Molde da árvore
Eu fiz um desenho qualquer de árvore de natal num pedaço de papelão, cortei e usei como molde para fazer a outra parte. Se quiser fazer igual, você pode imprimir o gabarito disponível aqui.
Eu cortei cuidadosamente com o estilete e pintei com tinta PVA verde, exceto o tronco. Depois de seco, eu dividi uma das partes ao meio.
Colocando os LEDs
São 6 LEDs em cada lado da árvore, totalizando 24. Coloquei a perninha maior do LED (lado positivo) sempre do lado direito, e a perninha menor sempre do lado esquerdo. (Na verdade, quando testei depois, vi que tinha virado alguns LEDs e tive que consertar 😅). A figura abaixo mostra a posição sugerida para os LEDs.
Cada cabo de internet possui 4 pares de fios mais uma cordinha branca. Você pode cortar um pedacinho da capa para encontrar a cordinha, depois puxá-la para descascar aproximadamente 30 cm de cabo. Você vai precisar de uns 50 cm de cabo para cada parte da árvore e também para a estrela.
Se o cabo de rede for velho, você consegue descascá-los pinçando com as unhas. Caso contrário, é preciso puxar delicadamente com o alicate de corte. Sugiro utilizar os fios vermelho, verde e azul para os 3 LEDs de baixo, e as mesmas cores com branco nos LEDs superiores. As cores marrom e marrom com branco serão usadas para conectar as perninhas negativas, como mostrado no esquemático. O esquemático em PDF está disponível no github.
Se você reparou que meus LEDs não estão como no esquemático, é porque eu não tinha feito um planejamento ainda. Inclusive, troquei alguns LEDs verdes por amarelos e conectei alguns em série, mas achei que não valeu tanto a pena. Você pode soldar os cabinhos direto na árvore. Não pega fogo pois a tinta usada é a base de água. Antes de soldar, os fios podem ser presos embaixo das perninhas dos LEDs, ou a perninha pode ser dobrada.
Depois de soldar todos os LEDs, fixe-os com fita adesiva. Se possível, teste cada LED em série com um resistor de 1 kΩ e uma bateria de 5 V (ou 5 V do Arduino).
Montagem da árvore
Agora, com cola quente, cole os lados separados na parte inteira. Depois cole o tronco da árvore num pedaço de papelão grande o suficiente para conter o breadboard e o Arduino. Como a árvore vai ficar montada por algum tempo, eu usei o adesivo do breadboard para fixá-lo nesta base. O Arduino pode ficar preso com uma corda ou elástico.
Preparando a estrela
Para soldar os LEDs da estrela, é preciso desenhar um círculo numa folha de papel, com raio menor que a perninha negativa. Fixe os LEDs na folha com fita adesiva. Fixe também o fio de cobre e solde com ele todas as pernas no centro. Para soldar as pernas positivas, é interessante dobrar os fios de cobre com um alicate de bico redondo. Verifique se as soldas estão boas, depois de descolar os LEDs, é virtualmente impossível aplicar mais solda!
Montagem do circuito
Para limitar a corrente que passa pelos LEDs, precisamos colocar um resistor em série, com o valor calculado de acordo com a equação $$ R = \frac{ 5 - V_f }{ i } $$
Onde
- $i$ é corrente que passa pelo LED. Normalmente esse valor é de 10 mA, mas para os LEDs mais brilhantes, eu costumo deixar 5 mA para não destoar do conjunto.
- $V_f$ é a tensão a partir da qual o LED passa a conduzir (f é de forward). Abaixo deste valor, o LED praticamente não conduz corrente (e não acende). Esse valor pode ser medido com um multímetro ou testador de componentes. Eu testei alguns LEDs que eu tinha aqui em casa. Coloquei o valor médio é na tabela abaixo.
LED | Vf | i | R | R próxima |
---|---|---|---|---|
Vermelho | 1,9 V | 10 mA | 310 Ω | 330 Ω |
Amarelo | 2,0 V | 10 mA | 300 Ω | 330 Ω |
Verde | 2,6 V | 5 mA | 480 Ω | 470 Ω |
Azul | 2,7 V | 5 mA | 460 Ω | 470 Ω |
Branco | 2,8 V | 5 mA | 440 Ω | 470 Ω |
Nem sempre o valor da resistência calculado pode ser comprado nas lojas. Então, você deve escolher um valor mais próximo acima (a corrente será um pouquinho menor). No caso da árvore de Natal, cada pino do Arduino fica responsável por dois conjuntos de resistor + LED. Os pinos fornecerão o dobro da corrente requerida para um LED. Veja o exemplo para o azul:
Não esqueça de olhar o esquemático para saber onde conectar cada fiozinho.
Gravação do firmware
O código fonte está disponível no arquivo main.cpp no github. Se você estiver utilizando a Arduino IDE, basta criar um novo Sketch e colar o código deste arquivo. Este código é basicamente dividido em duas partes,
- A parte que interpreta músicas e reproduz no buzzer, com ponto de entrada na função
playSong
. Tem umas quatro músicas de Natal gravadas. Quando o Arduino é ligado, uma música é tocada a cada 15 minutos durante 2 horas. Também dá pra tocar uma música pressionando o botão. - A parte que pisca os LEDs e muda os efeitos de luz, cada vez que a função
ledEffect
é chamada. Os efeitos são codificados nas funçõesrisingLeds
,fallingLeds
,colorLeds
eblinkLeds
.
Comentários
Postar um comentário