Ola pessol estou precisando desainecer um led , porem quero que ele vá do 255 ao 0 e continue desligado. O codigo que eu tenho fica repetindo essa ação varias vezes mas eu so quero de desvaneça 1 vez.
int brightness = 0; // how bright the LED is
int fadeAmount = 1; // how many points to fade the LED by
unsigned long currentTime;
unsigned long loopTime;
void setup() {
// declare pin 9 to be an output:
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(3, OUTPUT);
currentTime = millis();
loopTime = currentTime;
}
void Fade() {
currentTime = millis();
if(currentTime >= (loopTime + 100)){
// set the brightness of pin 9:
analogWrite(6, brightness);
analogWrite(5, brightness);
analogWrite(3, brightness);
// change the brightness for next time through the loop:
brightness = brightness - fadeAmount;
// reverse the direction of the fading at the ends of the fade:
if (brightness == 255 ) {//|| brightness == 255) {
fadeAmount = -fadeAmount ;
}
loopTime = currentTime; // Updates loopTime
}
}
void loop() {
Fade();
}
Tags:
Tira a chamada a função Fade() do loop() e coloca no final do Setup()
Ola, realmente isso daria certo. porem no programa onde esse efeito sera implementado ele vai ser chamado no Loop.
Olá Kályston! No tutorial Tutorial: Como utilizar o Ethernet Shield com Arduino fizemos o efeito de fade utilizando millis();
Abraços.
Ola labyy, Gostei do seu codigo mas tem um problema, o meu fade tem que durar em media 7 minutos, e eu nao posso usar delay, pois todo o meu codigo iria parar em função dele. que no caso desse seu codigo tem um delay de 15 milissegundos .
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por