Possibly the bearing grease being stiff, until it warm up, or a new capacitor is needed (cheap as and easy to change over).
@chadthedrummer710 ай бұрын
1:13 i think you shat yourself! 😂 💨
@matechsolutions639210 ай бұрын
This is awesome; we subscribed!
@Backyardwoodworks201410 ай бұрын
Thanks for the sub!
@Backyardwoodworks2014 Жыл бұрын
I posted this here to share with Dell for an email they sent to me asking for a review.
@DonaldMelton3 жыл бұрын
what is the width of strip your cutting ? is it a 1" x 1" 60 degree cut ?
@Backyardwoodworks20143 жыл бұрын
I believe it was 7/8" - the plans came from www.thewinfieldcollection.com
@DonaldMelton3 жыл бұрын
@@Backyardwoodworks2014 thanks so very much for that info
@lmjhalloween3 жыл бұрын
How do you do this so easily?? It’s such a pain for me!
@Backyardwoodworks20143 жыл бұрын
Fellow Lighter who I work with made the jig, but to answer your question I use a leather glove with the thumb wrapped with layers& layers of duct tape. This short video was from before I had 1,000's to do LOL
@lmjhalloween3 жыл бұрын
@@Backyardwoodworks2014 wow lol, do you know if the pixel pliers from holiday Coro are any good?
@jwilloughby11713 жыл бұрын
Just wondering where you get your tomato boxes? And are they stackable?
@Backyardwoodworks20143 жыл бұрын
Yes they stack quite well - most cardboard is from uline.com
@madhubalur59823 жыл бұрын
Where can I get this machine..?
@IaMaWeSoMe74783 жыл бұрын
Me: Searches for better hardware for my clean server setup. KZbin: How about this? Me: HOLY MOTHER OF EARTH!
@Backyardwoodworks20143 жыл бұрын
LOL
@rlawz4 жыл бұрын
So cool!
@Backyardwoodworks20143 жыл бұрын
It was fun - though I haven't done many more recently.
@lyric.kayden4 жыл бұрын
Question for ya. When you power off the band saw and it’s winding down does the top of the saw shake or vibrate a little?
@Backyardwoodworks20143 жыл бұрын
No - it is solid. My biggest problem with the bandsaw is that the fence will not lock in place. Grizzly says its not a warranty part so I just clamp the fence in place with a pipeclamp
@hd2kill4 жыл бұрын
Cool
@CanadianGoldenEagles5 жыл бұрын
Great design and idea. What are the holders you're using to 'grasp' the wood trims please? I've been having issues locating anything similar.
@Backyardwoodworks20144 жыл бұрын
They are called dog bench clamps amzn.to/2PpzEZm
@dalef94415 жыл бұрын
Fantastic video. Embedded maps...better!
@Backyardwoodworks20144 жыл бұрын
Thank you.
@dalef94416 жыл бұрын
Fantastic work. I’m going to add a link to my blog. Dale Fitzgerald
@Backyardwoodworks20144 жыл бұрын
thank you!
@kcwoolsey13966 жыл бұрын
the only thing that would have made it better is if it had been my team - great idea!!!!
@Backyardwoodworks20144 жыл бұрын
Thank you
@jon2wr16 жыл бұрын
Thanks. Was thinking I needed electric or other expensive tools.
@garzonlaperle94036 жыл бұрын
Great to see that woodprix has new instructions to save my money and energy to build it.
@swirlingorlando75355 жыл бұрын
ok!
@Backyardwoodworks20144 жыл бұрын
These plans aren't on WoodProx - but I like that you are trying to get sales.
@daphlavor6 жыл бұрын
I had to print the manual from their site
@Backyardwoodworks20144 жыл бұрын
I called them and sent photos but I still cannot get the stop to lock in place.
@sherrybranham82186 жыл бұрын
If I wanted to make these do you share where you get your supplies?
@Backyardwoodworks20144 жыл бұрын
various suppliers, woodcraft, Wood turners supplies, Jays Turningz
@keqh57576 жыл бұрын
I never seen a aerial view of the area before it looks weird
@isaacstebleton64086 жыл бұрын
How often do they go there? Where were you when you filmed this?
@Backyardwoodworks20146 жыл бұрын
Isaac Stebleton PRMC is pretty large on the Easternshore but not a huge trauma center so helicopters are constantly flying in and out daily. That day a friends daughter being loaded and flown out.
@isaacstebleton64086 жыл бұрын
Jay's BackyardWoodworks.com, ok. Thank you. I hope that she is doing ok.
@garzonlaperle94037 жыл бұрын
Great place to learn how to make it yourself much much cheaper. Just google for 'WoodPrix' website:)
@Backyardwoodworks20144 жыл бұрын
oh so your gonna just add this comment to all my videos?
@pierluigicolotto95707 жыл бұрын
Nice movie. However you can make it yourself. Just google woodprix and learn how to do it easily.
@samnadol6477 жыл бұрын
Hello. So, I built this LED cube and I uploaded the code given by the creator of this video in the comments onto the Arduino, but I just got a bunch of random crud. I checked for shorts, but I didn't see any. Any ideas why the cube is not working?
@Backyardwoodworks20147 жыл бұрын
wow - there are so many things that could cause you problems - it is hard to point you in the correct direction without being able to see it. maybe check your solder joints? I am no expert on this, the cube sits on my desk & I turn it on every so often - haven't attempted to reprogram it since the build. just try to get one or two lights on and go through code until you confirm each bulb is programmable. keep me posted I'd be curious what the error is
@DavidBishopinc7 жыл бұрын
Interesting
@roberthelveston28237 жыл бұрын
Not a great photo shoot.. TOOOOOO much movement.
@Backyardwoodworks20147 жыл бұрын
sorry you didn't enjoy it, this was 5 yrs ago and was one of the first attempts at any video taping on an iphone. I agree there's room for improvement.
@aux1z117 жыл бұрын
I got the 17 in and had it in the garage for over a year in the crate waiting to build my pole barn and this week I un crate it and there is no screws nuts and bolts for anything
@Backyardwoodworks20147 жыл бұрын
Contact Grizzly, they were great about sending replacement parts
@artmakersworlds7 жыл бұрын
ah hell, I want to SEE THE CUTTING and sanding. Not ok, here it's done now. No help here at all.
@Backyardwoodworks20147 жыл бұрын
yup sorry - this was back a few years ago before I learned how to edit videos, so the whole beginning part was lost after the iphone memory filled up and cut off. do you have any questions I could maybe assist with? It was more of a hands on learning experience, I am by far no expert on this topic.
@artmakersworlds7 жыл бұрын
No questions, I probably could answer some for you on poly clay. Been making pens for some time now but… JUST got a lathe. Now that's a whole new toy there. I turned a few test pens, didn't come out too bad for a first attempt but needs work. I've been picking brains on a few good wood turners forum boards. But nothing beats watching it done. Not too many good videos out there. Tons on turning wood, not so much with clay. It's so much softer, just the slightest pressure on the tool and it gouges. Turns out I was simply holding the tool wrong. Probably should try a flatter tool as well. I had a round "finishing" tool. So try try again.
@Backyardwoodworks20147 жыл бұрын
you hit the nail on the head slightest pressure can blow out the polymer when turning. The biggest problem i encountered were the air pockets in the clay. I attempted the deal after seeing the blanks on a site, looking for bookmark..maybe an email to these folks can give you pointers...www.ptownsubbie.com/polymerclaypenblanks.aspx
@Backyardwoodworks20147 жыл бұрын
here is another link with awesome clay - she doesn't use a lathe, just rounds them down using the bushings on the table. bakes then polishes them. www.claypenblanks.com/
@artmakersworlds7 жыл бұрын
There is some really nice can work on there. Now if you look at her blanks page, specifically at the one in the very foreground. See the sea turtle on the right? Man times you pack canes in translucent clay. That piece it shows up. BUT clay is never really clear. The trick with canes is to use paper thin slices. Very tough to do and it makes it impossible to turn on a lathe. It would only remove all the cane work. I actually got pretty good at rolling pen blanks but with a slight curve just like they were turned. Here's one, faux woodgrain, a band of cane work, (no translucent involved.) and something you simply can't do on a lathe, it's added later, the feather sculpted on top. Did a bunch of those and they sell out as fast as I can make them. Now… here are some I CAN do on lathe. A faux stone I came up with. www.flickr.com/photos/artmakersworlds/8926402174/ These were rolled, and here I just started getting the hang of giving them more shape, but I bet I can get them even more perfectly shaped once I get some lathe practice.
@jobadiola7 жыл бұрын
tnx...it did help me a lot...
@judithrushing1357 жыл бұрын
How did you put on the polymer clay on the pen tube? I tried it and the clay keep blowing out. Could you show how you put on the clay to stick on the tube? Thanks.
@Backyardwoodworks20147 жыл бұрын
hey I only had to use the tube for the shape, once hardened I glued it just the same as any other pen blank.
@rcoolpens1697 жыл бұрын
thanks I will have to give this a try.
@sethdfilms7 жыл бұрын
Amazing flight! The colors look so majestic to me because of that sunset.
@Backyardwoodworks20147 жыл бұрын
thanks!
@Sebastopolmark7 жыл бұрын
That's a nice "shout out" but it does not tell us "How to Print large patterns using BigPrint"??
@Backyardwoodworks20144 жыл бұрын
You are correct - only that I did it with the software. I should have been more clear. Thank you for letting me know.
@sandhyasharma54077 жыл бұрын
That was very helpful. Thanks
@stormbytes7 жыл бұрын
Congrats on the (new) band saw :) Looks and sounds terrific! Hopefully you'll get a lot more cutting practice and get real good at it!
@JimBeshears8 жыл бұрын
Man you coulda stored a couple of those in my fridge, lol. Hope everything turned out ok for you all.
@seniorchiefharris8 жыл бұрын
Jay...for safety sake and more accurate cuts, lower you top blade guide to just about 1/4" above the wood's surface. Less chance of you being cut, plus the blade will not drift as much and your cuts will be more accurate since the blade is supported properly. Take a look at several other bandsaw videos here on you tube and you'll be an expert in no time! Have fun with your new bandsaw and safe wood working to you!
@Backyardwoodworks20144 жыл бұрын
I am glad you pointed this out when you did - I even lower it to the table when its unplugged
@Nichol08248 жыл бұрын
That is AWESOME! I'm about to get my lathe and stuff to get started pen turning and was thinking hmmm POLYMER CLAY blanks....i'm SOOOOOOO happy i found your video...it works YAY...do you have a video on making the blank....if you do sry...i was so excited to find your video,
@Backyardwoodworks20148 жыл бұрын
I've made only a few (as time gets away from me, it was probably a few years ago at that) look for the heart pen - pretty sure i documented the how.
@agisfg8 жыл бұрын
READ the user manual. ALL of the assembly instructions are in it.
@SHADOWATOIF8 жыл бұрын
Great video bro. I just ordered the same saw and this video will definitely come in handy. Thanks.
@mgrcreations18 жыл бұрын
The pens came out great! tfs
@Backyardwoodworks20148 жыл бұрын
+mgrcreations1 Thanks!
@edfliction13488 жыл бұрын
For the love of god can someone please tell me where to get the basic RadioShack files for this. I'm all, like AAAHHHH
@Backyardwoodworks20148 жыл бұрын
+EDFLICTION Dude - expand my reply to Dezzen's comment below - I copied & pasted all the code in there. Radio Shack 's site is defuct
@edfliction13488 жыл бұрын
Oh thank you
@Backyardwoodworks20148 жыл бұрын
EDFLICTION no problem - upload a video of yours when you get it working so I can see it
@robertnix39888 жыл бұрын
I just bought this same kit. The URL given in the instructions does not work. Do you know where I can find the example code for the project?
@Backyardwoodworks20148 жыл бұрын
+Robert Nix its copy & pasted into one of the replies on a previous comment.
@SteveCarmichael8 жыл бұрын
Awesome! Congrats on the new saw. I didn't know they were that heavy. It sure is pretty!
@Backyardwoodworks20148 жыл бұрын
+Steve Carmichael - You can come use it anytime! I've been asked to make a bass guitar - "ibanex btb" style I sure could use a CNC to make a template... congrats on making Make!
@lct1113529 жыл бұрын
Thanks, that DID help. I was expecting it to be a much bigger job. :o)
@dezzen9 жыл бұрын
Any idea where to get the sketch? Apparently the Radio Shack site is no longer.
@Backyardwoodworks20149 жыл бұрын
dezzen Here is the copy & paste: /* * * MiniCube LED Cube with 74164 shift registers * Original (and likely, inefficient) code, comments, and documentation * somehow pieced together by: * David Ratliff * July, 2013 * * designed for use with my Pin-Source, 4x4, LED cube with 74164 shift registers attached to 16 anode leads * and 4 NPN (2N4401) transistors connected to each of 4 cathode leads (one for each horizontal layer of 16 LEDs). * * ***Naming convention*** * * Cartesian Coordinate System used. With axis, (x, y) = (0, 0). * X-Axis (y=0) is line of LEDs parallel, and closest, to the transistors on board * Y-Axis (x=0) is line of LEDs parallel, and closest, to the Cathode leads coming from cube * Z-Axis extends upwards from the board beginning with "1"(bottom layer) and ending with "4" (top layer) * * FUNCTIONS & THEIR NAMES *------------------------ * After morphing through many permutations and made-sense-at-the-time naming schemes... * I finally settled on one which, I beleive, makes the code easiest to understand. * Here is a brief introduction (and REMINDER to myself!) - * "planes" contain 16 active LEDs. May be horizontal or vertical. function contains x, y, or z (and it's value) to indicate position * "hinges" transition between planes. Usually "hinging" upon row of LEDs shared by both planes (starting & ending plane). * "slashe" are angled planes which run through center of cube * "slants" are angled planes which contain one corner-edge of cube - typically only use two rows/columns along one of axis * * */ #define data1 6 // PWM Pin #define data2 4 // PWM pin #define clock1 5 //PWM Pin #define clock2 3 // PWM Pin #define cathode3 11 #define cathode4 10 #define cathode2 9 #define cathode1 8 int Flow = 80; // "delay" to hold patterns before shifting next pattern ***Update this eventually to use 'millis' or some timer to avoid so much wasted time on 'delays' long randNumber; // holder for Random number from generator function unsigned long previousMillis = 0; // will store last time LED was updated -- **Leftover from prev version? ** Don't think this is currently used in any functions. /* // Intervals used in previous version of functions -- Not currently used unsigned long intervalConstant = 3000; unsigned long interval1 = (intervalConstant/4); // interval at which to blink milliseconds) unsigned long interval2 = (intervalConstant/2); unsigned long interval3 = (3* intervalConstant/4); unsigned long interval4 = intervalConstant; */ void setup() { Serial.begin(9600); pinMode(A0, INPUT); // to read "noise" as random number randomSeed(analogRead(A0)); // Seed Pseudo-RNG with noise from open/floating pin A0 // Set pins to shift registers as OUTPUT pinMode(clock1, OUTPUT); // Clock for Shift Register 1 pinMode(clock2, OUTPUT); // Clock for Shift Register 2 pinMode(data1, OUTPUT); // Data for Shift Register 1 pinMode(data2, OUTPUT); // Data for Shift Register 1 // Set shift register pins to a LOW "idle" state --- *74164 Shift Register "clocks" on rising edge of digital signal digitalWrite(clock1, LOW); digitalWrite(clock2, LOW); digitalWrite(data1, LOW); digitalWrite(data2, LOW); // set cathode pins to output pinMode(cathode1, OUTPUT); pinMode(cathode2, OUTPUT); pinMode(cathode3, OUTPUT); pinMode(cathode4, OUTPUT); } void loop() { hingeX3Y0(Flow); // from planeX3 to planeY0 slantY1Y2(5, 5); slashY0Y3(5, 5); pinWheelL(5, 5); pinWheelL(5, 5); pinWheelL(5, 5); pinWheelL(5, 5); pinWheelL(5, 5); slantY0Y3(5, 5); /* planeZ(1, Flow); // Bottom Layer planeZ(2, Flow); planeZ(3, Flow); planeZ(4, Flow); planeZ(3, Flow); planeZ(2, Flow); planeZ(1, Flow); */ planeZ(1, Flow); hingeZ1Y3(5, 5); planeY3(Flow); hingeY3X3(Flow); hingeX3Y0(Flow); hingeY0X0(Flow); // Hinges CCW from planeY0 to planeX0 // Begin Small Sq up, Large Sq down hSquareSmall(1, Flow); hSquareSmall(2, Flow); hSquareSmall(3, Flow); hSquareSmall(4, Flow); hSquareLarge(4, Flow); hSquareLarge(3, Flow); hSquareLarge(2, Flow); hSquareLarge(1, Flow); hSquareSmall(1, Flow); hSquareSmall(2, Flow); hSquareSmall(3, Flow); hSquareSmall(4, Flow); hSquareLarge(4, Flow); hSquareLarge(3, Flow); hSquareLarge(2, Flow); hSquareLarge(1, Flow); hSquareSmall(1, Flow); hSquareSmall(2, Flow); hSquareSmall(3, Flow); hSquareSmall(4, Flow); hSquareLarge(4, Flow); hSquareLarge(3, Flow); hSquareLarge(2, Flow); hSquareLarge(1, Flow); // End Small Sq up, Large Sq down growSquareLarge(4, 40); sqPillarLg(5, 20); sinkSquareLarge(4, 40); growSquareSmall(4, 40); sqPillarSm(5, 20); sinkSquareSmall(4, 40); growSquareLarge(4, 40); sqPillarLg(5, 20); sinkSquareLarge(4, 40); growSquareSmall(4, 40); sqPillarSm(5, 20); sinkSquareSmall(4, 40); bitwiseRandomFall(100, 20); planeZ(1, Flow); // Bottom Layer planeZ(2, Flow); planeZ(3, Flow); planeZ(4, Flow); planeZ(3, Flow); planeZ(2, Flow); planeZ(1, Flow); hingeY0X0(Flow); // Hinges CCW from planeY0 hingeX0Y3(Flow); hingeY3X3(Flow); hingeX3Y0(Flow); // back to planeY0 slantY3Y0(5, 5); slashY3Y0(5, 5); slantY3Y2(5, 5); planeY3(Flow); hingeY3Z4(5,5); planeZ(4, Flow); // "Plane" = 16 LEDs horizontally. "4" = Top Layer planeZ(3, Flow); // Layer just above center planeZ(2, Flow); // Layer just below center planeZ(1, Flow); // Bottom Layer planeZ(2, Flow); planeZ(3, Flow); planeZ(4, Flow); hingeZ4Y3(5, 5); planeY3(Flow); planeY2(Flow); planeY1(Flow); planeY0(Flow); planeY1(Flow); planeY2(Flow); planeY3(Flow); hingeY3Z1(5, 5); } // End void loop() // Pattern Sequences// void semiShift(int lightTime) // GOAL: To shiftOut (less than a byte) new binary BETWEEN cathode changes! --- NOT SUCCESSFUL.... { for(int j=0; j<255; j++) // set to any range within 0-255 ( 8 bits ) { cathodeOff(0); for(int cat = 4; cat > 0; cat--) // turn on Cathodes 1 thru 4, one at time { // Send data to Cube for (int i = 0; i < 3; i++) // Customized "shiftOut" function code { digitalWrite(data2, !!(B010 & (1 << i))); digitalWrite(clock2, HIGH); digitalWrite(clock2, LOW); } for (int i = 0; i < 3; i++) // Customized "shiftOut" function code { digitalWrite(data1, !!(B01 & (1 << (2 - i)))); digitalWrite(clock1, HIGH); digitalWrite(clock1, LOW); } // Turn on ONE cathode cathodeOn(cat); // turn on/off cathodes from top to bottom - ("Rain") if(cat < 4) { cathodeOff(cat+1); } // end if cat // increase i j++; // delay to see effect delay(2*lightTime); } //end for cat } // end for int i } // end semiShift void bitwiseRandomLone(int lightTime) { for(int i=0; i<255; i++) // set to any range within 0-255 ( 8 bits ) { randNumber = random(255); // generate "random" number from 0 -255 cathodeOff(0); // turn ALL cathodes off prior to shift for(int cat = 4; cat > 0; cat--) // turn on Cathodes 1 thru 4, one at time { int randNumber = random(255); // generate "random" number from 0 -255 // Send data to Cube shiftOut(data2, clock2, LSBFIRST, (randNumber & (randNumber-1))); // keep it "random looking" on ShiftReg2 shiftOut(data1, clock1, MSBFIRST, (i & randNumber)); // again, for ShiftReg1 // Turn on ONE cathode cathodeOn(cat); // turn on/off cathodes from top to bottom - ("Rain") if(cat < 4) { cathodeOff(cat+1); } // end if cat // increase i i++; // delay to see effect delay(2*lightTime); } //end for cat } // end for int i } // end bitwiseRandomLone void bitwiseRandomFall(int range, int lightTime) { for(int i=0; i<range; i++) // set to any range within 0-255 ( 8 bits ) { cathodeOff(0); for(int cat = 4; cat > 0; cat--) // turn on Cathodes 1 thru 4, one at time { // Send data to Cube shiftOut(data2, clock2, LSBFIRST, (i & (5*i/3))); // keep it "random looking" on ShiftReg2 shiftOut(data1, clock1, MSBFIRST, (i & (7*i/2))); // again, for ShiftReg1 // Turn on ONE cathode cathodeOn(cat); // turn on/off cathodes from top to bottom - ("Rain") if(cat < 4) { cathodeOff(cat+1); } // end if cat // increase i i++; // delay to see effect delay(2*lightTime); } //end for cat } // end for int i } // end bitwiseRandomFall void bitwiseRain(int lightTime) // Use bitwise & to create custom light pattern { for(int i=140; i<255; i++) // set to any range within 0-255 ( 8 bits ) { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, (i & (i+111))); // keep it "random looking" on ShiftReg2 shiftOut(data1, clock1, MSBFIRST, (i & (i-213))); // again, for ShiftReg1 for(int cat = 4; cat > 0; cat--) // turn on Cathodes 1 thru 4, one at time { cathodeOn(cat); // turn on/off cathodes from top to bottom - ("Rain") if(cat < 4) { cathodeOff(cat+1); } // end if cat delay(lightTime); } //end for cat } // end for int i } // end bitwiseRain void bitwiseTwins(int lightTime) { for(int i=130; i<200; i++) // set to any range within 0-255 ( 8 bits ) { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, (i & (i+1))); // count (backwards?) 1- 255 on ShiftReg2 shiftOut(data1, clock1, MSBFIRST, (i & (i-1))); // count 1 - 255 on ShiftReg1 for(int cat = 1; cat < 5; cat++) // turn on Cathodes 1 thru 4, one at time { cathodeOn(cat); // turn on/off cathodes from bottome to top if(cat>1) { cathodeOff(cat-1); } // end if cat delay(lightTime); } //end for cat } // end for int i } // end bitwiseTwins void binaryTwins(int lightTime) { for(int i=100; i<155; i++) // set to any range within 0-255 ( 8 bits ) { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, i); // count (backwards?) 1- 255 on ShiftReg2 shiftOut(data1, clock1, MSBFIRST, i); // count 1 - 255 on ShiftReg1 for(int cat = 1; cat < 5; cat++) // turn on Cathodes 1 thru 4, one at time { cathodeOn(cat); // turn on/off cathodes from bottom to top - ("growth") if(cat>1) { cathodeOff(cat-1); } // end if cat delay(lightTime); } //end for cat } // end for int i } // end Binary Twins void binaryGrowth(int lightTime) // WARNING! - USES LOTS OF CURRENT!! // TOO MUCH for Arduino to handle. // be sure to connect LEDs to own power source // ....AND CONNECT GROUNDS TOGETHER { for(int i=0; i<510; i++) { if( i>=0 && i < 256) { cathodeOff(0); shiftOut(data2, clock2, MSBFIRST, B00000000); // send all 0 to ShiftReg2 shiftOut(data1, clock1, MSBFIRST, i); // count 1 - 255 on ShiftReg1 for(int cat = 1; cat < 5; cat++) // turn on Cathodes 1 thru 4, one at time { cathodeOn(cat); if(cat>1) { cathodeOff(cat-1); } // end if cat delay(lightTime); } //end for cat } //end if if( i>=256 && i < 510) { cathodeOff(0); shiftOut(data1, clock1, MSBFIRST, B11111111); // send all 1 to ShiftReg1 shiftOut(data2, clock2, MSBFIRST, i-255); // count 1- 255 on ShiftReg12 for(int cat = 1; cat < 5; cat++) // turn on Cathodes 1 thru 4, one at time { cathodeOn(cat); if(cat>1) { cathodeOff(cat-1); } // end if cat delay(lightTime); } // end for cat } // end for } // end for } // end void binaryGrowth // CONTROL CATHODES ON/OFF void cathodeOff(int cathNum) { if (cathNum == 1) { digitalWrite(cathode1, LOW); } // end if 1 if (cathNum == 2) { digitalWrite(cathode2, LOW); } // end if 2 if (cathNum == 3) { digitalWrite(cathode3, LOW); } // end if 3 if (cathNum == 4) { digitalWrite(cathode4, LOW); } // end if 4 if (cathNum == 0) { digitalWrite(cathode1, LOW); digitalWrite(cathode2, LOW); digitalWrite(cathode3, LOW); digitalWrite(cathode4, LOW); } // end if ALL } // end void CathodeOFF void cathodeOn(int cathNum) // Turn one or all cathodes on { if (cathNum == 1) // Bottom layer { digitalWrite(cathode1, HIGH); } // end if 1 if (cathNum == 2) { digitalWrite(cathode2, HIGH); } // end if 2 if (cathNum == 3) { digitalWrite(cathode3, HIGH); } // end if 3 if (cathNum == 4) // Top layer { digitalWrite(cathode4, HIGH); } // end if 4 if (cathNum == 0) // Turn ALL cathodes/Layers on { digitalWrite(cathode1, HIGH); digitalWrite(cathode2, HIGH); digitalWrite(cathode3, HIGH); digitalWrite(cathode4, HIGH); } // end if 0 / ALL } // end void CathodeOn // ******* END CONTROL CATHODES ************* // ******** 3D SHAPES - Begin *********** void sqPillarSm(int lightTime, int frameNum) { for (int i = 0; i <= frameNum; i++) { hSquareSmall(1, lightTime); hSquareSmall(2, lightTime); hSquareSmall(3, lightTime); hSquareSmall(4, lightTime); } // End for i frameNum } // End sqPillarSm void sqPillarLg(int lightTime, int frameNum) { for (int i = 0; i <= frameNum; i++) { hSquareLarge(1, lightTime); hSquareLarge(2, lightTime); hSquareLarge(3, lightTime); hSquareLarge(4, lightTime); } // End for i frameNum } // End sqPillarLg // ********* END --- 3D SHAPES ************ // ********* HORIZONTAL SEQUENCES ************** //********* Static Horizontal Shapes ************ void planeZ(int level, int lightTime) { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B11111111); shiftOut(data1, clock1, LSBFIRST, B11111111); cathodeOn(level); delay(lightTime); } // end void planeZplaneZ() void hSquareLarge(int level, int lightTime) { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B10011111); shiftOut(data1, clock1, LSBFIRST, B11111001); cathodeOn(level); delay(lightTime); } // end void hSquareLarge void hSquareSmall(int level, int lightTime) { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B01100000); shiftOut(data1, clock1, LSBFIRST, B00000110); cathodeOn(level); delay(lightTime); } // end void hSquareSmall //********* END ** Static Horizontal Shapes ************ //******** BEGIN ** Vertical Grow & Sink ************ void growSquareLarge(int level, int lightTime) { cathodeOff(0); // build square level by level from bottom to top for (int i = 1; i <= level; i++) { shiftOut(data2, clock2, LSBFIRST, B10011111); shiftOut(data1, clock1, LSBFIRST, B11111001); cathodeOn(i); delay(lightTime); } //end for } // end void growSquareLarge void growSquareSmall(int level, int lightTime) { cathodeOff(0); // build square level by level from bottom to top for (int i = 1; i <= level; i++) { shiftOut(data2, clock2, LSBFIRST, B01100000); shiftOut(data1, clock1, LSBFIRST, B00000110); cathodeOn(i); delay(lightTime); } // end for } // end void growSquareSmall void sinkSquareLarge(int level, int lightTime) { cathodeOff(0); // turn whole square on shiftOut(data2, clock2, LSBFIRST, B10011111); shiftOut(data1, clock1, LSBFIRST, B11111001); cathodeOn(0); delay(lightTime); // turn off level one by one from top to bottom for (int i = level; i > 0; i--) { shiftOut(data2, clock2, LSBFIRST, B10011111); shiftOut(data1, clock1, LSBFIRST, B11111001); cathodeOff(i); delay(lightTime); } //end for } // end void sinkSquareLarge void sinkSquareSmall(int level, int lightTime) { cathodeOff(0); // turn whole square on shiftOut(data2, clock2, LSBFIRST, B01100000); shiftOut(data1, clock1, LSBFIRST, B00000110); cathodeOn(0); delay(lightTime); // turn off level one by one from top to bottom for (int i = level; i > 0; i--) { cathodeOff(i); delay(lightTime); } // end for } // end void sinkSquareSmall // ********END ** Vertical Growth **************** void hFLipUp1(int lightTime) // flips up from planeX0 to planeZ4 { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00010001); shiftOut(data1, clock1, LSBFIRST, B00010001); cathodeOn(0); delay(lightTime); //first "step" //**PseudoCode ***loop this for "lightTime" milliseconds???? cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00010001); shiftOut(data1, clock1, LSBFIRST, B00010001); cathodeOn(4); cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00100010); shiftOut(data1, clock1, LSBFIRST, B00100010); cathodeOn(3); cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B01000100); shiftOut(data1, clock1, LSBFIRST, B01000100); cathodeOn(2); cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B10001000); shiftOut(data1, clock1, LSBFIRST, B10001000); cathodeOn(1); // end first "step" } // end hFlipUp1 // END HORIZONTAL SEQUENCES // VERTICAL SEQUENCES // ************ Verical WIDES - Y-axis "planes of Light" ****************** void planeX3(int lightTime) // "Wall of light" entire row, all layers. Header side of board { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B10001000); shiftOut(data1, clock1, LSBFIRST, B10001000); cathodeOn(0); delay(lightTime); } void planeX2(int lightTime) { cathodeOff(0); digitalWrite(cathode4, LOW); shiftOut(data2, clock2, LSBFIRST, B01000100); shiftOut(data1, clock1, LSBFIRST, B01000100); cathodeOn(0); delay(lightTime); } void planeX1(int lightTime) { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00100010); shiftOut(data1, clock1, LSBFIRST, B00100010); cathodeOn(0); delay(lightTime); } void planeX0(int lightTime) // "Wall of light" entire row, all layers. Cathode side of board { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00010001); shiftOut(data1, clock1, LSBFIRST, B00010001); cathodeOn(0); delay(lightTime); } // ************END Verical Wides - Y-axis "Walls of light" ****************** // ************ Verical Slices - X-axis "Walls of light" ****************** void planeY0(int lightTime) // "Wall of light" entire row, all layers. Transistor side of board { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00001111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(0); delay(lightTime); } // End void vSlice 1 void planeY1(int lightTime) { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(0); delay(lightTime); } // End void vSlice 2 void planeY2(int lightTime) { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(0); delay(lightTime); } // End void vSlice 3 void planeY3(int lightTime) // "Wall of light" entire row, all layers. Empty end of board { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); cathodeOn(0); delay(lightTime); } // End void vSlice 4 // ************END Verical Slices - X-axis "Walls of light" ****************** // ************ Flat turns, hinges, transitions - ***************** void hingeY0X0(int lightTime) // Turns from planeY0 to planeX0 { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00001111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B11000011); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00100001); shiftOut(data1, clock1, LSBFIRST, B10000100); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00010001); shiftOut(data1, clock1, LSBFIRST, B01000010); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00010001); shiftOut(data1, clock1, LSBFIRST, B00010001); cathodeOn(0); delay(lightTime); } // end hingeY0X0 void hingeX0Y3(int lightTime) // turns from planeX0 to planeY3 - Cathode side { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00010001); shiftOut(data1, clock1, LSBFIRST, B00010001); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00100010); shiftOut(data1, clock1, LSBFIRST, B00010001); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B01001000); shiftOut(data1, clock1, LSBFIRST, B00010010); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00111100); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); cathodeOn(0); delay(lightTime); } // end hingeX0Y3 void hingeY3X3(int lightTime) // turns from planeY3 to planeX3 - Cathode side { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11000011); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00100001); shiftOut(data1, clock1, LSBFIRST, B10000100); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B01000100); shiftOut(data1, clock1, LSBFIRST, B10001000); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B10001000); shiftOut(data1, clock1, LSBFIRST, B10001000); cathodeOn(0); delay(lightTime); } // End hingeY3X3 // *****HINGE UP & DOWN FUNCTIONS *********** void hingeY3Z4(int lightTime, int frameNum) // Hinges plane UP from Y3 to Z4 { slantY2Y3(lightTime, frameNum); slashY0Y3(lightTime, frameNum); slantZ3Y0Y3(lightTime, frameNum); } // End hingeY3Z4 void hingeZ4Y3(int lightTime, int frameNum) // Hinges plane DOWN from Y3 to Z4 { slantZ3Y0Y3(lightTime, frameNum); slashY0Y3(lightTime, frameNum); slantY2Y3(lightTime, frameNum); } // End hingeZ4Y3 void hingeZ1Y3(int lightTime, int frameNum) // Hinges plane UP from Z1 to Y3 { slantY3Y0(lightTime, frameNum); slashY3Y0(lightTime, frameNum); slantY3Y2(lightTime, frameNum); } // End hingeZ1Y3 void hingeY3Z1(int lightTime, int frameNum) // Hinges plane DOWN from Y3 to Z1 { slantY3Y2(lightTime, frameNum); slashY3Y0(lightTime, frameNum); slantY3Y0(lightTime, frameNum); } // End hingeY3Z1 // ***** END --- HINGE UP & DOWN FUNCTIONS *********** void hingeX3Y0(int lightTime) // turns from planeX3 to planeY0 - Cathode side { cathodeOff(0); shiftOut(data2, clock2, LSBFIRST, B10001000); shiftOut(data1, clock1, LSBFIRST, B10001000); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B10001000); shiftOut(data1, clock1, LSBFIRST, B01000100); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B01001000); shiftOut(data1, clock1, LSBFIRST, B00010010); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00111100); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(0); delay(lightTime); shiftOut(data2, clock2, LSBFIRST, B00001111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(0); delay(lightTime); } // end hingeX3Y0 void slashY1Y2(int lightTime, int frameNum) { for (int i = 0; i <= frameNum; i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(1); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(2); delay(lightTime); cathodeOff(0); // planeY2 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(3); delay(lightTime); cathodeOff(0); // planeY3 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(4); delay(lightTime); cathodeOff(0); } //end for } void slashY0Y3(int lightTime, int frameNum) { for (int i = 0; i <= frameNum; i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B00001111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(1); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(2); delay(lightTime); cathodeOff(0); // planeY2 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(3); delay(lightTime); cathodeOff(0); // planeY3 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); cathodeOn(4); delay(lightTime); cathodeOff(0); } //end for } void slantY1Y2(int lightTime, int frameNum) { for (int i = 0; i <= frameNum; i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B00001111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(1); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B00001111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(2); delay(lightTime); cathodeOff(0); // planeY2 shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(3); delay(lightTime); cathodeOff(0); // planeY3 shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(4); delay(lightTime); cathodeOff(0); } //end for } void slantY0Y3(int lightTime, int frameNum) { for (int i = 0; i <= (2*frameNum); i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B11111111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(1); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11111111); cathodeOn(2); delay(lightTime); cathodeOff(0); } //end for } void slashZ2Y0Z3Y3(int lightTime, int frameNum) { for (int i = 0; i <= (2*frameNum); i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B11111111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(2); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11111111); cathodeOn(3); delay(lightTime); cathodeOff(0); } //end for } void slashY2Y1(int lightTime, int frameNum) { for (int i = 0; i <= frameNum; i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(4); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(3); delay(lightTime); cathodeOff(0); // planeY2 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(2); delay(lightTime); cathodeOff(0); // planeY3 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(1); delay(lightTime); cathodeOff(0); } //end for } void slashY3Y0(int lightTime, int frameNum) { for (int i = 0; i <= frameNum; i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B00001111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(4); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(3); delay(lightTime); cathodeOff(0); // planeY2 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(2); delay(lightTime); cathodeOff(0); // planeY3 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); cathodeOn(1); delay(lightTime); cathodeOff(0); } //end for } void slantY3Y2(int lightTime, int frameNum) { for (int i = 0; i <= frameNum; i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(4); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(3); delay(lightTime); cathodeOff(0); // planeY2 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); cathodeOn(2); delay(lightTime); cathodeOff(0); // planeY3 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); cathodeOn(1); delay(lightTime); cathodeOff(0); } //end for } void slantY2Y3(int lightTime, int frameNum) { for (int i = 0; i <= frameNum; i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); cathodeOn(4); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); cathodeOn(3); delay(lightTime); cathodeOff(0); // planeY2 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(2); delay(lightTime); cathodeOff(0); // planeY3 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); cathodeOn(1); delay(lightTime); cathodeOff(0); } //end for } // End slantY2Y3 void slantZ3Y0Y3(int lightTime, int frameNum) { for (int i = 0; i <= (2*frameNum); i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B11111111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(3); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11111111); cathodeOn(4); delay(lightTime); cathodeOff(0); } //end for } // End slantZ3Y0Y3 void slashZ2Y3Z3Y0(int lightTime, int frameNum) { for (int i = 0; i <= (2*frameNum); i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B11111111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(3); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11111111); cathodeOn(2); delay(lightTime); cathodeOff(0); } //end for } void slantY3Y0(int lightTime, int frameNum) { for (int i = 0; i <= (2*frameNum); i++) { cathodeOff(0); // planeY0 shiftOut(data2, clock2, LSBFIRST, B11111111); shiftOut(data1, clock1, LSBFIRST, B00000000); cathodeOn(2); delay(lightTime); cathodeOff(0); // planeY1 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11111111); cathodeOn(1); delay(lightTime); cathodeOff(0); } //end for } void pinWheelL(int lightTime, int frameNum) // spins in middle from slashY0Y3 to (just before) slashY0Y3 { // Each "set" goes halfway slashY0Y3(lightTime, frameNum); slashZ2Y0Z3Y3(lightTime, frameNum); slashZ2Y3Z3Y0(lightTime, frameNum); // Second "set" completes the '360' slashY3Y0(lightTime, frameNum); slashY2Y1(lightTime, frameNum); slashY1Y2(lightTime, frameNum); } void halfPinLBot(int lightTime, int frameNum) // Bottom "half" of pinwheel -- useful for transistion to slashY3Y0 / from slashY0Y3 { slashY0Y3(lightTime, frameNum); slashZ2Y0Z3Y3(lightTime, frameNum); slashZ2Y3Z3Y0(lightTime, frameNum); } void halfPinLTop(int lightTime, int frameNum) // Top "half" of pinwheel -- useful for transistion to slashY0Y3 / from slashY3Y0 { slashY3Y0(lightTime, frameNum); slashY2Y1(lightTime, frameNum); slashY1Y2(lightTime, frameNum); } // Individual LED Coordinates - (x,y) - axis = corner of transistors (x) & cathodes (y) void oneOne() { shiftOut(data2, clock2, LSBFIRST, B00000001); shiftOut(data1, clock1, LSBFIRST, B00000000); } void oneTwo() { shiftOut(data2, clock2, LSBFIRST, B00000010); shiftOut(data1, clock1, LSBFIRST, B00000000); } void oneThree() { shiftOut(data2, clock2, LSBFIRST, B00000100); shiftOut(data1, clock1, LSBFIRST, B00000000); } void oneFour() { shiftOut(data2, clock2, LSBFIRST, B00001000); shiftOut(data1, clock1, LSBFIRST, B00000000); } void twoOne() { shiftOut(data2, clock2, LSBFIRST, B00010000); shiftOut(data1, clock1, LSBFIRST, B00000000); } void twoTwo() { shiftOut(data2, clock2, LSBFIRST, B00100000); shiftOut(data1, clock1, LSBFIRST, B00000000); } void twoThree() { shiftOut(data2, clock2, LSBFIRST, B01000000); shiftOut(data1, clock1, LSBFIRST, B00000000); } void twoFour() { shiftOut(data2, clock2, LSBFIRST, B10000000); shiftOut(data1, clock1, LSBFIRST, B00000000); } void threeOne() { shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00000001); } void threeTwo() { shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00000010); } void threeThree() { shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00000100); } void threeFour() { shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001000); } void fourOne() { shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00010000); } void fourTwo() { shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00100000); } void fourThree() { shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B01000000); } void fourFour() { shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B10000000); } /* Single lines --- REFERENCE BINARY -------- planeY0 -- Transistor Side of Board shiftOut(data2, clock2, LSBFIRST, B00001111); shiftOut(data1, clock1, LSBFIRST, B00000000); planeY1 shiftOut(data2, clock2, LSBFIRST, B11110000); shiftOut(data1, clock1, LSBFIRST, B00000000); planeY2 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001111); planeY3 shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B11110000); planeX0 -- Cathode Side of Board shiftOut(data2, clock2, LSBFIRST, B00010001); shiftOut(data1, clock1, LSBFIRST, B00010001); planeX1 shiftOut(data2, clock2, LSBFIRST, B00100010); shiftOut(data1, clock1, LSBFIRST, B00100010); planeX2 shiftOut(data2, clock2, LSBFIRST, B01000100); shiftOut(data1, clock1, LSBFIRST, B01000100); planeX3 -- Header Side of Board shiftOut(data2, clock2, LSBFIRST, B10001000); shiftOut(data1, clock1, LSBFIRST, B10001000); Cathode 1 -- Bottom Layer cathodeOn(1); cathodeOff(1); Cathode 2 cathodeOn(2); cathodeOff(2); Cathode 3 cathodeOn(3); cathodeOff(3); Cathode 4 -- Top Layer cathodeOn(4); cathodeOff(4); ALL CATHODES cathodeOn(0); cathodeOff(0); ****INDIVIDUAL LEDs / Columns **** Given in X,Y coordinates. X = "vSlice" - running from Cathode side of board to Headers Y = "vWide" -Running from Transistor side of board to empty end of board (1,1) shiftOut(data2, clock2, LSBFIRST, B00000001); shiftOut(data1, clock1, LSBFIRST, B00000000); (1,2) shiftOut(data2, clock2, LSBFIRST, B00000010); shiftOut(data1, clock1, LSBFIRST, B00000000); (1,3) shiftOut(data2, clock2, LSBFIRST, B00000100); shiftOut(data1, clock1, LSBFIRST, B00000000); (1,4) shiftOut(data2, clock2, LSBFIRST, B00001000); shiftOut(data1, clock1, LSBFIRST, B00000000); (2,1) shiftOut(data2, clock2, LSBFIRST, B00010000); shiftOut(data1, clock1, LSBFIRST, B00000000); (2,2) shiftOut(data2, clock2, LSBFIRST, B00100000); shiftOut(data1, clock1, LSBFIRST, B00000000); (2,3) shiftOut(data2, clock2, LSBFIRST, B01000000); shiftOut(data1, clock1, LSBFIRST, B00000000); (2,4) shiftOut(data2, clock2, LSBFIRST, B10000000); shiftOut(data1, clock1, LSBFIRST, B00000000); (3,1) shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00000001); (3,2) shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00000010); (3,3) shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00000100); (3,4) shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00001000); (4,1) shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00010000); (4,2) shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B00100000); (4,3) shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B01000000); (4,4) shiftOut(data2, clock2, LSBFIRST, B00000000); shiftOut(data1, clock1, LSBFIRST, B10000000); */
@beastmode49069 жыл бұрын
thank you so much was on google for hours trying to find the code, you just help me so much!!
@rmandra3 жыл бұрын
@@Backyardwoodworks2014 Also, thank you. I got this kit many years ago and recently started to work on it when I found out that the Radio Shack blog that had the code was no more.