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