"Eletroeletrônica e Informações"
Home
Artigos

Circuitos

Arduino
Pic
Informações
ARDUINO

Pisca - Pisca de Natal

Autor: Ivanildo M. Gonçalves

Esta idéia surgiu, lógicamente, com a proximidade desta data tão envolvente que é o Natal. Normalmente eu apareço com uma idéia nova, pra mudar um pouco de um ano para o outro e desta vez eu usei tres fitas de LED's RGB de 5m 3528 siliconada (a minha fita tem leds vermelho, verde e azul independentes), montei um driver com três transistores TIP 120 e programei uma placa Arduino para acionar as fitas de LED através do Driver em questão.

Os leds piscam num efeito muito bonito e envolvente, que destacou a minha casa (não que eu goste de aparecer - apenas pelo clima do Natal e Ano Novo), pois com certeza não existe outro pisca igual a esse em nenhum lugar até o momento desta publicação.

Eu utilizei apenas tres fitas de LED's, mas você pode aumentar a quantidade até dez ou mais. Terá apenas que prover dissipador de calor para os transistores do Driver e dimensionar a fonte de alimentação de 12V adequadamente.

É importante resaltar que em ambientes externos as fitas de LED's tem que ser siliconadas (a prova d'agua) e as emendas devem ser protegidas (usei cola de silicone para vedar) conotra a umidade.

OBS: O código foi baixado do site:

http://tronixstuff.com/2010/04/10/getting-started-with-arduino-chapter-one/

Circuito do Driver:

Driver montado em uma placa padrão:

Driver montado em uma placa padrão: - lado oposto da placa:

Conjunto acondicionado numa caixa plastica:

Código do arduino- Copie e cole na IDE do arduino:

int red = 10; // the pins for the LED
int green = 9;
int blue = 8;
int i = 0; // for loops
int j = 0;
void setup()
{
  pinMode(red, OUTPUT); // tell Arduino LED is an output
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);
}
void loop()
{
  // first, cycle up each primary colour twice
  for (j = 1; j < 6; j++)
  {  // loop 5 times
    for (i = 0; i < 255; i++)
    { // loop from 0 to 254 (fade in)
      analogWrite(red, i);      // set the LED brightness
      delay(20); // Wait 10ms because analogWrite isn't instant
    }
    analogWrite(red,0);
    delay (20);
    for (i = 0; i < 255; i++)
    { // loop from 0 to 254 (fade in)
      analogWrite(green, i);      // set the LED brightness
      delay(20); // Wait 10ms because analogWrite isn't instant
    }
    delay (20);
    analogWrite(green,0);
    for (i = 0; i < 255; i++)
    { // loop from 0 to 254 (fade in)
      analogWrite(blue, i);      // set the LED brightness
      delay(20); // Wait 10ms because analogWrite isn't instant
    }
    delay (20);
    analogWrite(blue,0);
  }
  // psychadelic time
  for (j = 1; j < 10000; j++)
  {
    analogWrite(red,random(255)); // set red at random brightness between 0 and 254
    delay (random(10,31));           // wait for a random duration between 10 and 30 milliseconds
    analogWrite(green,random(255));
    delay (random(10,31));
    analogWrite(blue,random(255));
    delay (random(10,31));
  }
}


 

 

 

Treinamento Em Arduino

Loja Virtual

Artigos   Circuitos Arduino Pic Informações