collapse

* Posts Recentes

Valores de alcance de ponta de prova por vasco
[Hoje às 14:28]


é preciso ter cuidado com ESD? por jm_araujo
[Hoje às 11:23]


Como reproteger as pontas de cobre do ferros de soldar? por vasco
[Ontem às 18:53]


Bibliotecas para arduino e drivers de stepper - o problema da 'distracção' por SerraCabo
[14 de Dezembro de 2018, 12:12]


Potênciometro 4.7 ou 5 KOhm com switch por brunus
[13 de Dezembro de 2018, 19:35]


Zener BZW04-105? por brunus
[11 de Dezembro de 2018, 17:34]


Artigo 11, 13 e os restantes por jm_araujo
[10 de Dezembro de 2018, 11:05]


Compra Colectiva Mouser N3-2018 (limite 25 Nov) por Hugu
[10 de Dezembro de 2018, 01:07]


Ajuda para reparar Luzes de LED de Natal por brunus
[09 de Dezembro de 2018, 00:59]


Usar steppers de 5 pontas como se fossem de 4 pontas por SerraCabo
[08 de Dezembro de 2018, 21:18]

Autor Tópico: Todas as combinações entre 12 LEDS  (Lida 1550 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline OxyGen

  • Mini Robot
  • *
  • Mensagens: 92
  • ET - UA
    • Curto.D ET Blog
Todas as combinações entre 12 LEDS
« em: 12 de Maio de 2010, 15:49 »
Boas... Eis mais um projecto:

Este circuito/código permite acender todas as combinações de leds possíveis usando 12 leds de 3 cores diferentes:



Código:

Código: [Seleccione]
int red[] = {13,10,7,4};
int redsize = 4;
int yellow[] = {12,9,6,3};
int yellowsize = 4;
int green[] = {11,8,5,2};
int greensize = 4;

void turnONsequential();

void setup()
{
  for(int i = 0; i < redsize; i++)
  {
    pinMode(red[i], OUTPUT);
  }
  for(int j = 0; j < yellowsize; j++)
  {
    pinMode(yellow[j], OUTPUT);
  }
  for(int k = 0; k < greensize; k++)
  {
    pinMode(green[k], OUTPUT);
  }
  turnONsequential();
}


void turnONsequential()
{
  for(int i=0; i<redsize; i++)
  {
    for(int j=0; j< yellowsize; j++)
    {
      for(int k=0; k<greensize; k++)
      {   
          digitalWrite(red[i], HIGH);
          delay(200);
          digitalWrite(red[i], LOW);
          digitalWrite(yellow[j], HIGH);
          delay(200);
          digitalWrite(yellow[j], LOW);
          digitalWrite(green[k], HIGH);
          delay(200);
          digitalWrite(green[k], LOW);
          delay(200);
      }
    }
  }
}

/*void turnredpinsON()
{
  for(int i = 0; i < redsize; i++)
  {
    digitalWrite(red[i], HIGH);
    delay(100);
    digitalWrite(red[i], LOW);
  }
}

void turnyellowpinsON()
{
    for(int j = 0; j < yellowsize; j++)
  {
    digitalWrite(yellow[j], HIGH);
    delay(100);
    digitalWrite(yellow[j], LOW);
  }
}

void turngreenpinsON()
{
    for(int k = 0; k < greensize; k++)
  {
    digitalWrite(green[k], HIGH);
    delay(100);
    digitalWrite(green[k], LOW);
  }
}*/

void loop()
{
/*turnredpinsON();
turnyellowpinsON();
turngreenpinsON();
*/
}

O que está em comentário foi para fazer os primeiros testes...
OxyGen #