Advertisement
LeventeDaradici

Christmass Lights with Arduino Mega Final version for 2021

Dec 25th, 2021
317
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 20.46 KB | None | 0 0
  1. //Leds
  2. //String 1
  3. #define pinR1 13
  4. #define pinG1 12
  5. #define pinB1 11
  6.  
  7. //String 2
  8. #define pinR2 10
  9. #define pinG2 9        
  10. #define pinB2 8
  11.  
  12. //String 3
  13. #define pinR3 7
  14. #define pinG3 6
  15. #define pinB3 5
  16.  
  17. //String 4
  18. #define pinR4 4
  19. #define pinG4 3          
  20. #define pinB4 2
  21.  
  22. void setup() {
  23.   Serial.begin(9600);
  24.   pinMode(pinR1, OUTPUT);
  25.   pinMode(pinG1, OUTPUT);
  26.   pinMode(pinB1, OUTPUT);
  27.   pinMode(pinR2, OUTPUT);
  28.   pinMode(pinG2, OUTPUT);
  29.   pinMode(pinB2, OUTPUT);
  30.   pinMode(pinR3, OUTPUT);
  31.   pinMode(pinG3, OUTPUT);
  32.   pinMode(pinB3, OUTPUT);
  33.   pinMode(pinR4, OUTPUT);
  34.   pinMode(pinG4, OUTPUT);
  35.   pinMode(pinB4, OUTPUT);
  36. }
  37.  
  38. void loop()
  39. {
  40.    Anim1(150,15);
  41.    Anim2(200,40);
  42.    Anim3(250,40);
  43.    Anim4(200,40);
  44.    Anim5(250,20);
  45.   ///Anim6(3,3);
  46.    Anim7(5,2);
  47.  /// Anim8(8, 6);
  48.    Anim9(1, 6);
  49.    Anim10(2, 6, 2);
  50.    Anim11(2, 40, 1);
  51.    Anim12(2, 40, 1);
  52. }                  
  53.  
  54. void Anim1(int wait, int durata)
  55. {
  56.   for(int d = 1; d < durata; d++)
  57.      {
  58.      for(int r = 1; r <= 4; r++)
  59.        {
  60.          Led(r,255,0,0);
  61.          delay(wait);
  62.          Led(r,0,0,0);
  63.        }
  64.      }
  65.   for(int d = 1; d <= durata; d++)
  66.      {
  67.      for(int r = 1; r <= 4; r++)
  68.        {
  69.          Led(r,0,255,0);
  70.          delay(wait);
  71.          Led(r,0,0,0);
  72.        }
  73.      }
  74.   for(int d = 1; d <= durata; d++)
  75.      {
  76.      for(int r = 1; r <= 4; r++)
  77.        {
  78.          Led(r,0,0,255);
  79.          delay(wait);
  80.          Led(r,0,0,0);
  81.        }
  82.      }
  83.   for(int d = 1; d <= durata; d++)
  84.      {
  85.      for(int r = 1; r <= 4; r++)
  86.        {
  87.          Led(r,255,0,255);
  88.          delay(wait);
  89.          Led(r,0,0,0);
  90.        }
  91.      }
  92.   for(int d = 1; d <= durata; d++)
  93.      {
  94.      for(int r = 1; r <= 4; r++)
  95.        {
  96.          Led(r,0,255,255);
  97.          delay(wait);
  98.          Led(r,0,0,0);
  99.        }
  100.      }
  101.   for(int d = 1; d <= durata; d++)
  102.      {
  103.      for(int r = 1; r <= 4; r++)
  104.        {
  105.          Led(r,255,255,0);
  106.          delay(wait);
  107.          Led(r,0,0,0);
  108.        }
  109.      }
  110.   for(int d = 1; d <= durata; d++)
  111.      {
  112.      for(int r = 1; r <= 4; r++)
  113.        {
  114.          Led(r,255,255,255);
  115.          delay(wait);
  116.          Led(r,0,0,0);
  117.        }
  118.      }
  119. }
  120.  
  121. void Anim2(int wait, int rep)
  122. {
  123.   for(int i = 0; i < rep; i++)
  124.   {
  125.   int str = rand() % 5;
  126.   int r = rand() % 256;
  127.   int g = rand() % 256;
  128.   int b = rand() % 256;
  129.   Led(str, r, g, b);
  130.   delay(wait);
  131.   }  
  132. }
  133.  
  134. void Anim3(int wait, int rep)
  135. {
  136.   for(int i = 0; i < rep; i++)
  137.   {
  138.   int str = rand() % 5;
  139.   int r = rand() % 256;
  140.   int g = rand() % 256;
  141.   int b = rand() % 256;
  142.   Led(1, r, g, b);
  143.   Led(2, r, g, b);
  144.   Led(3, r, g, b);
  145.   Led(4, r, g, b);
  146.   delay(wait);
  147.   }  
  148. }
  149.  
  150. void Anim4(int wait, int durata)
  151. {
  152.   int comparator;
  153.   int comparator2;
  154.   int comparator3;
  155.   for(int d = 1; d < durata; d++)
  156.      {
  157.      for(int r = 1; r <= 4; r++)
  158.        {
  159.          Led(r,255,0,0);
  160.  
  161.          comparator = r-1;
  162.          if (comparator < 1) comparator = comparator + 4;
  163.          Led(comparator,0,255,0);
  164.  
  165.          comparator2 = r-2;
  166.          if (comparator2 < 1) comparator2 = comparator2 + 4;
  167.          Led(comparator2,0,0,255);
  168.  
  169.          comparator3 = r-3;
  170.          if (comparator3 < 1) comparator3 = comparator3 + 4;
  171.          Led(comparator3,255,255,255);
  172.          delay(wait);
  173.          Led(r,0,0,0);
  174.        }
  175.      }
  176. }
  177.  
  178. void Anim5(int wait, int durata)
  179. {
  180.   int comparator;
  181.   int comparator2;
  182.   int comparator3;
  183.   for(int d = 1; d < durata; d++)
  184.      {
  185.      for(int r = 1; r <= 4; r++)
  186.        {
  187.          Led(r,255,0,0);
  188.  
  189.          comparator = r-1;
  190.          if (comparator < 1) comparator = comparator + 4;
  191.          Led(comparator,255,0,0);
  192.  
  193.          comparator2 = r-2;
  194.          if (comparator2 < 1) comparator2 = comparator2 + 4;
  195.          Led(comparator2,0,0,255);
  196.  
  197.          comparator3 = r-3;
  198.          if (comparator3 < 1) comparator3 = comparator3 + 4;
  199.          Led(comparator3,0,0,255);
  200.          delay(wait);
  201.          Led(r,0,0,0);
  202.          delay(wait);
  203.        }
  204.      }
  205. }
  206.  
  207. void Anim6(int wait, int durata)
  208. {
  209.   Led(1,0,0,0);
  210.   Led(2,0,0,0);
  211.   Led(3,0,0,0);
  212.   Led(4,0,0,0);
  213.   for(int d = 0; d < durata; d++)
  214.      {
  215.        int x = 1;
  216.            for (int i = 0; i > -1; i = i + x)
  217.                {
  218.                   Led(1,i,0,0);
  219.                   Led(2,i,0,0);
  220.                   if (i == 255) x = -1;            
  221.                   delay(wait);
  222.                }
  223.      }
  224.  
  225.   for(int d = 0; d < durata; d++)
  226.      {
  227.        int x = 1;
  228.            for (int i = 0; i > -1; i = i + x)
  229.                {
  230.                   Led(1,0,i,0);
  231.                   Led(2,0,i,0);
  232.                   if (i == 255) x = -1;            
  233.                   delay(wait);
  234.                }
  235.      }
  236.  
  237.   for(int d = 0; d < durata; d++)
  238.      {
  239.        int x = 1;
  240.            for (int i = 0; i > -1; i = i + x)
  241.                {
  242.                   Led(1,0,0,i);
  243.                   Led(2,0,0,i);
  244.                   if (i == 255) x = -1;            
  245.                   delay(wait);
  246.                }
  247.      }
  248.  
  249.   for(int d = 0; d < durata; d++)
  250.      {
  251.        int x = 1;
  252.            for (int i = 0; i > -1; i = i + x)
  253.                {
  254.                   Led(1,i,0,i);
  255.                   Led(2,i,0,i);
  256.                   if (i == 255) x = -1;            
  257.                   delay(wait);
  258.                }
  259.      }
  260.  
  261.   for(int d = 0; d < durata; d++)
  262.      {
  263.        int x = 1;
  264.            for (int i = 0; i > -1; i = i + x)
  265.                {
  266.                   Led(1,i,i,0);
  267.                   Led(2,i,i,0);
  268.                   if (i == 255) x = -1;            
  269.                   delay(wait);
  270.                }
  271.      }
  272.  
  273.   for(int d = 0; d < durata; d++)
  274.      {
  275.        int x = 1;
  276.            for (int i = 0; i > -1; i = i + x)
  277.                {
  278.                   Led(1,i,i,i);
  279.                   Led(2,i,i,i);
  280.                   if (i == 255) x = -1;            
  281.                   delay(wait);
  282.                }
  283.      }
  284.  
  285. }
  286.  
  287. void Anim7(int wait, int durata)
  288. {
  289.   for(int a = 0; a <= durata; a++)
  290.   {
  291.   Led(1,0,0,0);
  292.   Led(2,0,0,0);
  293.   Led(3,0,0,0);
  294.   Led(4,0,0,0);
  295.   for(int d = 0; d < durata; d++)
  296.      {
  297.        int x = 1;
  298.            for (int i = 0; i > -1; i = i + x)
  299.                {
  300.                   Led(1,i,0,0);
  301.                   Led(2,i,0,0);                  
  302.                   Led(3,i,0,0);
  303.                   Led(4,i,0,0);
  304.                   if (i == 255) x = -1;            
  305.                   delay(wait);
  306.                }
  307.      }
  308.  
  309.   for(int d = 0; d < durata; d++)
  310.      {
  311.        int x = 1;
  312.            for (int i = 0; i > -1; i = i + x)
  313.                {
  314.                   Led(1,0,i,0);
  315.                   Led(2,0,i,0);
  316.                   Led(3,0,i,0);
  317.                   Led(4,0,i,0);
  318.                   if (i == 255) x = -1;            
  319.                   delay(wait);
  320.                }
  321.      }
  322.  
  323.   for(int d = 0; d < durata; d++)
  324.      {
  325.        int x = 1;
  326.            for (int i = 0; i > -1; i = i + x)
  327.                {
  328.                   Led(1,0,0,i);
  329.                   Led(2,0,0,i);
  330.                   Led(3,0,0,i);
  331.                   Led(4,0,0,i);
  332.                   if (i == 255) x = -1;            
  333.                   delay(wait);
  334.                }
  335.      }
  336.  
  337.   for(int d = 0; d < durata; d++)
  338.      {
  339.        int x = 1;
  340.            for (int i = 0; i > -1; i = i + x)
  341.                {
  342.                   Led(1,i,0,i);
  343.                   Led(2,i,0,i);
  344.                   Led(3,255,0,i);
  345.                   Led(4,255,0,i);
  346.                   if (i == 255) x = -1;            
  347.                   delay(wait);
  348.                }
  349.      }
  350.  
  351.   for(int d = 0; d < durata; d++)
  352.      {
  353.        int x = 1;
  354.            for (int i = 0; i > -1; i = i + x)
  355.                {
  356.                   Led(1,i,i,0);
  357.                   Led(2,i,i,0);
  358.                   Led(3,i,i,0);
  359.                   Led(4,i,i,0);
  360.                   if (i == 255) x = -1;            
  361.                   delay(wait);
  362.                }
  363.      }
  364.  
  365.   for(int d = 0; d < durata; d++)
  366.      {
  367.        int x = 1;
  368.            for (int i = 0; i > -1; i = i + x)
  369.                {
  370.                   Led(1,i,i,i);
  371.                   Led(2,i,i,i);
  372.                   Led(3,i,i,i);
  373.                   Led(4,i,i,i);
  374.                   if (i == 255) x = -1;            
  375.                   delay(wait);
  376.                }
  377.      }
  378.   }
  379. }
  380. void Anim8(float wait, int rep)
  381. {
  382.   for(int a = 0; a <= rep; a++)
  383.   {
  384.   Led(1,0,0,0);
  385.   Led(2,0,0,0);
  386.   Led(3,0,0,0);
  387.   Led(4,0,0,0);
  388.  
  389.       for(int c = 0; c < 255; c++)
  390.       {
  391.         Led(1,c,0,0);
  392.         Led(2,c,0,0);
  393.         Led(3,c,0,0);
  394.         Led(4,c,0,0);
  395.  
  396.         delay(wait);
  397.       }
  398.       for(int c = 255; c >= 0; c--)
  399.       {
  400.         Led(1,c,0,0);
  401.         Led(2,c,0,0);
  402.         Led(3,c,0,0);
  403.         Led(4,c,0,0);
  404.  
  405.         delay(wait);
  406.       }
  407.       for(int c = 0; c < 255; c++)
  408.       {
  409.         Led(1,0,c,0);
  410.         Led(2,0,c,0);
  411.         Led(3,0,c,0);
  412.         Led(4,0,c,0);
  413.  
  414.         delay(wait);
  415.       }
  416.       for(int c = 255; c >= 0; c--)
  417.       {
  418.         Led(1,0,c,0);
  419.         Led(2,0,c,0);
  420.         Led(3,0,c,0);
  421.         Led(4,0,c,0);
  422.  
  423.         delay(wait);
  424.       };
  425.       for(int c = 0; c < 255; c++)
  426.       {
  427.         Led(1,0,0,c);
  428.         Led(2,0,0,c);
  429.         Led(3,0,0,c);
  430.         Led(4,0,0,c);
  431.  
  432.         delay(wait);
  433.       }
  434.       for(int c = 255; c >= 0; c--)
  435.       {
  436.         Led(1,0,0,c);
  437.         Led(2,0,0,c);
  438.         Led(3,0,0,c);
  439.         Led(4,0,0,c);
  440.  
  441.         delay(wait);
  442.       }
  443.   }
  444. }
  445.  
  446. void Anim9(int wait, int rep)
  447. {
  448.   for(int a = 0; a <= rep; a++)
  449.   {
  450.     for(int r = 0; r < 256; r++)
  451.     {
  452.     Led(1, r, 0, 0);
  453.     int r2 = 255 - r;
  454.     Led(4, r2, 0, 0);
  455.    
  456.     delay(wait);
  457.     }
  458.     for(int r = 0; r < 256; r++)
  459.     {
  460.     Led(2, r, 0, 0);
  461.     int r2 = 255 - r;
  462.     Led(1, r2, 0, 0);
  463.    
  464.     delay(wait);
  465.     }
  466.     for(int r = 0; r < 256; r++)
  467.     {
  468.     Led(3, r, 0, 0);
  469.     int r2 = 255 - r;
  470.     Led(2, r2, 0, 0);
  471.    
  472.     delay(wait);
  473.     }
  474.     for(int r = 0; r < 256; r++)
  475.     {
  476.     Led(4, r, 0, 0);
  477.     int r2 = 255 - r;
  478.     Led(3, r2, 0, 0);
  479.    
  480.     delay(wait);
  481.     }
  482.   }
  483.   for(int a = 0; a <= rep; a++)
  484.   {
  485.     for(int r = 0; r < 256; r++)
  486.     {
  487.     Led(1, 0, r, 0);
  488.     int r2 = 255 - r;
  489.     Led(4, 0, r2, 0);
  490.    
  491.     delay(wait);
  492.     }
  493.     for(int r = 0; r < 256; r++)
  494.     {
  495.     Led(2, 0, r, 0);
  496.     int r2 = 255 - r;
  497.     Led(1, 0, r2, 0);
  498.    
  499.     delay(wait);
  500.     }
  501.     for(int r = 0; r < 256; r++)
  502.     {
  503.     Led(3, 0, r, 0);
  504.     int r2 = 255 - r;
  505.     Led(2, 0, r2, 0);
  506.    
  507.     delay(wait);
  508.     }
  509.     for(int r = 0; r < 256; r++)
  510.     {
  511.     Led(4, 0, r, 0);
  512.     int r2 = 255 - r;
  513.     Led(3, 0, r2, 0);
  514.    
  515.     delay(wait);
  516.     }
  517.   }
  518.   for(int a = 0; a <= rep; a++)
  519.   {
  520.     for(int r = 0; r < 256; r++)
  521.     {
  522.     Led(1, 0, 0, r);
  523.     int r2 = 255 - r;
  524.     Led(4, 0, 0, r2);
  525.    
  526.     delay(wait);
  527.     }
  528.     for(int r = 0; r < 256; r++)
  529.     {
  530.     Led(2, 0, 0, r);
  531.     int r2 = 255 - r;
  532.     Led(1, 0, 0, r2);
  533.    
  534.     delay(wait);
  535.     }
  536.     for(int r = 0; r < 256; r++)
  537.     {
  538.     Led(3, 0, 0, r);
  539.     int r2 = 255 - r;
  540.     Led(2, 0, 0, r2);
  541.    
  542.     delay(wait);
  543.     }
  544.     for(int r = 0; r < 256; r++)
  545.     {
  546.     Led(4, 0, 0, r);
  547.     int r2 = 255 - r;
  548.     Led(3, 0, 0, r2);
  549.    
  550.     delay(wait);
  551.     }
  552.   }
  553. }
  554.  
  555. void Anim10(float wait, int rep, int step)
  556. {
  557.   for(int r = 0; r < rep; r++)
  558.   {
  559.     for(int r = 0; r < 256; r = r + step)
  560.     {
  561.       Led(3, r, 0, 0);
  562.       Led(1, 255 - r, 0, 0);
  563.       delay(wait);
  564.     }
  565.     for(int r = 0; r < 256; r = r + step)
  566.     {
  567.       Led(4, r, 0, 0);
  568.       Led(2, 255 - r, 0, 0);
  569.       delay(wait);
  570.     }
  571.     for(int r = 0; r < 256; r = r + step)
  572.     {
  573.       Led(1, r, 0, 0);
  574.       Led(3, 255 - r, 0, 0);
  575.       delay(wait);
  576.     }
  577.     for(int r = 0; r < 256; r = r + step)
  578.     {
  579.       Led(2, r, 0, 0);
  580.       Led(4, 255 - r, 0, 0);
  581.       delay(wait);
  582.     }
  583.   }
  584.  
  585.   for(int r = 0; r < rep; r++)
  586.   {
  587.     for(int r = 0; r < 256; r = r + step)
  588.     {
  589.       Led(3, 0, r, 0);
  590.       Led(1, 0, 255 - r, 0);
  591.       delay(wait);
  592.     }
  593.     for(int r = 0; r < 256; r = r + step)
  594.     {
  595.       Led(4, 0, r, 0);
  596.       Led(2, 0, 255 - r, 0);
  597.       delay(wait);
  598.     }
  599.     for(int r = 0; r < 256; r = r + step)
  600.     {
  601.       Led(1, 0, r, 0);
  602.       Led(3, 0, 255 - r, 0);
  603.       delay(wait);
  604.     }
  605.     for(int r = 0; r < 256; r = r + step)
  606.     {
  607.       Led(2, 0, r, 0);
  608.       Led(4, 0, 255 - r, 0);
  609.       delay(wait);
  610.     }
  611.   }
  612.  
  613.   for(int r = 0; r < rep; r++)
  614.   {
  615.     for(int r = 0; r < 256; r = r + step)
  616.     {
  617.       Led(3, 0, 0, r);
  618.       Led(1, 0, 0, 255 - r);
  619.       delay(wait);
  620.     }
  621.     for(int r = 0; r < 256; r = r + step)
  622.     {
  623.       Led(4, 0, 0, r);
  624.       Led(2, 0, 0, 255 - r);
  625.       delay(wait);
  626.     }
  627.     for(int r = 0; r < 256; r = r + step)
  628.     {
  629.       Led(1, 0, 0, r);
  630.       Led(3, 0, 0, 255 - r);
  631.       delay(wait);
  632.     }
  633.     for(int r = 0; r < 256; r = r + step)
  634.     {
  635.       Led(2, 0, 0, r);
  636.       Led(4, 0, 0, 255 - r);
  637.       delay(wait);
  638.     }
  639.   }
  640. }
  641.  
  642. void Anim11(int wait, int rep, int step)
  643. {
  644. int Pr1,Pg1,Pb1,Pr2,Pg2,Pb2,Pr3,Pg3,Pb3,Pr4,Pg4,Pb4,r,g,b;
  645.   Pr1 = Pr2 = Pr3 = Pr4 = 125;
  646.   Pg1 = Pg2 = Pg3 = Pg4 = 125;
  647.   Pb1 = Pb2 = Pb3 = Pb4 = 125;
  648.  
  649.   for(int d = 1; d < rep; d++)
  650.   r = rand() % 256;
  651.   g = rand() % 256;
  652.   b = rand() % 256;
  653.   if (Pr1 < r)
  654.      {
  655.         for(int i = Pr1;i < r; i = i + step)
  656.            {
  657.             Led(1, i, Pg1, Pb1);
  658.             delay(wait);
  659.             Pr1 = r;
  660.            }
  661.      }      
  662.   else if (Pr1 > r)
  663.      {
  664.         for(int i = Pr1;i > r; i = i - step)
  665.            {
  666.             Led(1, i, Pg1, Pb1);
  667.             delay(wait);
  668.             Pr1 = r;
  669.            }
  670.      }  
  671.   if (Pg1 < g)
  672.      {
  673.         for(int i = Pg1;i < g; i = i + step)
  674.            {
  675.             Led(1, r, i, Pb1);
  676.             delay(wait);
  677.             Pg1 = g;
  678.            }
  679.      }      
  680.   else if (Pg1 > g)
  681.      {
  682.         for(int i = Pg1;i > g; i = i - step)
  683.            {
  684.             Led(1, r, i, Pb1);
  685.             delay(wait);
  686.             Pg1 = g;
  687.            }
  688.      }  
  689.  
  690.   if (Pb1 < b)
  691.      {
  692.         for(int i = Pb1;i < b; i = i + step)
  693.            {
  694.             Led(1, r, g, i);
  695.             delay(wait);
  696.             Pb1 = b;
  697.            }
  698.      }      
  699.   else if (Pb1 > b)
  700.      {
  701.         for(int i = Pb1;i > b; i = i - step)
  702.            {
  703.             Led(1, r, g, i);
  704.             delay(wait);
  705.             Pb1 = b;
  706.            }
  707.      }  
  708.  
  709.  
  710.   r = rand() % 256;
  711.   g = rand() % 256;
  712.   b = rand() % 256;
  713.   if (Pr2 < r)
  714.      {
  715.         for(int i = Pr2;i < r; i = i + step)
  716.            {
  717.             Led(2, i, Pg2, Pb2);
  718.             delay(wait);
  719.             Pr2 = r;
  720.            }
  721.      }      
  722.   else if (Pr2 > r)
  723.      {
  724.         for(int i = Pr2;i > r; i = i - step)
  725.            {
  726.             Led(2, i, Pg2, Pb2);
  727.             delay(wait);
  728.             Pr2 = r;
  729.            }
  730.      }  
  731.   if (Pg2 < g)
  732.      {
  733.         for(int i = Pg2;i < g; i = i + step)
  734.            {
  735.             Led(2, r, i, Pb2);
  736.             delay(wait);
  737.             Pg2 = g;
  738.            }
  739.      }      
  740.   else if (Pg2 > g)
  741.      {
  742.         for(int i = Pg2;i > g; i = i - step)
  743.            {
  744.             Led(2, r, i, Pb2);
  745.             delay(wait);
  746.             Pg2 = g;
  747.            }
  748.      }  
  749.  
  750.   if (Pb2 < b)
  751.      {
  752.         for(int i = Pb2;i < b; i = i + step)
  753.            {
  754.             Led(2, r, g, i);
  755.             delay(wait);
  756.             Pb2 = b;
  757.            }
  758.      }      
  759.   else if (Pb2 > b)
  760.      {
  761.         for(int i = Pb2;i > b; i = i - step)
  762.            {
  763.             Led(2, r, g, i);
  764.             delay(wait);
  765.             Pb2 = b;
  766.            }
  767.      }  
  768.  
  769.   r = rand() % 256;
  770.   g = rand() % 256;
  771.   b = rand() % 256;
  772.   if (Pr3 < r)
  773.      {
  774.         for(int i = Pr3;i < r; i = i + step)
  775.            {
  776.             Led(3, i, Pg3, Pb3);
  777.             delay(wait);
  778.             Pr3 = r;
  779.            }
  780.      }      
  781.   else if (Pr3 > r)
  782.      {
  783.         for(int i = Pr3;i > r; i = i - step)
  784.            {
  785.             Led(3, i, Pg3, Pb3);
  786.             delay(wait);
  787.             Pr3 = r;
  788.            }
  789.      }  
  790.   if (Pg3 < g)
  791.      {
  792.         for(int i = Pg3;i < g; i = i + step)
  793.            {
  794.             Led(3, r, i, Pb3);
  795.             delay(wait);
  796.             Pg3 = g;
  797.            }
  798.      }      
  799.   else if (Pg3 > g)
  800.      {
  801.         for(int i = Pg3;i > g; i = i - step)
  802.            {
  803.             Led(3, r, i, Pb3);
  804.             delay(wait);
  805.             Pg3 = g;
  806.            }
  807.      }  
  808.  
  809.   if (Pb3 < b)
  810.      {
  811.         for(int i = Pb3;i < b; i = i + step)
  812.            {
  813.             Led(3, r, g, i);
  814.             delay(wait);
  815.             Pb3 = b;
  816.            }
  817.      }      
  818.   else if (Pb3 > b)
  819.      {
  820.         for(int i = Pb3;i > b; i = i - step)
  821.            {
  822.             Led(3, r, g, i);
  823.             delay(wait);
  824.             Pb3 = b;
  825.            }
  826.      }  
  827.  
  828.   r = rand() % 256;
  829.   g = rand() % 256;
  830.   b = rand() % 256;
  831.   if (Pr4 < r)
  832.      {
  833.         for(int i = Pr4;i < r; i = i + step)
  834.            {
  835.             Led(14, i, Pg4, Pb4);
  836.             delay(wait);
  837.             Pr4 = r;
  838.            }
  839.      }      
  840.   else if (Pr4 > r)
  841.      {
  842.         for(int i = Pr4;i > r; i = i - step)
  843.            {
  844.             Led(4, i, Pg4, Pb4);
  845.             delay(wait);
  846.             Pr4 = r;
  847.            }
  848.      }  
  849.   if (Pg4 < g)
  850.      {
  851.         for(int i = Pg4;i < g; i = i + step)
  852.            {
  853.             Led(4, r, i, Pb4);
  854.             delay(wait);
  855.             Pg4 = g;
  856.            }
  857.      }      
  858.     else if (Pg4 > g)
  859.      {
  860.         for(int i = Pg4;i > g; i = i - step)
  861.            {
  862.             Led(4, r, i, Pb4);
  863.             delay(wait);
  864.             Pg4 = g;
  865.            }
  866.      }  
  867.  
  868.   if (Pb4 < b)
  869.      {
  870.         for(int i = Pb4;i < b; i = i + step)
  871.            {
  872.             Led(4, r, g, i);
  873.             delay(wait);
  874.             Pb4 = b;
  875.            }
  876.      }      
  877.   else if (Pb4 > b)
  878.      {
  879.         for(int i = Pb4;i > b; i = i - step)
  880.            {
  881.             Led(4, r, g, i);
  882.             delay(wait);
  883.             Pb4 = b;
  884.            }
  885.      }  
  886.  
  887.  
  888.  
  889. }
  890.  
  891. void Anim12(int wait, int rep, int step)
  892. {
  893. int Pr1,Pg1,Pb1,Pr2,Pg2,Pb2,Pr3,Pg3,Pb3,Pr4,Pg4,Pb4,r,g,b;
  894. for(int d = 1; d < rep; d++)
  895. {
  896.   r = rand() % 256;
  897.   g = rand() % 256;
  898.   b = rand() % 256;
  899.   if (Pr1 <= r)
  900.      {
  901.         for(int i = Pr1;i < r; i = i + step)
  902.            {
  903.             Led(1, i, Pg1, Pb1);
  904.             Led(2, i, Pg1, Pb1);
  905.             Led(3, i, Pg1, Pb1);
  906.             Led(4, i, Pg1, Pb1);
  907.             delay(wait);
  908.             Pr1 = r;
  909.            }
  910.      }      
  911.   else if (Pr1 > r)
  912.      {
  913.         for(int i = Pr1;i > r; i = i - step)
  914.            {
  915.             Led(1, i, Pg1, Pb1);
  916.             Led(2, i, Pg1, Pb1);
  917.             Led(3, i, Pg1, Pb1);
  918.             Led(4, i, Pg1, Pb1);
  919.             delay(wait);
  920.             Pr1 = r;
  921.            }
  922.      }  
  923.      delay(500);
  924.   if (Pg1 <= g)
  925.      {
  926.         for(int i = Pg1;i < g; i = i + step)
  927.            {
  928.             Led(1, r, i, Pb1);
  929.             Led(2, r, i, Pb1);
  930.             Led(3, r, i, Pb1);
  931.             Led(4, r, i, Pb1);
  932.             delay(wait);
  933.             Pg1 = g;
  934.            }
  935.      }      
  936.   else if (Pg1 > g)
  937.      {
  938.         for(int i = Pg1;i > g; i = i - step)
  939.            {
  940.             Led(1, r, i, Pb1);
  941.             Led(2, r, i, Pb1);
  942.             Led(3, r, i, Pb1);
  943.             Led(4, r, i, Pb1);
  944.             delay(wait);
  945.             Pg1 = g;
  946.            }
  947.      }  
  948.      delay(500);
  949.   if (Pb1 <= b)
  950.      {
  951.         for(int i = Pb1;i < b; i = i + step)
  952.            {
  953.             Led(1, r, g, i);
  954.             Led(2, r, g, i);
  955.             Led(3, r, g, i);
  956.             Led(4, r, g, i);
  957.             delay(wait);
  958.             Pb1 = b;
  959.            }
  960.      }      
  961.   else if (Pb1 > b)
  962.      {
  963.         for(int i = Pb1;i > b; i = i - step)
  964.            {
  965.             Led(1, r, g, i);
  966.             Led(2, r, g, i);
  967.             Led(3, r, g, i);
  968.             Led(4, r, g, i);
  969.             delay(wait);
  970.             Pb1 = b;
  971.            }
  972.      }  
  973.      delay(500);
  974. }
  975. }
  976.  
  977. void Led(int Number, int Red, int Green, int Blue)
  978. {
  979.   if(Number == 1)
  980.   {
  981.     analogWrite(pinR1, Red);
  982.     analogWrite(pinG1, Green);
  983.     analogWrite(pinB1, Blue);
  984.   }
  985.   if(Number == 2)
  986.   {
  987.     analogWrite(pinR2, Red);
  988.     analogWrite(pinG2, Green);
  989.     analogWrite(pinB2, Blue);
  990.   }
  991.     if(Number == 3)
  992.   {
  993.     analogWrite(pinR3, Red);
  994.     analogWrite(pinG3, Green);
  995.     analogWrite(pinB3, Blue);
  996.   }
  997.   if(Number == 4)
  998.   {
  999.     analogWrite(pinR4, Red);
  1000.     analogWrite(pinG4, Green);
  1001.     analogWrite(pinB4, Blue);
  1002.   }
  1003. }
  1004.  
  1005.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement