Guest User

Untitled

a guest
Nov 22nd, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. //#include <ESP8266WiFi.h>
  2. #include <Adafruit_NeoPixel.h>
  3.  
  4. #define NUMCOLS 20
  5. #define NUMROWS 5
  6. #define NUMCOLORS 6
  7.  
  8. //const char* ssid = "foobar";
  9. //const char* password = "ApplesAreGoodForYou";
  10. //const char* host = "wifitest.adafruit.com";
  11.  
  12. Adafruit_NeoPixel rows[5];
  13.  
  14. int frame = 0;
  15. int colors[4];
  16. int time=0;
  17. int last_frame=0;
  18. int frame_interval=50;
  19.  
  20. void setup() {
  21. //setupSerial.begin(115200);
  22. //rows[0] = Adafruit_NeoPixel(NUMCOLS, 5, NEO_GRB + NEO_KHZ800);
  23. //rows[1] = Adafruit_NeoPixel(NUMCOLS, 2, NEO_GRBW + NEO_KHZ800);
  24. rows[0] = Adafruit_NeoPixel(NUMCOLS, 5, NEO_GRBW + NEO_KHZ800);
  25. rows[1] = Adafruit_NeoPixel(NUMCOLS, 2, NEO_GRBW + NEO_KHZ800);
  26. rows[2] = Adafruit_NeoPixel(NUMCOLS, 0, NEO_GRBW + NEO_KHZ800);
  27. rows[3] = Adafruit_NeoPixel(NUMCOLS, 13, NEO_GRBW + NEO_KHZ800);
  28. rows[4] = Adafruit_NeoPixel(NUMCOLS, 12, NEO_GRBW + NEO_KHZ800);
  29.  
  30. delay(100);
  31. for(int y=0;y<NUMROWS;y++) {
  32. rows[y].begin();
  33. }
  34.  
  35.  
  36. colors[0] = rows[0].Color(200,0,0);
  37. colors[1] = rows[0].Color(100,100,0);
  38. colors[2] = rows[0].Color(0,200,0);
  39. colors[3] = rows[0].Color(0,100,100);
  40. colors[4] = rows[0].Color(0,0,200);
  41. colors[5] = rows[0].Color(100,0,100);
  42.  
  43. digitalWrite(14, HIGH);
  44. }
  45.  
  46. void white_swell(int frame) {
  47. for(int y=0;y<NUMROWS;y++) {
  48. for(int x=0;x<NUMCOLS;x++) {
  49. rows[y].setPixelColor(x, rows[0].Color(0,4*(frame % 62),0,0));
  50. }
  51. rows[y].show();
  52. }
  53. }
  54.  
  55. void color_walk(int frame) {
  56. int position = frame % NUMCOLS;
  57. int color_id = ( frame / NUMCOLS ) % NUMCOLORS;//frame % NUMCOLORS;
  58.  
  59. for(int y=0;y<NUMROWS;y++) {
  60. for(int x=0;x<NUMCOLS;x++) {
  61. if(position == x) rows[y].setPixelColor(x, colors[color_id]);
  62. else rows[y].setPixelColor(x, rows[0].Color(0,0,0));
  63. }
  64. rows[y].show();
  65. }
  66. }
  67.  
  68. void color_sweep(int frame) {
  69. int new_color_id = (frame/NUMCOLS) % NUMCOLORS;
  70. int old_color_id = (new_color_id+NUMCOLORS-1) % NUMCOLORS;
  71. int cur_position = frame % NUMCOLS;
  72.  
  73. for(int y=0;y<NUMROWS;y++) {
  74. for(int x=0;x<NUMCOLS;x++) {
  75. if(cur_position < x) rows[y].setPixelColor(x, colors[old_color_id]);
  76. else rows[y].setPixelColor(x, colors[new_color_id]);
  77. }
  78. rows[y].show();
  79. }
  80. }
  81.  
  82. void dot_runner(int frame) {
  83. Serial.print("HI");
  84. int steps = 10;
  85. int total_steps = steps * NUMCOLS;
  86.  
  87. int animation_frame = frame % total_steps;
  88. int col_position = animation_frame/steps % 8;
  89. float aa = (animation_frame - col_position*steps) / steps;
  90. Serial.print(aa);
  91.  
  92. for(int y=0;y<NUMROWS;y++) {
  93. for(int x=0;x<NUMCOLS;x++) {
  94. if(col_position == x) rows[y].setPixelColor(x, 200 * aa, 0, 0,0);
  95. else rows[y].setPixelColor(x, 0,0,20,0);
  96. }
  97. rows[y].show();
  98. }
  99. }
  100.  
  101. void loop() {
  102. if(last_frame + frame_interval < time) {
  103. color_sweep(frame);
  104. frame++;
  105. last_frame = time;
  106. }
  107.  
  108. time = millis();
  109. }
Add Comment
Please, Sign In to add comment