INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Treppenbeleuchtung mit Stripes!
26.01.2016, 22:58
Beitrag #1
Treppenbeleuchtung mit Stripes!
Hallo Leute!

Dieses Projekt ist Hier im forum entstanden danke an Higli und allen die mir geholfen haben!

Hier ist mein Projekt Treppenbeleuchtung!

Ich habe im Baumarkt günstige Led Strips gekauft und auf die richtige länge gebracht und an der Treppe befestigt. Dann diese mit dem Arduino über ein selbst gemachtes board mit Mos-fets angeschlossen! Für die Auslösung verwende ich einen Bewegungsmelder ( HC-SR501) und 2 Ir Lichtschranken bei denen die Entfernung eingestellt werden kann (bis max. 1 Meter)!

Das ganze sollte so funktionieren:

Ich nähere mich der Treppe Bewegungsmelder erkennt Bewegung und Schaltet die ersten 3 Stufen ein, gehe ich nur vorbei und nicht die stufen hoch, sollten die Led's wieder aus gehen! Gehe ich rauf und aktiviere die Ir Lichtschranke (unten) dann fangen alle Strips zu leuchten an, zeitverzögert nach oben! Passiere ich das obere ende der Treppe schaltet die 2. Ir Lichtschranke (oben) werden die Strips von unten nach oben ausgeschaltet. Das selbe von oben nach unten!

Was noch nicht funktioniert sind die Abschaltungen falls eine Ir Lichtschranke nicht aktiviert wird! Das würde ich gerne mit einer verzögerten Abschaltung von ca. 30 sec. machen!

Der sketch:
Code:
int speed = 500;    // die Zeit wie schnell die Ausgänge von LOW->HIGH und HIGH->LOW wechseln | Default: 1 Sekunde
int warte = 2000;

int led[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 44, 45, 46, 47 };    // Pin2 - 13 entsprechen led0 - led11, Pin44 - 47 entsprechen led12 - led15
int anzahl = 16;    // Bestimmt die Anzahl aller Pins -> Wichtig für for-schleife

int inpin51 = 51;
int inpin50 = 50;
int inpin49 = 49;

int boden = 0;    // Pir unten
int oben = 0;    // Lichtschranke oben
int unten = 0;    // Lichtschranke unten
int bewegung = 0;   //bewege mich unten
int runter =  0;    // ich gehe runter
int rauf = 0;    // ich gehe rauf


void setup()
{
  pinMode (inpin51, INPUT);    // Anschluss Pin51 als eingang oben
  pinMode (inpin50, INPUT);    // Anschluss Pin50 als Eingang unten definieren
  pinMode (inpin49, INPUT);    // Anschluss Pin49 als Eingang PIR definieren

  for ( int i = 0; i < anzahl; i++ )    // Deklariert alle "led" als Output
  {
    pinMode ( led[i], OUTPUT );
    digitalWrite ( led[i], LOW );    // Setzt alle "led" auf LOW
  }

}


void loop()
{
  boden = digitalRead(inpin49);
  oben = digitalRead(inpin51);    // ermittelt den aktuellen Zustand am Eingang Pin50
  unten = digitalRead(inpin50);    // ermittelt den aktuellen Zustand am Eingang Pin49



  if ((boden == HIGH) && (unten == LOW))
  {
    for (int i = 0; i < 3; i++)
    {
      digitalWrite (led[i], HIGH);
      delay (speed);
    }
    bewegung = 1;
    return;
  }

  if ( ( unten == HIGH ) && ( oben == LOW ) && ( runter == 0 ) )    // Logik zur Laufrichtung und aktuellen Stand pruefen
  {

    for ( int i = 3; i < anzahl; i++ )
    {
      digitalWrite ( led[i], HIGH );
      delay ( speed );
    }

    rauf = 1;
    return;
  }


  if ( ( unten == LOW ) && ( oben == HIGH ) && ( rauf == 1 ) )    // Logik zur Laufrichtung und aktuellen Stand pruefen
  {

    for ( int i = 0; i < anzahl; i++ )
    {
      digitalWrite ( led[i], LOW );
      delay ( speed );
    }



    rauf = 0;
    return;
  }


  if ( ( unten == LOW) && ( oben == HIGH ) && ( rauf == 0 ) )    // Logik zur Laufrichtung und aktuellen Stand pruefen
  {

    for ( int i = anzahl - 1; i >= 0; i-- )
    {
      digitalWrite ( led[i], HIGH );
      delay ( speed );
    }
    runter = 1;
    return;

  }
  if ( ( unten == HIGH ) && ( oben == LOW ) && ( runter == 1 ) )                 // Logik zur Laufrichtung und aktuellen Stand pruefen
  {

    for ( int i = anzahl - 1; i >= 0; i-- )
    {
      digitalWrite ( led[i], LOW );
      delay ( speed );
    }
    runter = 0;
    return;
  }
}

Und Hier einige Bilder!

           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Lightbulb LED Treppenbeleuchtung - Noobine Schnibbelchen 8 3.848 12.01.2015 09:53
Letzter Beitrag: Hollaender83

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste