-
-
/*var sensor = require("HC-SR04").connect(C6,C7,function(dist) { console.log(dist+" cm away"); }); setInterval(function() { sensor.trigger(); // send pulse }, 500); */ LCD.clear(); SPI2.setup({baud:3200000, mosi:B15}); var rgb = new Uint8Array(50*3); // var xi = 320 / rgb.length, xd = xi - 1; // var pos=0; function lightsOff() { clearInterval(cycle); pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = 0; } SPI2.send4bit(rgb, 0b0001, 0b0011); } var patterns = []; //patterns.push(lightsOff); patterns.push(function() { // Fading white lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = col; rgb[i+1] = col; rgb[i+2] = col; } }); patterns.push(function() { // Fading Red lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Fading Green lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Fading Blue lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Low red light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 85; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Medium red light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 170; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Full red light 2 pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // low blue light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 85; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Med blue light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 170; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Full blue light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // low Green light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 85; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Med Green light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 170; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Full Green light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Fading colours pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = (1 + Math.sin((i+pos)*0.1324)) * 127; rgb[i+1] = (1 + Math.sin((i+pos)*0.1654)) * 127; rgb[i+2] = (1 + Math.sin((i+pos)*0.1)) * 127; } }); patterns.push(function() { // Random White lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = Math.random()*255; rgb[i+1] = Math.random()*255; rgb[i+2] = Math.random()*255; } }); patterns.push(function() { // Random Red lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = Math.random()*255; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Random Green lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = Math.random()*255; rgb[i+2] = 0; } }); patterns.push(function() { // Random Blue lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = Math.random()*255; } }); var getPattern = patterns[0]; function doLights() { //getPattern(); getPattern(); var x = 0; x = i * xi; LCD.fillRect(Math.floor(x),0,Math.floor(x+xd),240); // for (var i=0;i<rgb.length;i+=3) { LCD.setColor(rgb[i+0]/256,rgb[i+1]/256,rgb[i+2]/256); LCD.fillRect(i,0,i+2,240); SPI2.send4bit(rgb, 0b0001, 0b0011); } var patternNumber = 0; function changePattern() { patternNumber = (patternNumber+1) % patterns.length; getPattern = patterns[patternNumber]; } setWatch(changePattern, BTN, { repeat: true, edge:'rising', debounce: 50 }); cycle = setInterval(doLights,50);
The second shows the same thing without the white thing in the corner. Yes you have the correct dimensions and i believe 0,0 is top left corner!
-
/*var sensor = require("HC-SR04").connect(C6,C7,function(dist) { console.log(dist+" cm away"); }); setInterval(function() { sensor.trigger(); // send pulse }, 500); */ LCD.clear(); SPI2.setup({baud:3200000, mosi:B15}); var rgb = new Uint8Array(50*3); // var xi = 6, xd = xi - 1; // var pos=0; function lightsOff() { clearInterval(cycle); pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = 0; } SPI2.send4bit(rgb, 0b0001, 0b0011); } var patterns = []; //patterns.push(lightsOff); patterns.push(function() { // Fading white lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = col; rgb[i+1] = col; rgb[i+2] = col; } }); patterns.push(function() { // Fading Red lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Fading Green lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Fading Blue lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Low red light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 85; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Medium red light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 170; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Full red light 2 pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // low blue light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 85; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Med blue light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 170; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Full blue light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // low Green light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 85; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Med Green light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 170; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Full Green light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Fading colours pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = (1 + Math.sin((i+pos)*0.1324)) * 127; rgb[i+1] = (1 + Math.sin((i+pos)*0.1654)) * 127; rgb[i+2] = (1 + Math.sin((i+pos)*0.1)) * 127; } }); patterns.push(function() { // Random White lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = Math.random()*255; rgb[i+1] = Math.random()*255; rgb[i+2] = Math.random()*255; } }); patterns.push(function() { // Random Red lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = Math.random()*255; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Random Green lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = Math.random()*255; rgb[i+2] = 0; } }); patterns.push(function() { // Random Blue lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = Math.random()*255; } }); var getPattern = patterns[0]; function doLights() { //getPattern(); // var xi = 6, xd = xi - 1; LCD.fillRect(x,0,x+xd,240); x += xi; // for (var i=0;i<rgb.length;i+=3) { LCD.setColor(rgb[i+0]/256,rgb[i+1]/256,rgb[i+2]/256); LCD.fillRect(i,0,i+2,240); } SPI2.send4bit(rgb, 0b0001, 0b0011); } var patternNumber = 0; function changePattern() { patternNumber = (patternNumber+1) % patterns.length; getPattern = patterns[patternNumber]; } setWatch(changePattern, BTN, { repeat: true, edge:'rising', debounce: 50 }); cycle = setInterval(doLights,50);
The first set of changes showed nothing on the screen.
-
This is what this code is doing, it isn't with the modifications you have showed me, i will send that later on. I want these bars wider but i want to make it cover the full screen. I can change the var rgb = new Uint8Array(50*3); 3 to 9 and it make full screen but i dont know if that will change my leds.
-
/*var sensor = require("HC-SR04").connect(C6,C7,function(dist) { console.log(dist+" cm away"); }); setInterval(function() { sensor.trigger(); // send pulse }, 500); */ LCD.clear(); SPI2.setup({baud:3200000, mosi:B15}); var rgb = new Uint8Array(50*3); var pos=0; function lightsOff() { clearInterval(cycle); pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = 0; } SPI2.send4bit(rgb, 0b0001, 0b0011); } var patterns = []; //patterns.push(lightsOff); patterns.push(function() { // Fading white lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = col; rgb[i+1] = col; rgb[i+2] = col; } }); patterns.push(function() { // Fading Red lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Fading Green lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Fading Blue lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Low red light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 85; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Medium red light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 170; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Full red light 2 pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // low blue light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 85; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Med blue light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 170; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Full blue light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // low Green light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 85; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Med Green light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 170; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Full Green light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Fading colours pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = (1 + Math.sin((i+pos)*0.1324)) * 127; rgb[i+1] = (1 + Math.sin((i+pos)*0.1654)) * 127; rgb[i+2] = (1 + Math.sin((i+pos)*0.1)) * 127; } }); patterns.push(function() { // Random White lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = Math.random()*255; rgb[i+1] = Math.random()*255; rgb[i+2] = Math.random()*255; } }); patterns.push(function() { // Random Red lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = Math.random()*255; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Random Green lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = Math.random()*255; rgb[i+2] = 0; } }); patterns.push(function() { // Random Blue lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = Math.random()*255; } }); var getPattern = patterns[0]; function doLights() { getPattern(); for (var i=0;i<rgb.length;i+=3) { LCD.setColor(rgb[i+0]/256,rgb[i+1]/256,rgb[i+2]/256); LCD.fillRect(i,0,i+2,240); } SPI2.send4bit(rgb, 0b0001, 0b0011); } var patternNumber = 0; function changePattern() { patternNumber = (patternNumber+1) % patterns.length; getPattern = patterns[patternNumber]; } setWatch(changePattern, BTN, { repeat: true, edge:'rising', debounce: 50 }); cycle = setInterval(doLights,50);
-
-
-
-
-
-
-
-
-
-
-
-
-
/*var sensor = require("HC-SR04").connect(C6,C7,function(dist) { console.log(dist+" cm away"); }); setInterval(function() { sensor.trigger(); // send pulse }, 500); */ SPI2.setup({baud:3200000, mosi:B15}); var rgb = new Uint8Array(50*3); var pos=0; function lightsOff() { clearInterval(cycle); pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = 0; } SPI2.send4bit(rgb, 0b0001, 0b0011); } var patterns = []; //patterns.push(lightsOff); patterns.push(function() { // Fading white lights LCD.clear(); pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = col; rgb[i+1] = col; rgb[i+2] = col; } }); patterns.push(function() { // Red Light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; } }); patterns.push(function() { // Green Light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Blue Light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; } }); patterns.push(function() { // Yellow light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = col; rgb[i+1] = col; rgb[i+2] = 0; } }); patterns.push(function() { // Cyan light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = col; } }); patterns.push(function() { // Fading colours pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = (1 + Math.sin((i+pos)*0.1324))*127; rgb[i+1] = (1 + Math.sin((i+pos)*0.1654))*127; rgb[i+2] = (1 + Math.sin((i+pos)*0.1)) * 127; } }); patterns.push(function() { // Random blue lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = Math.random()*255; } }); var getPattern = patterns[0]; function changePattern() { patternNumber = (patternNumber+1) % patterns.length; getPattern = patterns[patternNumber]; SPI2.send4bit(rgb, 0b0001, 0b0011); } var patternNumber = 0; function changePattern() { patternNumber = (patternNumber+1) % patterns.length; getPattern = patterns[patternNumber]; } setWatch(changePattern, BTN, { repeat: true, edge:'rising', debounce: 50 }); //cycle = setInterval(doLights,50); // this below was ^ function doLights() { getPattern(); for (var i=0;i<rgb.length;i+=3) { LCD.setColor(rgb[i+0]/256,rgb[i+1]/256,rgb[i+2]/256); LCD.fillRect(i,0,i+2,10); } SPI2.send4bit(rgb, 0b0001, 0b0011); }
-
-
-
-
in function called from system Uncaught Error: Function "getPattern" not found! at line 129 col 1 getPattern(); ^ in function called from system Unknown LCD code 35208 35209 | |_ ___ ___ _ ||___ ___ | |_ -| . | _| | | | | . | ||| || |_|||_|_| |_| http://espruino.com 1v84 Copyright 2015 G.Williams I keep getting this error, the first part will send 100+ times. and the actual program is this, any ideas? /*var sensor = require("HC-SR04").connect(C6,C7,function(dist) { console.log(dist+" cm away"); }); setInterval(function() { sensor.trigger(); // send pulse }, 500); */ SPI2.setup({baud:3200000, mosi:B15}); var rgb = new Uint8Array(50*3); var pos=0; function lightsOff() { clearInterval(cycle); pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = 0; } SPI2.send4bit(rgb, 0b0001, 0b0011); } var patterns = []; //patterns.push(lightsOff); patterns.push(function() { // Fading white lights pos++; for (var i=0;i<rgb.length;i+=3) { var col = (Math.sin(i+pos*0.2)+1) * 127; rgb[i ] = col; rgb[i+1] = col; rgb[i+2] = col; LCD.drawRect(0,0,320,240); LCD.fillRect(0,0,320,240); LCD.setColor(255,255,255); } }); patterns.push(function() { // Red Light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = col; rgb[i+1] = 0; rgb[i+2] = 0; LCD.drawRect(0,0,320,240); LCD.fillRect(0,0,320,240); LCD.setColor(255,0,0); } }); patterns.push(function() { // Green Light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = 0; LCD.drawRect(0,0,320,240); LCD.fillRect(0,0,320,240); LCD.setColor(0,255,0); } }); patterns.push(function() { // Blue Light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = col; LCD.drawRect(0,0,320,240); LCD.fillRect(0,0,320,240); LCD.setColor(0,0,255); } }); patterns.push(function() { // Yellow light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = col; rgb[i+1] = col; rgb[i+2] = 0; LCD.drawRect(0,0,320,240); LCD.fillRect(0,0,320,240); LCD.setColor(255,255,0); } }); patterns.push(function() { // Cyan light pos++; for (var i=0;i<rgb.length;i+=3) { var col = 255; rgb[i ] = 0; rgb[i+1] = col; rgb[i+2] = col; LCD.drawRect(0,0,320,240); LCD.fillRect(0,0,320,240); LCD.setColor(0,255,255); } }); patterns.push(function() { // Fading colours pos++; for (var i=0;i<rgb.length;i+=3) { rgb[i ] = (1 + Math.sin((i+pos)*0.1324))*127; rgb[i+1] = (1 + Math.sin((i+pos)*0.1654))*127; rgb[i+2] = (1 + Math.sin((i+pos)*0.1)) * 127; } }); patterns.push(function() { // Random blue lights for (var i=0;i<rgb.length;i+=3) { rgb[i ] = 0; rgb[i+1] = 0; rgb[i+2] = Math.random()*255; } }); var getPattern = patterns[0]; function doLights() { getPattern(); SPI2.send4bit(rgb, 0b0001, 0b0011); } var patternNumber = 0; function changePattern() { patternNumber = (patternNumber+1); //% patterns.length; getPattern = patterns[patternNumber]; } setWatch(changePattern, BTN, { repeat: true, edge:'rising' }); //falling cycle = setInterval(doLights,50);
-
-
http://www.espruino.com/Project+2 this is project 2. I want a box or maybe multiple that shows different sections of the led strip and that color stage that it is. Does that clarify better for you?
If you could just copy the code and change them yourself it might be easier than explaining! Thank you