Home » Arduino » S1 :: 2.1. lauflicht

Themen

S1 :: 2.1. lauflicht

methoden

folgende anweisungen/befehle werden verwendet:

schaltung

code1

schreibe ein Programm welches die LEDs von links nach rechts einzeln ein und ausschaltet und dann wieder retour

/*
   an den PINs 2-9 sind LEDs angeschlossen
*/
int pinArray[] = {2, 3, 4, 5, 6, 7, 8, 9};
int zaehler = 0;
int dauer = 33;

void setup() {
  for (zaehler = 0; zaehler < 8; zaehler++) {
    pinMode(pinArray[zaehler], OUTPUT);
  }
}

void loop() {
  // dein code
}
rider-01

code2

je nach potentiometer stellung bewegt sich das lauflicht schnell oder langsam
/*
   an den PINs 2-9 sind LEDs angeschlossen
*/
int ledPin[] = {2, 3, 4, 5, 6, 7, 8, 9};
int anzahlLED = 8;
int richtung = 1;
int aktivePosition = 0;
int letztePosition = 0;
int dauer = 33;
int poti = 0;

void setup() {
  Serial.begin(115200);
  for (int i = 0; i < 8; i++) {
    pinMode(ledPin[i], OUTPUT);
  }
  debugText();
}

void loop() {
  poti = analogRead(0);  // am A0-pin
  dauer = map(poti, 0, 1023, 20, 333);  // 
  debugText();

  letztePosition = aktivePosition;
  aktivePosition += richtung;
  digitalWrite(ledPin[aktivePosition], HIGH);
  digitalWrite(ledPin[letztePosition],   LOW);
  if (aktivePosition >= anzahlLED - 1 || aktivePosition < 1) {
    richtung *= -1;
  }
  delay(dauer);
}

void debugText() {
  if (aktivePosition == 0) {
    Serial.println("-----------------------------------------------");
  }
  Serial.print(aktivePosition);
  Serial.print("\t richtung: ");
  Serial.print(richtung);
  Serial.print("\t\t");
  Serial.print(poti);
  Serial.print(" :: ");
  Serial.println(dauer);
}
lauflicht

Leave a comment

Your email address will not be published. Required fields are marked *