Guest User

Untitled

a guest
Jun 15th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.76 KB | None | 0 0
  1. #include <OSCMessage.h>
  2. #include <SLIPEncodedSerial.h>
  3. // these two includes are enough for our purpose
  4. // we don't have to import the whole OSC library
  5.  
  6. #include <FastLED.h>
  7. #define NUM_LEDS 100
  8. #define DATA_PIN 3
  9.  
  10.  
  11. #define BAUDRATE 115200
  12. //#define BAUDRATE 57600
  13.  
  14.  
  15. //sets up an array that can be manipulated to set/clear data.
  16. CRGB leds [NUM_LEDS];
  17.  
  18. SLIPEncodedSerial SLIPSerial(Serial);
  19.  
  20. int analogValue = 0;
  21. long oldTime = 0;
  22. long newTime = 0;
  23.  
  24. //tells the library that there is a strand of WS2812 leds on pin 3 and
  25. //that they will use the "leds" array and that there are 60 leds
  26.  
  27.  
  28. void setup()
  29. {
  30.   FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
  31.   pinMode(13, OUTPUT);
  32.   SLIPSerial.begin(BAUDRATE);
  33. }
  34.  
  35.  
  36. static int fad0; // led 0-14 brightness
  37. static int fad1; // led 15-29
  38. static int fad2; // led 30-44
  39. static int fad3; // led 45-59
  40.  
  41. static int fad4; // led 0-14 Hue
  42. static int fad5; // led 15-29 hue
  43. static int fad6; // led 30-44 hue
  44. static int fad7; // led 45-59 hue
  45.  
  46. static int fad8; // global value
  47.  
  48. // define methods????
  49.  
  50.  
  51.  
  52. // end methods
  53.  
  54. void loop()
  55. {
  56.   FastLED.clear();
  57.  
  58.  
  59.   // look for incoming OSC messages:
  60.  
  61.   // first check if bytes are available
  62.   while(SLIPSerial.available())
  63.   {
  64.     // create empty OSC Message
  65.     OSCMessage msg;
  66.     // fill OSC message with incoming bytes till you reach end of packet //
  67.     while(!SLIPSerial.endofPacket())
  68.     {
  69.       int size = SLIPSerial.available();
  70.       while (size--)
  71.       {
  72.         msg.fill(SLIPSerial.read());
  73.       }
  74.     }    
  75.  
  76.     ////test individual OSC receives      
  77.     if (msg.fullMatch("/fad0", 0)){
  78.       // then check if first item is an integer
  79.       if (msg.isInt(0)){
  80.         // use the integer argument for controlling the led 0
  81.         fad0 = (msg.getInt(0));
  82.       }
  83.       Serial.println (fad0);
  84.     }
  85.  
  86.     if (msg.fullMatch("/fad1", 0)){
  87.       // then check if first item is an integer
  88.       if (msg.isInt(0)){
  89.         // use the integer argument for controlling led 1
  90.         fad1 = (msg.getInt(0));
  91.       }
  92.       Serial.println (fad1);
  93.     }
  94.  
  95.     if (msg.fullMatch("/fad2", 0)){
  96.       // then check if first item is an integer
  97.       if (msg.isInt(0)){
  98.         // use the integer argument for controlling led 1
  99.         fad2 = (msg.getInt(0));
  100.       }
  101.       Serial.println (fad2);
  102.     }
  103.  
  104.     if (msg.fullMatch("/fad3", 0)){
  105.       // then check if first item is an integer
  106.       if (msg.isInt(0)){
  107.         // use the integer argument for controlling led 1
  108.         fad3 = (msg.getInt(0));
  109.       }
  110.       Serial.println (fad3);
  111.     }
  112.  
  113.  
  114.     if (msg.fullMatch("/fad4", 0)){
  115.       // then check if first item is an integer
  116.       if (msg.isInt(0)){
  117.         // use the integer argument for controlling led 1
  118.         fad4 = (msg.getInt(0));
  119.       }
  120.       Serial.println (fad4);
  121.     }
  122.  
  123.     if (msg.fullMatch("/fad5", 0)){
  124.       // then check if first item is an integer
  125.       if (msg.isInt(0)){
  126.         // use the integer argument for controlling led 1
  127.         fad5 = (msg.getInt(0));
  128.       }
  129.       Serial.println (fad5);
  130.     }
  131.  
  132.  
  133.     if (msg.fullMatch("/fad6", 0)){
  134.       // then check if first item is an integer
  135.       if (msg.isInt(0)){
  136.         // use the integer argument for controlling led 1
  137.         fad6 = (msg.getInt(0));
  138.       }
  139.       Serial.println (fad6);
  140.     }
  141.  
  142.     if (msg.fullMatch("/fad7", 0)){
  143.       // then check if first item is an integer
  144.       if (msg.isInt(0)){
  145.         // use the integer argument for controlling led 1
  146.         fad7 = (msg.getInt(0));
  147.       }
  148.       Serial.println (fad7);
  149.     }
  150.  
  151.     if (msg.fullMatch("/fad8", 0)){
  152.       // then check if first item is an integer
  153.       if (msg.isInt(0)){
  154.         // use the integer argument for controlling led 1
  155.         fad8 = (msg.getInt(0));
  156.       }
  157.       Serial.println (fad8);
  158.     }
  159.  
  160.  
  161.     //////////  testing single LED on/off::
  162.     {
  163.       if (fad2 >= 1){
  164.         leds[0] = CHSV( fad1, fad0, fad2);
  165.         leds[2] = CHSV( fad1, fad0, fad2);
  166.         leds[4] = CHSV( fad1, fad0, fad2);
  167.         leds[6] = CHSV( fad1, fad0, fad2);
  168.         leds[8] = CHSV( fad1, fad0, fad2);
  169.         leds[10] = CHSV( fad1, fad0, fad2);
  170.         leds[12] = CHSV( fad1, fad0, fad2);
  171.         leds[14] = CHSV( fad1, fad0, fad2);
  172.         leds[16] = CHSV( fad1, fad0, fad2);
  173.         leds[18] = CHSV( fad1, fad0, fad2);
  174.         leds[20] = CHSV( fad1, fad0, fad2);
  175.         leds[22] = CHSV( fad1, fad0, fad2);
  176.         leds[24] = CHSV( fad1, fad0, fad2);
  177.         leds[26] = CHSV( fad1, fad0, fad2);
  178.         leds[28] = CHSV( fad1, fad0, fad2);
  179.       }
  180.  
  181.  
  182.     }
  183.  
  184.     {
  185.       if (fad4 >= 1){
  186.         leds[1] = CHSV( fad3, fad0, fad4);
  187.         leds[3] = CHSV( fad3, fad0, fad4);
  188.         leds[5] = CHSV( fad3, fad0, fad4);
  189.         leds[7] = CHSV( fad3, fad0, fad4);
  190.         leds[9] = CHSV( fad3, fad0, fad4);  
  191.         leds[11] = CHSV( fad3, fad0, fad4);
  192.         leds[13] = CHSV( fad3, fad0, fad4);
  193.         leds[15] = CHSV( fad3, fad0, fad4);
  194.         leds[17] = CHSV( fad3, fad0, fad4);
  195.         leds[19] = CHSV( fad3, fad0, fad4);
  196.         leds[21] = CHSV( fad3, fad0, fad4);
  197.         leds[23] = CHSV( fad3, fad0, fad4);
  198.         leds[25] = CHSV( fad3, fad0, fad4);
  199.         leds[27] = CHSV( fad3, fad0, fad4);
  200.         leds[29] = CHSV( fad3, fad0, fad4);
  201.       }
  202.  
  203.     }
  204.  
  205.     {
  206.       if (fad6 >= 1){
  207.         leds[30] = CHSV( fad5, fad0, fad6);
  208.         leds[32] = CHSV( fad5, fad0, fad6);
  209.         leds[34] = CHSV( fad5, fad0, fad6);
  210.         leds[36] = CHSV( fad5, fad0, fad6);
  211.         leds[38] = CHSV( fad5, fad0, fad6);
  212.         leds[40] = CHSV( fad5, fad0, fad6);
  213.         leds[42] = CHSV( fad5, fad0, fad6);
  214.         leds[44] = CHSV( fad5, fad0, fad6);
  215.         leds[46] = CHSV( fad5, fad0, fad6);
  216.         leds[48] = CHSV( fad5, fad0, fad6);
  217.         leds[50] = CHSV( fad5, fad0, fad6);
  218.         leds[52] = CHSV( fad5, fad0, fad6);
  219.         leds[54] = CHSV( fad5, fad0, fad6);
  220.         leds[56] = CHSV( fad5, fad0, fad6);
  221.         leds[58] = CHSV( fad5, fad0, fad6);
  222.       }
  223.     }
  224.     {
  225.       if (fad8 >= 1){
  226.         leds[31] = CHSV( fad7, fad0, fad8);
  227.         leds[33] = CHSV( fad7, fad0, fad8);
  228.         leds[35] = CHSV( fad7, fad0, fad8);
  229.         leds[37] = CHSV( fad7, fad0, fad8);  
  230.         leds[39] = CHSV( fad7, fad0, fad8);
  231.         leds[41] = CHSV( fad7, fad0, fad8);
  232.         leds[43] = CHSV( fad7, fad0, fad8);
  233.         leds[45] = CHSV( fad7, fad0, fad8);
  234.         leds[47] = CHSV( fad7, fad0, fad8);  
  235.         leds[49] = CHSV( fad7, fad0, fad8);
  236.         leds[51] = CHSV( fad7, fad0, fad8);
  237.         leds[53] = CHSV( fad7, fad0, fad8);
  238.         leds[55] = CHSV( fad7, fad0, fad8);
  239.         leds[57] = CHSV( fad7, fad0, fad8);  
  240.         leds[59] = CHSV( fad7, fad0, fad8);
  241.       }
  242.  
  243.     }
  244.     //////////
  245.     FastLED.show();
  246.   }
  247. delay(3);
  248. }
Add Comment
Please, Sign In to add comment