Você está na página 1de 4

CAPITULO 3

3.1 VETORES

Quando conversamos sobre variáveis, entendemos que


uma variável nada mais é do que um pedaço de memória que o
Arduínos separa para que você guarde um dado. E os vetores não
deixam de ser variáveis, a diferença é que dentro de um vetor, é
possível guardar vários valores. Vamos fazer umas
comparações.

Dentro de uma variável int é possível guardar um número


certo?

Dentro de um char é possível guardar um caractere certo?

Imagine se você pudesse guardar vários números dentro de


uma única variável, ou guardar vários caracteres dentro de uma
variável. É pra isso que foi criado o vetor

SINTAXE:

int meusInts[6]; //Cria um vetor de 6 posições

int meusPinos[] = {2, 4 ,8, 6 } // cria um vetor vazio e atribui


cada inteiro em uma posição

char letras[3] = {‘a’, ‘b’, ‘c’} // cria um vetor de char de 3


posições e atribui cada letra em uma posição

Quando estamos trabalhando com vetores uma, coisa


precisa ficar bem clara, todo o vetor, é regido por índices. Se eu
armazenar 3 números dentro de um vetor, como vou acessar
cada um desses números depois?

92
Dessa maneira, a distribuição é feita por índices, onde a
primeira posição do vetor é o índice 0, a segunda posição é o
índice 1 e assim por diante. Voltamos ao exemplo anterior:

Se você criar o seguinte vetor:

vetor[3] = {250, 25, 5}

Nesse exemplo nós criamos um vetor de 3 posições, e na


primeira posição atribuímos o valor 250, na segunda posição o
valor 25, e na terceira posição o valor 5. Para acessar cada um dos
valores, você precisa usar a seguinte sintaxe:

Serial.println(vetor[0]) // Será exibido o valor 250

Serial.println(vetor[1]) //Será exibido o valor 25

Serial.println(vetor[2]) //Será exibido o valor 5

93
PROJETO#6 – Controlando LEDs em série
com potenciômetro:

Usando um potenciômetro, você pode controlar quantos


LEDs ficaram acesos ou apagados, dependendo da leitura
analógica vinda do potenciômetro.

O Arduíno irá controlar os LEDs em série, esse projeto pode


servir para qualquer desenvolvimento que você queira controlar
as saídas digitais baseando-se na leitura da entrada analógica

Componentes:
• 1 - Arduino Uno
• 1 - Protoboard
• 1 - Potenciômetro
• 10 - LED 5mm
• 10 - 220 Ω Resistor
• Jumpers

Diagrama:

94
/*
Barra de LEDs

*/

// Variáveis que armazenam as pinagens e não vão mudar


const int analogPin = A0; // Pino que vai ler o
potenciômetro
const int ledCount = 10; // Numero de LEDs

int ledPins[] = {
2, 3, 4, 5, 6, 7, 8, 9, 10, 11
}; // Vetor que contem a pinagem dos LEDs em sequencia

void setup() {
// for para definir todos os pinos como SAÍDA
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
}
}

void loop() {

// Lê o potenciômetro
int sensorReading = analogRead(analogPin);

// função que converte o valor lido no número de LEDs:


int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);

for (int thisLed = 0; thisLed < ledCount; thisLed++) {


// Se o item do vetor for menor que o ledLevel

// Liga o pino correspondente ao elemento


if (thisLed < ledLevel) {
digitalWrite(ledPins[thisLed], HIGH);
}
// Desliga todos os pinos que são maiores que ledLevel
else {
digitalWrite(ledPins[thisLed], LOW);
}
}
}

95

Você também pode gostar