Guest User

Untitled

a guest
Jun 19th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. #define red 9 // Red pin number (PWM)
  2. #define blue 10 // Green pin number (PWM)
  3. #define green 11 // Blue pin number (PWM)
  4.  
  5. const int fadeAmount = 7; // Indicates how fast fading should happen.
  6.  
  7. void setup()
  8. {
  9. pinMode(red, OUTPUT);
  10. pinMode(green, OUTPUT);
  11. pinMode(blue, OUTPUT);
  12. }
  13.  
  14. void loop()
  15. {
  16. // Here is some sample code using the fade function.
  17. rgb(0,0,0);
  18. delay(1000);
  19. fade(0, 0, 0, 255, 215, 5);
  20. rgb(255, 215, 0);
  21. delay(2000);
  22. fade(255, 215, 0, 255, 0, 90);
  23. delay(2000);
  24. fade(255, 0, 90, 0, 20, 0);
  25. delay(2000);
  26. fade( 0, 20, 0, 200, 50, 50);
  27. delay(2000);
  28. fade(200, 50, 50 ,50, 70, 50);
  29. delay(2000);
  30. fade(50, 70, 50, 0, 90, 0);
  31. delay(2000);
  32. fade(0, 90, 0, 0, 255, 0);
  33. delay(2000);
  34. fade(0, 255, 0, 255, 0, 0);
  35. delay(2000);
  36. fade(255, 0, 0, 0, 0, 255);
  37. delay(2000);
  38. fade(0, 0, 255, 99, 100, 105);
  39. }
  40.  
  41. int rgb (int redC, int greenC, int blueC) {
  42. analogWrite(red, redC);
  43. analogWrite(green, greenC);
  44. analogWrite(blue, blueC);
  45. }
  46.  
  47. int fade(int fromR, int fromG, int fromB, int toR, int toG, int toB)
  48. {
  49.  
  50. rgb(fromR, fromG, fromB);
  51. bool incrementR = (fromR <= toR);
  52. bool incrementG = (fromG <= toG);
  53. bool incrementB = (fromB <= toB);
  54.  
  55. if(incrementR) {
  56. while(fromR < toR) {
  57. analogWrite(red ,fromR);
  58. fromR += (fadeAmount);
  59. delay(30);
  60.  
  61. }
  62. }
  63. else{
  64. while(fromR > toR) {
  65. analogWrite(red ,fromR);
  66. fromR -= (fadeAmount);
  67. delay(30);
  68. }
  69. }
  70.  
  71. if(incrementG) {
  72. while(fromG < toG) {
  73. analogWrite(green ,fromG);
  74. fromG += (fadeAmount);
  75. delay(30);
  76.  
  77. }
  78. }
  79. else{
  80. while(fromG > toG) {
  81. analogWrite(green ,fromG);
  82. fromG -= (fadeAmount);
  83. delay(30);
  84. }
  85. }
  86.  
  87.  
  88. if(incrementB) {
  89. while(fromB < toB) {
  90. analogWrite(blue ,fromB);
  91. fromB += (fadeAmount);
  92. delay(30);
  93.  
  94. }
  95. }
  96. else{
  97. while(fromB > toB) {
  98. analogWrite(blue ,fromB);
  99. fromB -= (fadeAmount);
  100. delay(30);
  101. }
  102. }
  103.  
  104. }
Add Comment
Please, Sign In to add comment