Advertisement
Guest User

Sanduhr

a guest
Dec 8th, 2019
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. int shiftPin = 3; //SHCP
  2. int storePin = 2; //STCP
  3. int dataPin = 0; //DS
  4. //globale Variable
  5. //dient als Index für die aktive LED
  6. //im Lauflicht
  7. int activeIndex = -1;
  8. void setup() {
  9.   //setzen der Pins als Ausgang
  10.   pinMode(storePin, OUTPUT);
  11.   pinMode(shiftPin, OUTPUT);
  12.   pinMode(dataPin, OUTPUT);
  13.   //setzen des Pins am digitalen Pin D8
  14.   //auf LOW quasi Status "AUS"
  15.   digitalWrite(storePin, LOW);
  16. }
  17. void loop () {
  18.   writeMuster();
  19.   //eine kleine Pause von 150ms.
  20.   delay(750);
  21. }
  22.  
  23. void writeMuster() {
  24.   if (activeIndex > 7) {
  25.     activeIndex = 0;
  26.   } else {
  27.     activeIndex++;
  28.   }
  29.  
  30.   int muster_oben[4] = {1, 1, 1, 1};
  31.   int muster_unten[4] = {0, 0, 0, 0};
  32.   if (activeIndex >= 1) {
  33.     for (int i = 0; i < activeIndex; i++) {
  34.       muster_oben[i] = 0;
  35.       muster_unten[i] = 1;
  36.     }
  37.   }
  38.  
  39.  
  40.   for (int i = 0; i < 4; i++) {
  41.     digitalWrite(shiftPin, LOW);
  42.     digitalWrite(dataPin, muster_oben[i]);
  43.     digitalWrite(shiftPin, HIGH);
  44.   }
  45.  
  46.   for (int i = 0; i < 4; i++) {
  47.     digitalWrite(shiftPin, LOW);
  48.     digitalWrite(dataPin, muster_unten[i]);
  49.     digitalWrite(shiftPin, HIGH);
  50.   }
  51.   //schreiben der Daten
  52.   digitalWrite(storePin, HIGH);
  53.   delay(20); //eine kleine Pause
  54.   //zurücksetzen
  55.   digitalWrite(storePin, LOW);
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement