Skip to content

Instantly share code, notes, and snippets.

@sarasantos
Last active October 8, 2021 13:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sarasantos/587f08dfef312a428df4f89bc5555c64 to your computer and use it in GitHub Desktop.
Save sarasantos/587f08dfef312a428df4f89bc5555c64 to your computer and use it in GitHub Desktop.
[{"id":"2da2d420.dab6fc","type":"ui_colour_picker","z":"b01416d3.f69f38","name":"Color Picker","label":"COLOR PICKER","group":"efe0aae2.3d2c58","format":"rgb","outformat":"string","showSwatch":true,"showPicker":true,"showValue":true,"showHue":false,"showAlpha":false,"showLightness":true,"square":"false","order":1,"width":0,"height":0,"passthru":true,"topic":"","x":950,"y":620,"wires":[["22b0c5bb.85948a"]]},{"id":"22b0c5bb.85948a","type":"function","z":"b01416d3.f69f38","name":"Set Color","func":"var count = global.get('count')||0;\nmsg.payload = msg.payload.replace(/[rgb()\\s]/g,\"\");\nif(count===0){\n msg.payload = msg.payload;\n}\nelse{\n msg.payload = (count-1) + \",\" + msg.payload;\n}\n\nreturn msg;","outputs":1,"noerr":0,"x":1120,"y":620,"wires":[["2fe859b7.6c1f86"]]},{"id":"1ae6c62c.ceb99a","type":"ui_numeric","z":"b01416d3.f69f38","name":"Select LED","label":"LED SELECTED","tooltip":"","group":"efe0aae2.3d2c58","order":3,"width":0,"height":0,"wrap":false,"passthru":true,"topic":"","format":"{{value}}","min":0,"max":"14","step":1,"x":954,"y":563,"wires":[["552b5adb.a55f64","acad20c3.0405b"]]},{"id":"552b5adb.a55f64","type":"function","z":"b01416d3.f69f38","name":"Selected LED","func":"// initialise the counter to 0 if it doesn't exist already\nvar count = global.get('count')||0;\n\n// store the value back\nglobal.set('count',msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"x":1204,"y":523,"wires":[[]]},{"id":"98de45ae.8f1f08","type":"ui_button","z":"b01416d3.f69f38","name":"Clear","group":"efe0aae2.3d2c58","order":7,"width":0,"height":0,"passthru":false,"label":"CLEAR","color":"","bgcolor":"","icon":"","payload":"0,0,0","payloadType":"str","topic":"","x":931,"y":735,"wires":[["2fe859b7.6c1f86"]]},{"id":"acad20c3.0405b","type":"ui_slider","z":"b01416d3.f69f38","name":"Select LED","label":"SELECT LED","tooltip":"","group":"efe0aae2.3d2c58","order":2,"width":0,"height":0,"passthru":true,"outs":"all","topic":"","min":0,"max":"14","step":1,"x":954,"y":483,"wires":[["552b5adb.a55f64","1ae6c62c.ceb99a"]]},{"id":"a40c2321.5aac9","type":"ui_dropdown","z":"b01416d3.f69f38","name":"Select Strip Color","label":"SELECT STRIP COLOR","tooltip":"","place":"SELECT STRIP COLOR","group":"efe0aae2.3d2c58","order":4,"width":0,"height":0,"passthru":true,"options":[{"label":"RED","value":"255,0,0","type":"str"},{"label":"GREEN","value":"0,255,0","type":"str"},{"label":"BLUE","value":"0,0,255","type":"str"},{"label":"WHITE","value":"255,255,255","type":"str"},{"label":"PURPLE","value":"255,0,255","type":"str"},{"label":"CYAN","value":"0,255,255","type":"str"},{"label":"YELLOW","value":"255,255,0","type":"str"}],"payload":"","topic":"","x":967,"y":676,"wires":[["2fe859b7.6c1f86"]]},{"id":"149da039.64b1a","type":"function","z":"b01416d3.f69f38","name":"Rainbow Effect","func":"var myRainbowEffect = flow.get(\"rainbowEffect\");\n\nif (msg.payload == \"start\" & myRainbowEffect){\n var numberOfLEDs = 14;\n\n for(i=0; i<255; i++){\n \n for(j=0; j<numberOfLEDs; j++){\n \n var pos = 0;\n pos = Math.round(((j*255/numberOfLEDs)+i))&255;\n \n if(pos<85){\n var red = pos*3;\n var green = 255-pos*3;\n var blue = 0;\n }\n else if(pos < 170){\n pos -= 85;\n var red = 255 - pos*3;\n var green = 0;\n var blue = pos*3;\n }\n else{\n pos -= 170;\n var red = 0;\n var green = pos*3;\n var blue = 255-pos*3;\n }\n var setColor = j+','+ red +','+ green +','+ blue;\n node.send({payload:setColor});\n }\n }\n return msg;\n}","outputs":1,"noerr":0,"x":1220,"y":760,"wires":[["ba1521c0.bd44e"]]},{"id":"4eb301fc.f7025","type":"ui_button","z":"b01416d3.f69f38","name":"Start Rainbow Effect","group":"efe0aae2.3d2c58","order":5,"width":0,"height":0,"passthru":false,"label":"START RAINBOW EFFECT","tooltip":"","color":"","bgcolor":"","icon":"","payload":"start","payloadType":"str","topic":"","x":980,"y":820,"wires":[["c890b55a.f58a88","149da039.64b1a"]]},{"id":"ba1521c0.bd44e","type":"delay","z":"b01416d3.f69f38","name":"","pauseType":"rate","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"0.001","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1410,"y":760,"wires":[["2fe859b7.6c1f86","149da039.64b1a"]]},{"id":"2fe859b7.6c1f86","type":"rpi-neopixels","z":"b01416d3.f69f38","name":"WS2812B LED STRIP","pixels":"14","bgnd":"","fgnd":"","wipe":"60","mode":"pixels","rgb":"rgb","brightness":"100","gamma":true,"x":1600,"y":700,"wires":[]},{"id":"711e48f.0efc9b8","type":"ui_button","z":"b01416d3.f69f38","name":"Stop Rainbow Effect","group":"efe0aae2.3d2c58","order":6,"width":0,"height":0,"passthru":false,"label":"STOP RAINBOW EFFECT","tooltip":"","color":"","bgcolor":"","icon":"","payload":"stop","payloadType":"str","topic":"","x":980,"y":880,"wires":[["c890b55a.f58a88"]]},{"id":"c890b55a.f58a88","type":"function","z":"b01416d3.f69f38","name":"","func":"if(msg.payload==\"start\") {\n flow.set(\"rainbowEffect\", true);\n}\n\nelse if (msg.payload==\"stop\") {\n flow.set(\"rainbowEffect\", false);\n}","outputs":1,"noerr":0,"x":1170,"y":840,"wires":[[]]},{"id":"efe0aae2.3d2c58","type":"ui_group","z":"","name":"WS2812B LED STRIP","tab":"d2464ccd.f4dd9","order":1,"disp":true,"width":"6"},{"id":"d2464ccd.f4dd9","type":"ui_tab","z":"","name":"Lab","icon":"dashboard","order":1}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment