Projeto Arduino 3.6v1

Ver vídeo do projeto funcionando

Veja meus estudos sobre o assunto

Esquema:

arduino 3.6v1

Código:

byte ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // Cria um array para os pinos dos LEDs
int ledDelay; // intervalo entre as alterações utilizada com o potenciometro
int directionVAI = 1;
int directionVEM = -1;
int vaiLED = 0;
int vemLED = 9;
unsigned long changeTime;
int potPin = 2; // seleciona o pino de entrada para o potenciômetro

void setup() {
for (int x = 0; x < 10; x++) { // define todos os pinos como saída
pinMode(ledPin[x], OUTPUT);
}
changeTime = millis();
}

void loop() {

ledDelay = analogRead(potPin); // lê o valor do potenciômetro

if ((millis() – changeTime) > ledDelay) { // verifica se transcorreram ledDelay ms desde a
// última alteração
changeLED();
changeTime = millis();
}
}

void changeLED() {
// apaga todos os LEDs
for (int x = 0; x < 10; x++) {
digitalWrite(ledPin[x], LOW);
}

// acende o LED atual
digitalWrite(ledPin[vaiLED], HIGH);
digitalWrite(ledPin[vemLED], HIGH);

// incrementa de acordo com o valor de direction
//currentLED += direction;

vaiLED += directionVAI;
vemLED += directionVEM;

// altera a direção se tivermos atingido o fim
if (vaiLED == 9) {
directionVAI = -1;
}
if (vaiLED == 0) {
directionVAI = 1;
}

if (vemLED == 9) {
directionVEM = -1;
}
if (vemLED == 0) {
directionVEM = 1;
}
}

Baseado no livro:

Arduino Básico – Michael McRoberts

Novatec

Anúncios
Esta entrada foi publicada em arduino com as etiquetas . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s