Advertisement
Rollertoaster

Untitled

Jun 27th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. #include <FastLED.h>
  2. #define NUM_LEDS 60 // Anzahl LEDS
  3. #define LED_PIN 3 // LED PIN 1
  4.  
  5. #define CHIPSET WS2812B
  6. #define COLOR_ORDER GRB
  7. #define BRIGHTNESS 100
  8. CRGB leds[NUM_LEDS]; // Speicher bereit stellen
  9.  
  10. int BewegungsPin1 = 5; //Anschluss für den Steuerungsausgang des Bewegungsmelders festlegen
  11. int BewegungsPin2 = 6;
  12. int LDRPin1 = 8; //Anschluss für den Steuerungsausgang des Helligkeistsensors festlegen
  13.  
  14. int Bewegung1 = 1; //Variable, die den Zustand des Bewegungsmelders speichert (0=keine Bewegung, 1=Bewegung)
  15. int Bewegung2 = 1;
  16. int LDR = 0; //Variable, die den Zustand des Bewegungsmelders speichert (0 = Dunkel, 1 = Hell)
  17.  
  18. boolean bewegungErkannt=false;
  19.  
  20. long aktuelleZeit = 1; //Variable fûr die Aktuelle zeit
  21.  
  22. unsigned long StartTime = 1; //Variable, die für die Berechnung der Leuchtdauer der Lampe verwendet wird
  23.  
  24. void setup() {
  25. pinMode (LDRPin1, INPUT);
  26. pinMode (BewegungsPin1, INPUT);
  27. pinMode (BewegungsPin2, INPUT);
  28. FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
  29. FastLED.setBrightness(BRIGHTNESS);
  30. }
  31.  
  32. void loop()
  33. {
  34. int dot;
  35. aktuelleZeit = millis() - StartTime;
  36.  
  37. Bewegung1 = digitalRead(BewegungsPin1);
  38. Bewegung2 = digitalRead(BewegungsPin2);
  39. LDR = digitalRead(LDRPin1);
  40. if ((LDR==HIGH)&&!bewegungErkannt&&((Bewegung1==HIGH)||(Bewegung2==HIGH)))
  41.  
  42. {
  43. StartTime = millis(); // Startzeit Speichern
  44. bewegungErkannt=true;
  45. }
  46.  
  47.  
  48. if (aktuelleZeit > 0 && aktuelleZeit <2000 ) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
  49. {
  50. for (dot = 0; dot < NUM_LEDS; dot++) {
  51. leds[dot] = CRGB::LawnGreen;
  52. }
  53. }
  54.  
  55. if (aktuelleZeit >2000 && aktuelleZeit < 8000 ) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
  56. {
  57. for (dot = 0; dot < NUM_LEDS; dot++) {
  58. leds[dot] = CRGB::Blue;
  59. }
  60. }
  61.  
  62. if (aktuelleZeit > 8000 && aktuelleZeit < 10000 ) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
  63. {
  64. for (dot = 0; dot < NUM_LEDS; dot++) {
  65. leds[dot] = CRGB::DarkRed;
  66. }
  67. }
  68.  
  69. if (aktuelleZeit > 10000&& aktuelleZeit < 10003) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
  70. {
  71. for (dot = 0; dot <NUM_LEDS; dot++) {
  72. leds[dot] = CRGB::Red;
  73. FastLED.show();
  74.  
  75. leds[dot] = CRGB::Black;
  76. FastLED.show();
  77. delay(80);
  78. }
  79. }
  80.  
  81. if (aktuelleZeit > 10000&& aktuelleZeit < 10003) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
  82. {
  83. for (dot = 0; dot < 30; dot++) && (dot =59; dot > 29; dot--) {
  84. leds[dot++] && leds (dot--) = CRGB::Red;
  85.  
  86.  
  87. FastLED.show();
  88.  
  89. leds[dot++] && leds (dot--) = CRGB::Black;
  90. FastLED.show();
  91. delay(80);
  92.  
  93.  
  94. }
  95. }
  96.  
  97.  
  98.  
  99. if (aktuelleZeit > 10004) // Solange seid start keine 2s vergangen sind LED speicher für alle leds auf weiss setzen
  100. {
  101. for (dot = 0; dot < NUM_LEDS; dot++) {
  102. leds[dot] = CRGB::Black;
  103. bewegungErkannt=false;
  104. }
  105. }
  106. FastLED.show(); // LED SPEICHER AUF LED SCHREIBEN
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement