Pessoal seguinte estou programando com meu Arduíno Uno com meu filho e criei as seguintes linhas de comando:

int led1 = 1;
int led2 = 2;
int led3 = 3;
int led4 = 4;
int led5 = 5;
int led6 = 6;
int led7 = 7;
int led8 = 8;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led1, HIGH);
  delay(15);
  digitalWrite(led1, LOW);
  delay(15);
  digitalWrite(led2, HIGH);
  delay(15);
  digitalWrite(led2, LOW);
  delay(15);
  digitalWrite(led3, HIGH);
  delay(15);
  digitalWrite(led3, LOW);
  delay(15);
  digitalWrite(led4, HIGH);
  delay(15);
  digitalWrite(led4, LOW);
  delay(15);
  digitalWrite(led5, HIGH);
  delay(15);
  digitalWrite(led5, LOW);
  delay(15);
  digitalWrite(led6, HIGH);
  delay(15);
  digitalWrite(led6, LOW);
  delay(15);
  digitalWrite(led7, HIGH);
  delay(15);
  digitalWrite(led7, LOW);
  delay(15);
  digitalWrite(led8, HIGH);  
  delay(15);
  digitalWrite(led8, LOW);
  delay(15);
  digitalWrite(led7, HIGH);
  delay(15);
  digitalWrite(led7, LOW);
  delay(15);
  digitalWrite(led6, HIGH);
  delay(15);
  digitalWrite(led6, LOW);
  delay(15);
  digitalWrite(led5, HIGH);
  delay(15);
  digitalWrite(led5, LOW);
  delay(15);
  digitalWrite(led4, HIGH);
  delay(15);
  digitalWrite(led4, LOW);
  delay(15);
  digitalWrite(led3, HIGH);
  delay(15);
  digitalWrite(led3, LOW);
  delay(15);
  digitalWrite(led2, HIGH);
  delay(15);
  digitalWrite(led2, LOW);
  delay(15);
  digitalWrite(led1, HIGH);
  delay(15);
  digitalWrite(led1, LOW);
  delay(15);
 }

Esse código cria uma simples sequencia para os led's piscarem indo e voltando algo bem simples mesmo, mas como ainda estou engatinhando com os códigos vi que as linhas pinMode, são muito extensas e trabalhosas de digitar queria simplifica - las tendo em vista que todas estão indicando a mesma coisa que todas as portas dos leds da 1~8 são para OUTPUT, tentei fazer de outra forma:

"pinMode(led1,led2,led3,led4,led5,led6,led7,led8, OUTPUT)"

Porém ao escrever essa linha de comando a IDE do Arduino não compila e tive que escrever o código inteiro como abaixo:

  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);

Não que seja muito difícil de se fazer mais tendo em vista que vou fazer com meu filho quero criar algo minimalista para ele ir aprendendo também....poderiam me ajudar ???

Abraços

Exibições: 672

Responder esta

Respostas a este tópico

Ta quase consegui fazer eles voltarem uma vez

for (int x = 8; x <= 8; x--)
{
digitalWrite(led[x], HIGH);
delay(150);
digitalWrite(led[x], LOW);
delay(150);
}

porém eles não retornam mais ao primeiro laço kkkkkkkkkkkkk

for (int x = 7; x >= 0; x--) {

Seria 7, não 8. :)

A primeira posição do array é o 0.

E seu código que tinha 85 linhas, agora tem 26!

Abraços!!!!

www.efeitonerd.com.br

Caracas que bacana !!!!! 

Muito legal.......

Funcionou......

Valew amigos valew mesmo.....o código final para quem quiser tomar proveito disso é.....

int led[8] = {1, 2, 3, 4, 5, 6, 7, 8};


void setup() {
// initialize the digital pin as an output.
for (int x = 0; x < 8; x++) {
pinMode(led[x], OUTPUT);
}
}

void loop() {
for (int x = 0; x < 8; x++)
{
digitalWrite(led[x], HIGH);
delay(150);
digitalWrite(led[x], LOW);
delay(150);
}
for(int x =8; x >=0; x--)
{
digitalWrite(led[x], HIGH);
delay(150);
digitalWrite(led[x], LOW);
delay(150);
}
}

Olha só como ficou simples...simples

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço