Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // pin připojen na RCLK registru (12)
  2. int latchPin = 3;
  3. //Pin connected to SRCLK registru (11)
  4. int clockPin = 4;
  5. ////Pin připojen na Data pin registu (14)
  6. int dataPin = 2;
  7.  
  8. // data uložená v poli
  9. // v binární soustavě pro větší
  10. // přehlednost
  11. byte data[] =
  12.   {
  13.   B10000000,B00000000,
  14.   B00000000,B00000000,
  15.   B00100000,B00000000,
  16.   B00010000,B00000000,
  17.   B00001000,B00000000,
  18.   B00000100,B00000000,
  19.   B00000010,B00000000,
  20.   B00000001,B00000000,
  21.   B00000000,B10000000,
  22.   B00000000,B01000000,
  23.   B00000000,B00100000,
  24.   B00000000,B00010000,
  25.   B00000000,B00001000,
  26.   B00000000,B00000100,
  27.   B00000000,B00000010,
  28.   B00000000,B00000001,
  29.   B00000000,B00000011,
  30.   B00000000,B00000111,
  31.   B00000000,B00001111,
  32.   B00000000,B00011111,
  33.   B00000000,B00111111,
  34.   B00000000,B01111111,
  35.   B00000000,B11111111,
  36.   B00000001,B11111111,
  37.   B00000011,B11111111,
  38.   B00000111,B11111111,
  39.   B00011111,B11111111,
  40.   B00111111,B11111111,
  41.   B01111111,B11111111,
  42.   B11111111,B11111111  
  43.   };
  44.  
  45.  
  46. void setup() {
  47.   // nastaví naše piny pro regist na výstupní
  48.   pinMode(latchPin, OUTPUT);
  49.   pinMode(clockPin, OUTPUT);
  50.   pinMode(dataPin, OUTPUT);
  51. }
  52.  
  53. void loop() {
  54.   // funkce projde všechny byte v poli data
  55.   for (int index = 0; index < sizeof(data); index = index + 2) {
  56.     // když dáme latchPin na LOW mužeme
  57.     // do registru poslat data
  58.     digitalWrite(latchPin, LOW);
  59.     // a to pomocí funkce shiftOut pro 1. registr
  60.     shiftOut(dataPin, clockPin, MSBFIRST, data[index]);
  61.     // pro 2. registr
  62.     shiftOut(dataPin, clockPin, MSBFIRST, data[index + 1]);  
  63.  
  64.     // jakmile dáme latchPin na HIGH,
  65.     // data se objeví na výstupu
  66.     digitalWrite(latchPin, HIGH);
  67.    
  68.     // počká 50ms, aby to nefrčelo moc rychle
  69.     delay(50);
  70.   }
  71.  
  72.   }