terça-feira, 25 de fevereiro de 2014

Projeto 6 - Efeito interativo de iluminação sequencial com LEDs

Componentes necessários:

-  Protobord
- 10 LEDs de 5 mm
- 10 resitores de 100 ohms*
- Fios
-Potenciômetro


*Verificar o resistor para o led, pois o valor pode ser diferente.



 //Projeto 6 - Efeito interativo de iluminação sequencial com LEDs  
 //Este código é de domínio público  
   
 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  
 int direction = 1;  
 int currentLED = 0;  
 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  
   changeLED();                             // última alteração  
   changeTime = millis();  
   }  
 }  
   
 void changeLED() {  
  for (int x=0; x<10; x++) {                     // apaga todos os LEDs  
   digitalWrite(ledPin[x], LOW);  
  }  
  digitalWrite(ledPin[currentLED], HIGH);               // acende o LED atual  
  currentLED += direction;         // incrementa de acordo com o valor de direction  
                        // altera a direção se tivermos atingido o fim  
  if (currentLED == 9) {direction = -1;}  
  if (currentLED == 0) {direction = 1;}  
 }  

Nenhum comentário :

Postar um comentário