Advertisement
Guest User

TestHeart

a guest
Mar 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. // Проект 24 - Анимация на светодиодной матрице
  2. #define DATA 6
  3. // к выводу 14 микросхемы 74HC595
  4. #define LATCH 8 // к выводу 12 микросхемы 74HC595
  5. #define CLOCK 10 // к выводу 11 микросхемы 74HC595
  6. byte smile[] =
  7. {
  8.   B01000010,
  9.   B10100101,
  10.   B10011001,
  11.   B10000001,
  12.   B01000010,
  13.   B00100100,
  14.   B00011000,
  15.  
  16. };
  17. // рисуем сердце
  18.  
  19. int binary[] = {
  20.   1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096,8192, 16384, 32768};// справочная таблица в форме массива,
  21.                               //десятичные эквиваленты всех битов в байте
  22. void setup()
  23. {
  24.   pinMode(LATCH, OUTPUT);
  25.   pinMode(CLOCK, OUTPUT);
  26.   pinMode(DATA, OUTPUT);
  27. }
  28. void loop()
  29. {
  30.   int a, hold, shift;
  31.   for ( shift = 0 ; shift < 8 ; shift++ )
  32.   {
  33.     for ( hold = 0 ; hold < 30 ; hold++ )
  34.     {
  35.       for ( a = 0 ; a < 8 ; a++ )
  36.       {
  37.         digitalWrite(LATCH, LOW);
  38.         byte row = smile[a];
  39.         row = ~((row << shift) | (row >> (8 - shift)));
  40.         shiftOut(DATA, CLOCK, MSBFIRST, row>>shift); // столбцы
  41.         shiftOut(DATA, CLOCK, LSBFIRST, binary[a]);
  42.         // ряды
  43.         digitalWrite(LATCH, HIGH);
  44.         delay(1);
  45.       }
  46.  
  47.        
  48.       }
  49.   }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement