Estou montando uma iluminação praticamente toda com LED. Tem uns balões que tem uma iluminação de lâmpada incandescente no interior e por fora coloquei vários LEDS, estou querendo que quando os LEDS piscarem as luzes do balão se apaguem e vise versa. Tipo os LEDS piscarem no intervalo de 50 milissegundos por 50 segundos e após os 50 segundos as luzes acenderem e os LEDS apagam ficando as lâmpadas incandescentes acesas por 1 minuto. É mais ou menos assim. Isso usando duas portas, com outras controlar outros LEDS mais não tenho noção de código ainda, pois meu Arduino chegou tem menos de uma semana. Já tenho o relé pra mandar 12V para os LEDS, LEDS, fonte 12V e os resistores para os LEDS. Já esta tudo quase montado só faltando o código hehehe.

Exibições: 281

Responder esta

Respostas a este tópico

Entendi. Mas gostaria de saber onde vc. pretende usar este esquema de iluminação?

Parece ser bem tranquilo.

Dá uma olhada no exemplo que já vem no software do arduino, o blink e o fade.

Euclides é para uma iluminação de balões para o comércio de um colega (Festejos Juninos).

Creio eu que na programação não precisa disso tudo não, só precisa calcular quantos ciclos de 50ms ele tem que girar e quantos ms é o total de 1min. que é 60000

é só parar e calcular os valores... estou apressado agora, se nao eu parava aqui pra fazer os testes, se houver alguma outra função que de pra usar minutos em lugar de mili segundos seria melhor... pois sou novo em programação pra arduino.

ficaria +- assim:

Sete os pinos aonde vc vai querer colocar antes em variaveis ou em numeros inteiros diretos e só mudar os valores em quanitade_de_ciclos.

void loop() {

for(int x = 1; x <= quantidade_de_ciclos; x++){

digitalWrite(ledSaoJoao, HIGH); // Acende o ledSaoJoao

delay(50); // Delay de 50 milisegundos   

digitalWrite(ledSaoJoao, LOW); // Apaga o ledSaoJoao

delay(50); 

}

digitalWrite(luzSaoJoao, HIGH); // Acende a Luz de sao joao

delay(60000);

digitalWrite(luzSaoJoao, LOW); // Apaga a luz de sao joao

}



wagner disse:

Creio eu que na programação não precisa disso tudo não, só precisa calcular quantos ciclos de 50ms ele tem que girar e quantos ms é o total de 1min. que é 60000

é só parar e calcular os valores... estou apressado agora, se nao eu parava aqui pra fazer os testes, se houver alguma outra função que de pra usar minutos em lugar de mili segundos seria melhor... pois sou novo em programação pra arduino.

ficaria +- assim:

Sete os pinos aonde vc vai querer colocar antes em variaveis ou em numeros inteiros diretos e só mudar os valores em quanitade_de_ciclos.

void loop() {

for(int x = 1; x <= quantidade_de_ciclos; x++){

digitalWrite(ledSaoJoao, HIGH); // Acende o ledSaoJoao

delay(50); // Delay de 50 milisegundos   

digitalWrite(ledSaoJoao, LOW); // Apaga o ledSaoJoao

delay(50); 

}

digitalWrite(luzSaoJoao, HIGH); // Acende a Luz de sao joao

delay(60000);

digitalWrite(luzSaoJoao, LOW); // Apaga a luz de sao joao

}

Pronto, soh colocar o valor. 1000 no lugar de quantide de ciclos que vAi da exatamente 50 segundos! E logo depois vai ficar ligada a luz e os leds apagados por 1min.
Deve exiStir algo pra calcular por tempo, mas desconheco.
Muito obrigado Wagner. Valeu mesmo.

acabei de chegar e testei, o valor não é 1000, fiz os testes aqui em casa, pois ontem eu estava na casa da minha mulher...

o valor pra colocar no loop é 500!

500 da exatamente 50 segundos o led piscando, e a luz fica acesa por 1min.

desculpa pelos calculos errados, estava tao apressado que coloquei os valores errados hehehehe

vai ficar assim colocando a porta do led no digital 10 e a luz na porta digital 9:

 

int ledSaoJoao = 10;

int luzSaoJoao = 9;
void setup() {                 

pinMode(ledSaoJoao, OUTPUT);  

pinMode(luzSaoJoao, OUTPUT);  }
void loop() { 

for(int x = 1; x <= 500; x++){   

digitalWrite(ledSaoJoao, HIGH); // Acende o ledSaoJoao   

delay(50); // Delay de 50 milisegundos      

digitalWrite(ledSaoJoao, LOW); // Apaga o ledSaoJoao   

delay(50);   } 

digitalWrite(luzSaoJoao, HIGH); // Acende a Luz de sao joao 

delay(60000); 

digitalWrite(luzSaoJoao, LOW); // Apaga a luz de sao joao

}

 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço