Índice:

Controle de brilho, Arduino (com animações): 7 etapas
Controle de brilho, Arduino (com animações): 7 etapas

Vídeo: Controle de brilho, Arduino (com animações): 7 etapas

Vídeo: Controle de brilho, Arduino (com animações): 7 etapas
Vídeo: Arduino - Controlando o brilho de LEDs via código 2024, Novembro
Anonim
Image
Image

Nos últimos anos, construí duas máquinas de pinball (pinballdesign.com) e duas cabeças de robô (grahamasker.com), cada uma controlada por Arduinos. Tendo tido uma carreira como engenheiro mecânico, estou bem com o design dos mecanismos, porém tenho dificuldades com a programação. Decidi criar animações para ilustrar alguns dos conceitos básicos do Arduino. Achei que isso ajudaria a mim e a outros a entendê-los. Uma imagem vale mais que mil palavras e uma animação pode valer mais que mil fotos!

Portanto, aqui está uma explicação animada sobre o assunto Controle de brilho. A animação acima mostra o esquema de um potenciômetro conectado a um Arduino. Mostra como o ajuste da posição do potenciômetro pode alterar o brilho de um led. Vou explicar todos os elementos desse processo. Para quem não está familiarizado com potenciômetros e leds, começarei por eles. Em seguida, explicarei por que o led deve ser conectado a um pino Arduino habilitado para PWM e como a função MAP é usada em um esboço do Arduino para converter a entrada do potenciômetro em uma saída adequada para controlar um led.

Se você estiver familiarizado com leds e potenciômetros, pode pular as seções 1 e 2.

Etapa 1: SOBRE LEDs

SOBRE LEDs
SOBRE LEDs

A ilustração à esquerda acima mostra o símbolo do circuito para um led e a polaridade das pernas do led. A corrente só fluirá através de um LED em uma direção, portanto a polaridade é importante. A perna mais longa é a positiva. Também existe um lado plano para o flange, este é o lado negativo.

TENSÃO e CORRENTE

A voltagem exigida por um LED varia de cerca de 2,2 volts a 3,2 volts, dependendo de sua cor. Sua classificação atual é normalmente 20mA. Para restringir a corrente e evitar o superaquecimento do LED, é necessário usar um resistor em série com cada LED. Eu recomendo cerca de 300 ohms.

A ilustração à direita acima mostra uma maneira de soldar um resistor a uma perna de um led e isolá-lo com uma capa termorretrátil.

Etapa 2: POTENCIÔMETRO

POTENCIÔMETRO
POTENCIÔMETRO

Em termos do Arduino, um potenciômetro é um sensor. “Sensor” refere-se a qualquer dispositivo externo que, quando conectado aos pinos de entrada, pode ser detectado pelo Arduino. Vamos usar um potenciômetro conectado ao Arduino, para controlar o brilho de um LED. Um potenciômetro é às vezes chamado de divisor de tensão, o que eu acho que é uma descrição melhor. O diagrama à esquerda acima indica o principal de um divisor de tensão. Neste exemplo, um resistor é conectado ao aterramento em uma extremidade e mantido, por alguma fonte de energia, a 5v na outra extremidade. Se um controle deslizante for movido ao longo do resistor, ele estará com uma tensão de 0 V na extremidade esquerda e 5 V na extremidade direita. Em qualquer outra posição, estará em um valor entre 0v e 5v. No meio do caminho, por exemplo, estará em 2,5V. Se remodelarmos o arranjo conforme mostrado à direita acima, isso representará a ação de um potenciômetro giratório.

Etapa 3: O CIRCUITO

O CIRCUITO
O CIRCUITO

A ilustração acima mostra como precisamos conectar o potenciômetro e o led a um Arduino.

O Ardunio precisa sentir a tensão que está sendo fornecida a ele pelo potenciômetro. A tensão se altera suavemente conforme o potenciômetro é girado, portanto, é um sinal analógico e, portanto, precisa ser conectado a um pino de entrada analógica no Arduino. A tensão neste pino será lida pelo Arduino cada vez que o programa solicitar por meio da função “analogRead”.

O Arduino possui apenas pinos de saída digital. No entanto, os pinos com um til (~) ao lado deles simulam uma saída analógica adequada para controlar o brilho de um Led. Este processo é chamado de Modulação por Largura de Pulso (PWM) e é explicado na próxima animação, Etapa 4.

Etapa 4: PWM

PWM, modulação por largura de pulso

Como mencionado anteriormente, os pinos com um tilda, “~“ao lado deles são pinos PWM. Como os pinos são digitais, eles só podem estar em 0 V ou 5 V; no entanto, com o PWM, eles podem ser usados para diminuir a intensidade de um LED ou controlar a velocidade de um motor. Eles fazem isso fornecendo 5 V a um LED, mas pulsando entre 0 V e 5 V a 500 Hz (500 vezes por segundo) e aumentando ou diminuindo a duração de cada elemento de 0 V e 5 V do pulso. Como o LED vê um pulso de 5 V mais longo do que um pulso de 0 V, ele se torna mais brilhante. Em nosso programa, usamos a função analógicoWrite () para gerar uma “onda quadrada” PWM. Tem 256 incrementos, Zero dando um ciclo de trabalho de 0% e 255 dando 100% de “ciclo de trabalho”, ou seja, 5 volts contínuos. Assim, 127 daria um ciclo de trabalho de 50%, metade do tempo em 0v e metade do tempo em 5v. A animação acima mostra como, à medida que este ciclo de trabalho é estendido para 100%, o led torna-se mais brilhante.

Etapa 5: O PROGRAMA (ESBOÇO DE ARDUINO)

Image
Image

O vídeo acima mostra um programa (esboço) que pode ser usado para controlar o brilho de um led usando um potenciômetro. O circuito é o mesmo mostrado na etapa 3.

Se você achar que este vídeo é muito rápido (ou lento) para ler confortavelmente, você pode ajustar sua velocidade Na extremidade direita da barra de controle inferior há um símbolo em forma de roda de engrenagem (algumas vezes com um rótulo vermelho 'HD' nele.) Se clicado, ele abrirá um menu que inclui "velocidade de reprodução".

Obviamente, seria melhor se você pudesse clicar em um botão para percorrer cada linha do programa em sua própria velocidade; no entanto, infelizmente, não é possível fornecer esse método interativo aqui. Se você preferir usar esse método neste assunto e em muitos outros tópicos do Arduino, há uma versão de visualização gratuita de um e-book interativo / animado disponível em animatedarduino.com

Há um recurso no programa que eu acho que precisa de mais explicação: na linha 14, a função "map" é usada. Há uma explicação sobre seu propósito a seguir, na etapa 6

Etapa 6: MAPA

Temos o potenciômetro conectado a um pino analógico. A tensão do potenciômetro varia entre 0v e 5v. Este intervalo é registrado no processador em incrementos de 1.024. Quando o valor de entrada é usado para criar uma saída por meio de um pino digital habilitado para PWM, esta faixa deve ser mapeada para a faixa de saída de um pino digital. Isso tem 255 incrementos. A função de mapa é usada para este propósito e fornece uma saída que é proporcional à entrada.

O vídeo acima ilustra isso.

Etapa 7: Arduino animado

As imagens neste Instructable foram retiradas do meu ebook Animated Arduino, que está disponível em www.animatedarduino.com, no qual pretendo fornecer uma melhor compreensão de alguns dos conceitos encontrados enquanto aprendo a programar o Arduino.

Há uma amostra gratuita do e-book disponível no site, que permite que você experimente a natureza interativa do livro. É basicamente uma coleção de páginas de amostra e, portanto, omite grande parte da explicação. Inclui páginas de amostra que permitem clicar em botões que o conduzem por cada linha de um programa e exibem comentários relacionados. Outras páginas têm animações de vídeo e conteúdo de áudio que você pode controlar. Uma página de conteúdo está incluída para que você possa ver o que contém a edição completa.

Recomendado: