Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <FastLED.h>
- #define NUM_LEDS 60 // Anzahl LEDS
- #define LED_PIN 3 // LED PIN 1
- #define CHIPSET WS2812B
- #define COLOR_ORDER GRB
- #define BRIGHTNESS 100
- CRGB leds[NUM_LEDS]; // Speicher bereit stellen
- int BewegungsPin1 = 5; //Anschluss für den Steuerungsausgang des Bewegungsmelders festlegen
- int BewegungsPin2 = 6;
- int LDRPin1 = 8; //Anschluss für den Steuerungsausgang des Helligkeistsensors festlegen
- int Bewegung1 = 1; //Variable, die den Zustand des Bewegungsmelders speichert (0=keine Bewegung, 1=Bewegung)
- int Bewegung2 = 1;
- int LDR = 0; //Variable, die den Zustand des Bewegungsmelders speichert (0 = Dunkel, 1 = Hell)
- boolean bewegungErkannt=false;
- long aktuelleZeit = 1; //Variable fûr die Aktuelle zeit
- unsigned long StartTime = 1; //Variable, die für die Berechnung der Leuchtdauer der Lampe verwendet wird
- void setup() {
- pinMode (LDRPin1, INPUT);
- pinMode (BewegungsPin1, INPUT);
- pinMode (BewegungsPin2, INPUT);
- FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
- FastLED.setBrightness(BRIGHTNESS);
- }
- void loop()
- {
- int dot;
- aktuelleZeit = millis() - StartTime;
- Bewegung1 = digitalRead(BewegungsPin1);
- Bewegung2 = digitalRead(BewegungsPin2);
- LDR = digitalRead(LDRPin1);
- if ((LDR==HIGH)&&!bewegungErkannt&&((Bewegung1==HIGH)||(Bewegung2==HIGH)))
- {
- StartTime = millis(); // Startzeit Speichern
- bewegungErkannt=true;
- }
- if (aktuelleZeit > 0 && aktuelleZeit <2000 ) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
- {
- for (dot = 0; dot < NUM_LEDS; dot++) {
- leds[dot] = CRGB::LawnGreen;
- }
- }
- if (aktuelleZeit >2000 && aktuelleZeit < 8000 ) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
- {
- for (dot = 0; dot < NUM_LEDS; dot++) {
- leds[dot] = CRGB::Blue;
- }
- }
- if (aktuelleZeit > 8000 && aktuelleZeit < 10000 ) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
- {
- for (dot = 0; dot < NUM_LEDS; dot++) {
- leds[dot] = CRGB::DarkRed;
- }
- }
- if (aktuelleZeit > 10000&& aktuelleZeit < 10003) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
- {
- for (dot = 0; dot <NUM_LEDS; dot++) {
- leds[dot] = CRGB::Red;
- FastLED.show();
- leds[dot] = CRGB::Black;
- FastLED.show();
- delay(80);
- }
- }
- if (aktuelleZeit > 10000&& aktuelleZeit < 10003) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
- {
- for (dot = 0; dot < 30; dot++) && (dot =59; dot > 29; dot--) {
- leds[dot++] && leds (dot--) = CRGB::Red;
- FastLED.show();
- leds[dot++] && leds (dot--) = CRGB::Black;
- FastLED.show();
- delay(80);
- }
- }
- if (aktuelleZeit > 10004) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
- {
- for (dot = 0; dot < NUM_LEDS; dot++) {
- leds[dot] = CRGB::Black;
- bewegungErkannt=false;
- }
- }
- FastLED.show(); // LED SPEICHER AUF LED SCHREIBEN
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement