Arduino: slíbený Knight Rider

Jaroslav Lukesh lukesh na seznam.cz
Pátek Červenec 18 11:52:51 CEST 2014


Možná budete potřebovat prohodit HIGH a LOW, závisí to na zapojení LEDek, 
nemám je zapojené z výstupu na zem jak to dělá většina umělců, ale z + (přes 
odpor) na výstup.

byte led1 = 10;//pwm
byte led2 = 3;
byte led3 = 4;
byte led4 = 5;//pwm
byte led5 = 6;//pwm
byte led6 = 7;
byte led7 = 8;
byte led8 = 9;//pwm
byte cas = 77;



void fader(byte LEDA,byte LEDB, byte CAS){
  char* buffer [3];
  byte CASX=CAS/3;
  byte CASY=CAS/2;

  leds_blik (LEDA,LEDB,CAS*2);

  for (byte fading = 0; fading < 10; fading++) { //zhasínání
    byte FADE=240 + fading*1.5;
    analogWrite(LEDA, FADE );
    analogWrite(LEDB, FADE );
    delay(CASX);
  }

  delay(CAS);

  for (byte fading = 0; fading < 10; fading++) { //rozsvěcování
    byte FADE=254 - fading*1.5;
    analogWrite(LEDA, FADE );
    analogWrite(LEDB, FADE );
    delay(CASY);
  }

  leds_blik (LEDA,LEDB,CAS);
}



void leds_blik(byte LEDA, byte LEDB, byte CAS){
  digitalWrite(LEDA, LOW);
  digitalWrite(LEDB, LOW);
  delay(CAS);
  digitalWrite(LEDA, HIGH);
  digitalWrite(LEDB, HIGH);
}


void setup() {

  for (byte thisPin = 2; thisPin <=10; thisPin++)  {
    pinMode(thisPin, OUTPUT);
  }

 leds_blik (led1,led2,0); // zhasnutí po resetu
 leds_blik (led3,led4,0);
 leds_blik (led5,led6,0);
 leds_blik (led7,led8,0);

 }


// the loop routine runs over and over again forever:
void loop() {

  fader(led1,led8,cas);
  leds_blik (led2,led7,cas*2);
  leds_blik (led3,led6,cas);
  fader(led4,led5,cas);

// zvrat

  leds_blik (led3,led6,cas);
  leds_blik (led2,led7,cas*2);

} 



Další informace o konferenci Hw-list