Eu acho que há pessoas que são um pouco inconvenientes para se aproximar constantemente da lâmpada e acender a luz, e é por isso que existe o desejo de fazer com que toda a lâmpada acenda de forma independente. Sim, existem soquetes "inteligentes" controlados via Wi-Fi, existem outros mais simples nos quais você pode definir o tempo de resposta, mas, é claro, você sempre pode comprar um dimmer e não se preocupar. Mas tudo isso pode ser feito. faça você mesmo (exceto para tomadas Wi-Fi), embora essa opção seja para, por exemplo, faixas de LED, pois haverá algumas nuances ao gerenciar a interrupção, na pessoa do dimmer mencionado anteriormente. No nosso caso, o brilho, dependendo da iluminação circundante, mudará suavemente.
Detalhes necessários
1., neste caso - Nano, você pode fazer algo menor, por exemplo, Micro
2. Um elemento fotossensível, aqui está um resistor (18 KOhm) e um fotorresistor (eu tenho um SF-2 6A) conectado em série. Tudo isso funcionará quase como um resistor de sintonia.
3. O transistor MOSFET, mais fraco, 55 amperes é demais (se o consumo atual for pequeno, não será necessário um transistor particularmente poderoso)
4. Claro, fios. É necessário um fio fino para levar o "sensor" para mais perto da janela, aquele que é mais grosso está conectado à fonte de alimentação da lâmpada e a Arduinka (e o próprio módulo não precisa ser pendurado em um fio grosso, ele consome pouco de qualquer maneira)
Assembléia Etapa 1
O trabalho desse tipo de sensor de luz deve ser verificado de uma maneira adequada, porque tentei fazer tudo da maneira mais barata e fácil possível.
Para isso, você precisa de um resistor e um fotorresistor. Nós os conectamos em série, os pinos 5V e GND serão conectados ao começo e ao fim, o central será conectado ao contato analógico fornecido no firmware, seu número mudará.
Se houver alguma dúvida de que esse sensor não funcione muito bem, verifique-o usando o código abaixo e o monitor da porta.
Código para verificar se há dúvida:
#define potent_pin 0 // Contato com o pé médio, 0 muda para qualquer outro analógico
int val;
configuração nula () {
Serial.begin (9600); // Ativar saída para porta em 9600 baud
}
loop vazio () {
val = analogRead (pino_potente);
val = mapa (val, 0, 1023, 0, 100); // 100 pode ser substituído por qualquer valor de até 1023, inclusive
val = restrição (val, 0, 100); // 100 altera para o valor especificado acima, se foi alterado
Serial.println (val); // saída para monitor de porta
atraso (30); // atraso
}
Se os valores de saída mudarem, dependendo da iluminação, tudo estará bem
Assembléia Etapa 2
Ótimo, o sensor está funcionando. Agora é a hora de criar um código para gerar um sinal PWM para controlar um trabalho de campo.
ATENÇÃO. O PWM nos controladores ATmega168 / ATmega328 é gerado apenas em 3, 5, 6, 9, 10 e 11 pinos digitais.
Código 2:
int pwm;
configuração nula () {
}
loop vazio () {
pwm = analogRead (0);
pwm = mapa (pwm, 1023, 0, 0, 255);
pwm = restrição (pwm, 0, 255);
analogWrite (3, pwm-255); // PWM para o terceiro digital
}
O número 255 pode ser alterado no intervalo de 0 a 1023, inclusive, e esse valor pode ser alterado diretamente em movimento. Como a prática me mostrou, um máximo de 255 é a melhor opção, se menos - queima muito brilhante durante o dia, se mais - queima mais fraca do que quando necessário.
Assembléia Final
No pino 5V e GND, soldamos os contatos extremos de nosso resistor, em A0, colocamos o meio. Soldamos o portão do transistor de efeito de campo para D3, a fonte para a energia negativa do Arduino e a fonte de alimentação, os LEDs para a energia negativa do dreno e a vantagem da energia para a energia positiva da fonte. Esquematicamente, é algo parecido com isto:
Não é necessário colocar um transistor de efeito de campo em um radiador, a menos que, é claro, um poderoso seja usado, mas não há sentido em um particularmente poderoso. Mas era necessário um fio longo para levar o sensor a um local onde a luz externa não caia, por exemplo, atrás de uma flor ou do lado de fora através de uma janela etc. É aconselhável colocar um capacitor na fonte de alimentação e no dreno do transistor de efeito de campo, por exemplo, minha fita começou a funcionar realmente não está certo. O Arduino pode ser alimentado não por USB ou pela fonte de alimentação do telefone, mas pela fonte de alimentação da fita, fornecendo uma voltagem de 7 a 15 volts para GND e VIN.
O case é feito do corpo da fonte de alimentação morta, onde eu coloco a fonte de alimentação da fita e do Arduino, com um conector soldado. Ele quase cabia no tamanho, mas já estava constantemente gravado.
Então fechei o sensor com a mão:
Mas eu não seguro minha mão sobre ele:
Onde isso pode ser útil?
Esse design pode ajudar em qualquer trabalho delicado em que você precise de uma luz de fundo estável, por exemplo, se você esquecer de acender a luz, mas a fita estiver ligada. Também é conveniente usá-lo se você tiver mudas em algum lugar para plantar ainda mais no canteiro do jardim. Onde é usar, para julgar, é claro, para você.
P.S. É verdade que minhas mãos estão tortas e prendi o LED incorretamente no circuito.
#define potent_pin 0 // Contato com o pé médio, 0 muda para qualquer outro analógico
int val;
configuração nula () {
Serial.begin (9600); // Ativar saída para porta em 9600 baud
}
loop vazio () {
val = analogRead (pino_potente);
val = mapa (val, 0, 1023, 0, 100); // 100 pode ser substituído por qualquer valor de até 1023, inclusive
val = restrição (val, 0, 100); // 100 altera para o valor especificado acima, se foi alterado
Serial.println (val); // saída para monitor de porta
atraso (30); // atraso
}
int pwm;
configuração nula () {
}
loop vazio () {
pwm = analogRead (0);
pwm = mapa (pwm, 1023, 0, 0, 255);
pwm = restrição (pwm, 0, 255);
analogWrite (3, pwm-255); // PWM para o terceiro digital
}
No pino 5V e GND, soldamos os contatos extremos de nosso resistor, em A0, colocamos o meio. Soldamos o portão do transistor de efeito de campo para D3, a fonte para a energia negativa do Arduino e a fonte de alimentação, os LEDs para a energia negativa do dreno e a vantagem da energia para a energia positiva da fonte. Esquematicamente, é algo parecido com isto:
Não é necessário colocar um transistor de efeito de campo em um radiador, a menos que, é claro, um poderoso seja usado, mas não há sentido em um particularmente poderoso. Mas era necessário um fio longo para levar o sensor a um local onde a luz externa não caia, por exemplo, atrás de uma flor ou do lado de fora através de uma janela etc. É aconselhável colocar um capacitor na fonte de alimentação e no dreno do transistor de efeito de campo, por exemplo, minha fita começou a funcionar realmente não está certo. O Arduino pode ser alimentado não por USB ou pela fonte de alimentação do telefone, mas pela fonte de alimentação da fita, fornecendo uma voltagem de 7 a 15 volts para GND e VIN.
O case é feito do corpo da fonte de alimentação morta, onde eu coloco a fonte de alimentação da fita e do Arduino, com um conector soldado. Ele quase cabia no tamanho, mas já estava constantemente gravado.
Então fechei o sensor com a mão:
Mas eu não seguro minha mão sobre ele:
Onde isso pode ser útil?
Esse design pode ajudar em qualquer trabalho delicado em que você precise de uma luz de fundo estável, por exemplo, se você esquecer de acender a luz, mas a fita estiver ligada. Também é conveniente usá-lo se você tiver mudas em algum lugar para plantar ainda mais no canteiro do jardim. Onde é usar, para julgar, é claro, para você.
P.S. É verdade que minhas mãos estão tortas e prendi o LED incorretamente no circuito.