Arduino basico michael mcroberts portugues

Page 166

166

Arduino Básico Tabela 7.2 – Elementos em seu array 0

0

1

2

3

4

5

6

7

0

56

92

158

158

130

68

56

1

0

56

124

186

146

130

68

56

2

0

56

116

242

242

130

68

56

3

0

56

68

226

242

226

68

56

4

0

56

68

130

242

242

116

56

5

0

56

68

130

146

186

124

56

6

0

56

68

130

158

158

92

56

7

0

56

68

142

158

142

68

56

Note que, ao declarar o array, você também o inicializou com dados. Para inicializar dados em um array bidimensional, você coloca todos eles dentro de chaves globais, e cada conjunto de dados dentro de suas próprias chaves com uma vírgula ao final, da seguinte maneira: byte led[8][8] = { {0, 56, 92, 158, 158, 130, 68, 56}, {0, 56, 124, 186, 146, 130, 68, 56}, {0, 56, 116, 242, 242, 130, 68, 56}, // etc., etc.

O array bidimensional armazenará os oito quadros de sua animação. O primeiro índice do array fará referência ao quadro da animação, e o segundo a qual das oito linhas de números de 8 bits formará o padrão de LEDs que devem acender e apagar. Para economizar espaço no código, os números foram convertidos de binários para decimais. Se você visse os números binários, poderia discernir a animação da figura 7.3.

Figura 7.3 – Animação da roda girando.

Evidentemente, você pode alterar essa animação para representar o que quiser, aumentando ou diminuindo o número de quadros. Esboce sua animação no papel, converta as linhas para números binários de 8 bits, e coloque-os em seu array. No loop de inicialização, você define os três pinos novamente como saída, cria um objeto de timer com duração de 10 mil microssegundos e anexa a função screenUpdate() à interrupção: void setup() { pinMode(latchPin, OUTPUT); // define os 3 pinos digitais como saídas pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); Timer1.initialize(10000); // define um timer com duração de 10000 microssegundos Timer1.attachInterrupt(screenUpdate); // anexa a função screenUpdate }


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.