Ich hab da mal was geschrieben, jedoch leuchtet bei mir nur der vierte LED Streifen fur zehn Sekunden immer, dann geht er kurz aus und leuchtet wieder zehn Sekunden.
Hier mein Sketch, vielleicht kann mir da jemand helfen:
#include <SPI.h>
#define PIR_TOP_PIN A1
#define PIR_BOTTOM_PIN A2
int i = 1;
int LedAnPause = 100;
int richtung;
int pirWert;
void setup() {
// put your setup code here, to run once:
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
richtung = 0;
pirWert = 0;
pirWert = analogRead(PIR_TOP_PIN);
if(pirWert > 500)// falls Katze kommt
{
richtung = 1;
LichtAn(richtung);
delay(10000);
LichtAus();
}
pirWert = analogRead(PIR_BOTTOM_PIN);
if(pirWert > 500)// falls Katze kommt
{
richtung = 2;
LichtAn(richtung);
delay(10000);
LichtAus();
}
}
void LichtAus()
{
int i;
for(i=0;i< 12;i++){
// if(anrichtung = 1)
// {
// ledCounter++;
// }
// else
// {
// ledCounter--;
// }
// digitalWrite(ledCounter, LOW);
// delay(LedAnPause);
digitalWrite(i+1, LOW);
}
}
void LichtAn(int anrichtung)
{
int i;
int ledCounter;
if(anrichtung = 1)
{
ledCounter = 1;
}
if(anrichtung = 2)
{
ledCounter = 12;
}
for(i=0;i< 12;i++){
if(anrichtung = 1)
{
ledCounter++;
}
else
{
ledCounter--;
}
digitalWrite(ledCounter, HIGH);
delay(LedAnPause);
}
}