Explorando Arrays no Arduino: Dicas e Truques para Programação Eficiente!

Se você é um entusiasta da programação Arduino, certamente já se deparou com a versatilidade e eficiência das estruturas de dados. Entre elas, os arrays se destacam como uma ferramenta fundamental para lidar com conjuntos de dados de maneira organizada e eficaz. Neste artigo, vamos aprofundar nosso entendimento sobre arrays no Arduino, explorando suas funcionalidades, aplicabilidades e apresentando dicas práticas para melhorar sua programação.

Se preferir pode assistir o vídeo completo no YouTube.

Sumário

O que são Arrays e Por que São Importantes?

Em termos simples, um array é uma coleção ordenada de variáveis do mesmo tipo, acessíveis através de um índice ou chave. No contexto do Arduino, isso significa que podemos agrupar variáveis relacionadas em uma única estrutura, facilitando o manuseio de dados complexos.

A importância dos arrays reside na capacidade de armazenar e acessar dados de maneira eficiente. Seja lidando com sensores, LEDs ou qualquer outro componente, os arrays oferecem uma maneira organizada de gerenciar informações, simplificando a lógica do código e melhorando a legibilidade.

Programação sem comunicação serial

int LEDs[12] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };  // Cria array e armazena cada pino em um indice

void setup() {

  for (int x = 0; x < 12; x++) {  // For para configurar cada pino no array como saída
    pinMode(LEDs[x], OUTPUT);     // x vai ser trocado por "2, 3...12,13" em cada loop
  }
}
void loop() {
  for (int x = 0; x < 12; x++) {  // Estrutra FOR para automaziar o acionamento

    digitalWrite(LEDs[x], HIGH);  // Liga o LED correspondente ao indice do array
    delay(200);                   // Espera 200ms
    digitalWrite(LEDs[x], LOW);   // Desliga o LED correspondente ao array
    delay(200);
  }

  for (int x = 11; x >= 0; x--) {  // Estrutra FOR para automaziar o acionamento

    digitalWrite(LEDs[x], HIGH);  // Liga o LED correspondente ao indice do array
    delay(200);                   // Espera 200ms
    digitalWrite(LEDs[x], LOW);   // Desliga o LED correspondente ao array
    delay(200);
  }
}

Programação com comunicação serial

int LEDs[12] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };  // Cria array e armazena cada pino em um indice

void setup() {
  Serial.begin(9600);

  for (int x = 0; x < 12; x++) {   // For para configurar cada pino no array como saída
    pinMode(LEDs[x], OUTPUT);     // x vai ser trocado por "2, 3, 4, 5, 6, 7" em cada loop
    delay(200);
    Serial.print("Coloquei pino ");
    Serial.print(LEDs[x]);
    Serial.println(" como saida");
  }

  Serial.println("");
  Serial.println("-- Bora comecar -- ");
}
void loop() {

  for (int x = 0; x < 12; x++) {  // Estrutra FOR para automaziar o acionamento
    digitalWrite(LEDs[x], HIGH);  // Liga o LED correspondente ao indice do array
    Serial.print(">> Liguei pino ");
    Serial.println(LEDs[x]);
    delay(200);                  // Espera 200ms
    digitalWrite(LEDs[x], LOW);  // Desliga o LED correspondente ao array
    Serial.print(">> Desliguei pino ");
    Serial.println(LEDs[x]);
  }
}

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *