08.11.2017 Views

arduino_básico_Michael_McRoberts

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 7 ■ Displays de LED<br />

189<br />

Conectando os componentes<br />

Deixe o circuito como no projeto 21 e adicione um potenciômetro. Os pinos da esquerda<br />

e da direita vão para o terra e para os +5 V, respectivamente, e o pino central<br />

vai para o pino analógico 5.<br />

Figura 7.8 – Adicione um potenciômetro ao circuito do projeto 21 (consulte o site da Novatec para versão<br />

colorida).<br />

Upload do código<br />

Faça o upload do código da listagem 7.4. Quando o programa for executado, uma<br />

bola iniciará em um ponto aleatório na esquerda e avançará para a direita. Utilizando<br />

o potenciômetro, você controla a raquete para rebater a bola de volta à parede.<br />

Conforme o tempo passa, a velocidade da bola aumenta cada vez mais, até que você<br />

não consegue mais acompanhá-la.<br />

Quando a bola ultrapassar a raquete, a tela piscará e o jogo reiniciará. Veja por quanto<br />

tempo você consegue acompanhar a bola, até que o jogo reinicie.<br />

Listagem 7.4 – Código para o projeto 22<br />

//Projeto 22<br />

#include "LedControl.h"<br />

LedControl myMatrix = LedControl(2, 4, 3, 1);<br />

// cria uma instância de uma Matriz<br />

int column = 1, row = random(8)+1; // decide em que ponto a bola deve iniciar<br />

int directionX = 1, directionY = 1; // certifica-se de que ela vai primeiro da esquerda para<br />

// a direita<br />

int paddle1 = 5, paddle1Val; // pino e valor do potenciômetro<br />

int speed = 300;<br />

int counter = 0, mult = 10;<br />

void setup() {<br />

myMatrix.shutdown(0, false); // habilita o display<br />

myMatrix.setIntensity(0, 8); // define o brilho como médio<br />

myMatrix.clearDisplay(0); // limpa o display<br />

randomSeed(analogRead(0));<br />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!