Soso,
ich habe heute die beiden IR-Sensoren intergriert.
Ich habe diese hier verwendet: Gravity: 80cm Arduino Infrared Proximity Sensor - DFRobot
Ich war noch meinen Code schuldig:
#include "Tlc5940.h"
const int v_fade_in = 40; // Geschwindigkeit Fade-In
const int v_fade_out = 20; // Geschwindigkeit Fade-Out
const int einschaltdauer = 10; //Einschaltdauer in Sekunden
const int sensor_oben = 4; // DigitalPin des oberen Sensors
const int sensor_unten = 5; //DigitalPin des unteren Sensors
const int t_einschaltdauer = einschaltdauer * 1000; // Umrechnung in Millsekunden
void setup()
{
Tlc.init();
pinMode(sensor_unten,INPUT);
pinMode(sensor_oben,INPUT);
}
void loop()
{
Tlc.clear(); // Setzt den TLC zurück
if(digitalRead(sensor_oben) == LOW) fade_in_oben();
if(digitalRead(sensor_unten) == LOW) fade_in_unten();
}
// Wenn Sensor OG betätigt wird, LED von oben nach unten einschalten
void fade_in_oben(){
for(int led=0;led<11;led++){
for (int p=0; p<4095; p+=v_fade_in) {
Tlc.set(led, p);
Tlc.update();
delay(5);
}
}
// Eingeschaltet lassen
delay(t_einschaltdauer);
// Ausschalten
fade_out_oben();
}
// Wenn Licht von oben eingeschaltet wurde in umgekehrter Reihenfolge ausschalten
void fade_out_oben(){
for(int led=10;led>=0;led--){
for (int r=4095; r>=0; r-=v_fade_out) {
if(r<v_fade_out){r=0;} // Nachglimmen der LED verhinden (Wert 0 wird nicht erreicht)
Tlc.set(led, r);
Tlc.update();
delay(5);
}
}
}
// Wenn Sensor EG betätigt wird, LED von unten nach oben einschalten
void fade_in_unten(){
for(int led=10;led>=0;led--){
for (int p=0; p<4095; p+=v_fade_in) {
Tlc.set(led, p);
Tlc.update();
delay(5);
}
}
// Eingeschaltet lassen
delay(t_einschaltdauer);
// Ausschalten
fade_out_unten();
}
// Wenn Licht von unten eingeschaltet wurde in umgekehrter Reihenfolge ausschalten
void fade_out_unten(){
for(int led=0;led<11;led++){
for (int r=4095; r>=0; r-=v_fade_out) { {
if(r<v_fade_out){r=0;} // Nachglimmen der LED verhinden (Wert 0 wird nicht erreicht)
Tlc.set(led, r);
Tlc.update();
delay(5);
}
}
}
Was mir noch eingefallen ist: Unten hat die Treppe 3 Stufen ohne seitliche Wand oder ein Geländer - Den Sensor dort irgendwo in Position zu bringen erscheint mir noch unmöglich.
Eine Lichtschranke fällt ohne seitliche Begrenzungen auch flach. Ich hatte noch an einen Trittsensor gedacht - Die Treppe soll gefliest werden. Gibt es vielleicht noch andere Ideen?