Índice:
Vídeo: Calibrando o brilho do LED: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Enquanto fazia uma luz de fada, percebi que o valor PWM é não linearmente proporcional ao brilho do LED. Simplesmente falando, se o valor PWM for o dobro, o brilho não é o dobro; especialmente quando o PWM está próximo do máximo, qualquer mudança não é reconhecível pelos meus olhos. Achei que deveria ser um problema de calibração simples! e foi assim que fiz esse projeto! A ideia é medir o brilho de um LED com algum dispositivo (sensor de luminosidade ou fotoresistor) e encontrar uma correlação entre o valor PWM e o brilho. Então, mais tarde, se eu definir o brilho para 50%, o Arduino calculará o PWM correspondente e diminuirá o LED de acordo.
Portanto, preciso de um sensor de luminosidade e um LED para medir o brilho. Usando um cartão SD, salvarei os dados para procedimento de adaptação posterior. A adaptação será feita em Excel (ou qualquer outro programa). A saída será usada no código do Arduino, e é isso! Deve ser feito uma vez. Então você pode usar o parâmetro de calibração para sempre!
Etapa 1: Peças
1- WEMOS mini D1: Aliexpress 3 €
2- TSL 2561 (sensor de luminosidade): Aliexpress 3 €
3- Módulo de cartão SD: Aliexpress 1 €
4- LED
5- Resistor 220 ohm
6 fios
custo total: 8 -10 €
Etapa 2: Fiação
O módulo do cartão SD e os fios do sensor de luminosidade não devem ser trocados (a maioria deles). O Led deve ser conectado a um pino PWM.
Etapa 3: Código
Combinei três códigos:
Cartão SD: exemplo usado> SD> ReadWrite no Arduino IDE
TSL 2561: exemplo de biblioteca Adafruit TSL2561 usado (sensorapi); você o encontrará em exemplos, se instalar a biblioteca (presumo que você saiba como instalar uma biblioteca no IDE do Arduino).
Desbotamento de LED: exemplos usados> Analógico> desbotamento
O código, após inicializar os módulos, vai escurecer o led e ler o brilho e salvá-lo no cartão SD. desta forma, irei coletar alguns dados para calibração.
Mudei cada um dos códigos de acordo com minhas necessidades. o código final anexado.
O sinal deve ser semelhante à imagem anexada. Infelizmente esqueci de tirar uma foto, então replanei no excel para mostrar como deveria ser.
NOTA: Estou usando o wemo mini D1 em vez do Arduino. por algum motivo que não conheço, o PWM está entre 0 e 1023. No Arduino deve estar entre 0-255. Se você deseja usar o código para o arduino, deve cuidar dele (linha 90).
Etapa 4: encaixando e usando
após coletar os dados, abri o arquivo no excel e plotei os dados (veja a foto). a primeira coluna é o valor PWM e a segunda é lux (leitura do sensor, a unidade não importa muito). Portanto, plote o lux (eixo y) vs. PWM (eixo x). Como você pode ver, o brilho é linearmente proporcional ao valor PWM. Eu coloquei uma linha nele.
Para ajustar uma linha siga como:
1- plotar os dados (inserir> gráfico de dispersão) Presumo que você saiba.
2- clique com o botão direito nos dados plotados
3- clique na linha de tendência.
4- (no excel 2013) no lado direito um painel aparece. Escolha linear. Na parte inferior, escolha "exibir equação no gráfico".
A relação linear é diferente da minha percepção. Portanto, acho que deve haver relação logarítmica entre minha percepção e o brilho (esta é a maneira mais simples que me veio à mente!). Então peguei a inclinação do ajuste. A interceptação não é importante, pois depende da poluição luminosa circundante! em vez disso, adicionei 1. Porque Log10 (0) é infinito. Preciso de uma interceptação para resolver o problema. No meu caso, a equação se parece com esta:
y = Log10 (0,08 x +1), y é o brilho ex é o valor PWM (0-1023)
Normalizei a equação para o valor máximo. então a saída tocada está sempre entre 0-100. assim posso pedir ao arduino um certo brilho relativo, sem me preocupar com o brilho máximo absoluto.
y = Log10 (0,08 x +1) * 100 / 1,914
Como no Arduino minha entrada é o brilho relativo, preciso reorganizar a equação para x (PWM):
x = (10 ^ (y * 1,914 / 100) - 1) / 0,08
usando esta equação no código, podemos obter uma mudança linear de brilho. Então, você pede ao arduino um brilho (y) entre 0-100 e o arduino calcula o valor PWM correspondente. desta forma, se dobrar o brilho, sua percepção também é a mesma.
se você quiser usá-lo em seu código, é melhor adicionar estas linhas:
brilho = 50; // em porcentagem
PWM = pow (10, brilho * 1,914 / 100) -1) / 0,0793;
analogWrite (ledpin, PWM);
NOTA: a normalização é feita para um PWM máximo de 1023 (para Wemos mini D1). Para Arduino, o PWM está entre 0-255. você precisa calculá-lo de acordo.
NOTA 2: Eu adicionei um gráfico log-linear para mostrar como a nossa percepção e o valor PWM estão relacionados. você não deve usá-lo para encaixe!
Etapa 5: Conclusão
a calibração funciona bem para mim. Quando os valores de PWM são grandes, posso ver a diferença. Antes como os grandes valores eu não conseguia ver o efeito do escurecimento. Basicamente, a maioria das mudanças foi feita em uma pequena faixa de PWM. agora está calibrado!
cada LED, especialmente em cores diferentes, deve ter seus próprios parâmetros de calibração. Porém calibrei um LED azul e usei o parâmetro para um LED branco e o resultado foi aceitável. então talvez você possa usar meu parâmetro de calibração sem se preocupar !!
Recomendado:
Visuino Como usar a modulação por largura de pulso (PWM) para alterar o brilho de um LED: 7 etapas
Visuino Como usar a modulação por largura de pulso (PWM) para alterar o brilho de um LED: Neste tutorial, usaremos um LED conectado ao Arduino UNO e Visuino para alterar seu brilho usando a modulação por largura de pulso (PWM). Assista a um vídeo de demonstração
Controle de brilho do LED com potenciômetro com Arduino: 3 etapas
Controlando o brilho do LED com potenciômetro com Arduino: Neste projeto, iremos controlar o brilho do LED usando a resistência variável fornecida pelo potenciômetro. Este é um projeto muito básico para um iniciante, mas ele vai te ensinar muitas coisas sobre o funcionamento do potenciômetro e LED que são necessários para fazer adva
Lanterna LED para festa com música ativa e alto-falante Bluetooth com brilho no escuro PLA: 7 etapas (com imagens)
Lanterna LED para festa com música ativa e alto-falante Bluetooth com Glow in the Dark PLA: Olá, e obrigado por assistir ao meu Instructable! Todos os anos eu faço um projeto interessante com meu filho que agora tem 14 anos. Nós construímos um Quadcopter, Swimming Race Clock (que também é um Instructable), uma bancada de gabinete CNC e Fidget Spinners.Wi
Controlando o brilho do Led por Raspberry Pi e página da Web personalizada: 5 etapas
Controlando o brilho do LED por Raspberry Pi e página da Web personalizada: usando um servidor apache no meu pi com php, encontrei uma maneira de controlar o brilho do LED usando um controle deslizante com uma página da Web personalizada que pode ser acessada em qualquer dispositivo conectado à mesma rede do seu pi .Há muitas maneiras pelas quais isso pode ser ac
Controlador de brilho de tira LED: 4 etapas
Controlador de brilho da faixa de LED: as faixas de LED são famosas em todo o mundo por seu consumo de baixa tensão e seu brilho. Às vezes, precisamos ajustar a alimentação de tensão e o brilho dessas faixas de LED, por exemplo, durante o sono você ficaria perturbado devido ao brilhante