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.  
  9. void setup() {
  10.   // nastavení vyvodů Arduina na výstup
  11.   pinMode(latchPin, OUTPUT);
  12.   pinMode(clockPin, OUTPUT);
  13.   pinMode(dataPin, OUTPUT);
  14.  
  15.      
  16. }
  17.  
  18. void loop() {
  19.   // cyklus pro počítání od 0 do 99
  20.   for (int i = 0;i <100;i++)
  21.   {
  22.     // zjištění počtu desítek a jednotek
  23.     // pro rozdělení do displeje
  24.     int desitky = (i- (i%10))/10;
  25.     int jednotky = i - (desitky*10);
  26.    
  27.     // pošle do registru jednotky
  28.     ShowDigit(jednotky);
  29.    
  30.     //když jsou desítky 0 tak je nezobrazí
  31.     // hodnota 10 smaže čislici
  32.     if (desitky == 0) desitky = 10;
  33.    
  34.     // zobrazí desítky
  35.     ShowDigit(desitky);
  36.  
  37.     // čeká 80 milisekund
  38.     delay(80);
  39.     }
  40.    }
  41.    
  42.  
  43. // funkce pro 7-segmentouvé číslice
  44. void ShowDigit(byte value)
  45.  {
  46.  byte DigitData[11] = {
  47. // zde uloženy data pro číslice a symboly
  48. B00000010, //0
  49. B11001111, //1
  50. B00010001, //2
  51. B00000101, //3
  52. B01001100, //4
  53. B00100100, //5
  54. B00100000, //6
  55. B00001111, //7
  56. B00000000, //8
  57. B00000100, //9
  58. B11111111, //10 - smazat
  59. // sami si můžete nějaké symboly přidat
  60. };
  61.  
  62. // odeslání hodnoty do registru
  63. digitalWrite(latchPin, LOW);  
  64. shiftOut(dataPin, clockPin, MSBFIRST, DigitData[value]);
  65. digitalWrite(latchPin, HIGH);
  66.    
  67.  }