Making a Working Computer in Poly Bridge 3

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
for literally years now every time I post some big projects in poly Bridge someone asks me if I'm gonna make a working computer next now usually people have pretty high expectations of such a computer but even distilling it down to its simplest form this is still a very large undertaking now thinking about this problem there is one one to mind and it was so inspiration for me to try making a computer at all now you'll notice here all I have to do to make it is have a spring and an arm like this and just having them together like this it isn't super interesting the extremely important part though is that if I try to pull on the center of this lever here using a road you'll notice it snaps over to the other side and now it gets stuck over there now this is why it's called buy stable because you'll notice that it's either stuck on the left side or the right side and if it tries to go anywhere in between or too far over the left or right the spring will pull it back into position and lock it in one of the two available positions now this is extremely important because we can use this to define a single bit of data and this gives us a way to actually store it this mechanism is a little large though and you'll notice here it shrinks down quite a bit this is quite a bit more Compact and it's also quite a bit stronger because you'll notice now if I try to pull on it nothing really happens and trying to that on more weight here actually ends up breaking the spring and it's a little bit too strong now fortunately it's an easy enough fix just by extending out the spring a bit more and you can see now I'm just a little snap it over to the other side but it's a lot more compact than before now I decided throughout the rest of this build if you look at this little bar right here it fits rotated this way I'm considering it logic zero and if it's rotated this way I'm considering it logic one now the theoretical note out of the way the next thing I need to do is come up with a way to process all of the data now in reality what I needed to make here was some sort of circuit that adds two numbers together now I'll show you guys here this is what a real Adder circuit looks like and of course this one would be done with electricity but it's the same sort of function I want to apply by using just the mechanical movement each one of these things are different logic gates and I was gonna need to make all of these different types before I could start working on the adder now this is where the real processing begins here and start out you'll notice what I'm doing here is bracing a couple of hydraulics in place and you'll notice they're able to expand and contract without falling down now with this much in place the first skate I wanted to try to make is probably the simplest one and this is going to be an or gate now you'll notice here I started by putting a couple pieces of Steel in between these Hydraulics and they seem to expand to contract fine now expanding one of these out at a time though didn't really work very well and you'll notice the entire thing is very stressed this was gonna be very unpredictable so I wanted to avoid that if possible so next I tried expanding out these Hydraulics to give it some breathing room and just like this I already managed to stumble across this organ now it might not seem super obvious at first here but if I add in the split joint here you'll notice that when one or both of the Hydraulics is expanded this Center node overlaps with the split joint now this is really good but I do need some way of turning this semi-theory theoretical concept into something where I can actually set a latch or put it into another logic gate another thing I wanted to do though was shrink down this gate a lot more I was going to need a lot of these in my final design and ideally I'd like it to be a lot smaller now basically what I've done here is shrunk down the Hydraulics by 50 and I got rid of those super long arms and replaced them with these straight line linkages ultimately though it functions in exactly the same way and I still have that same problem of turning this movement into something that actually means something now one thing I had thought of was using a long arm like this and attaching it up to a very small piece of Steel Now by doing this you'll notice that this piece of Steel rotates 90 degrees when one or both of the Hydraulics is fully expanded but you'll notice here there's a lot of stress in the machine and it didn't really seem to act correctly now stress is really bad it means things are bending which means things aren't going to work perfectly so I tried moving down the attachment point for the arm but this presented a new problem the logic gate is actually now bent out of place and this means it's totally not going to work as expected so to fix this I had the idea of using a couple more steel bars and a spring this keeps it from overextending and by doing this you can see now I'm actually able to power this large arm and it does seem to be functioning correctly so with that done I dropped a quick label for it here and now I just have a few more gates to make now this next one's actually probably the easiest and it only has a single hydraulic on the input all I want to do here is invert the input so if the Hydraulics expanded the output won't be expanded and if the hydraulic is contracted the output will be expanded now for this all I actually had to make was a very simple wheel and you'll notice it's able to rotate 90 degrees in the hydraulic expands and by attaching to it in the right position here you'll notice now as the hydraulic expands it pulls back the output and as it contracts it pushes it back out now just like that I had the not gate made and now there's only two more logic gates I need to make before I can build the adder the next one's actually really simple and it's gonna be an and gate for this we just need to take the or gate and you'll notice these couple of bars in the middle all I have to do is pull them out to the other side and this is already an and gate now by attaching an output shaft here and also adding in a spring to keep it from bending in like before you'll notice now that only when both of the Hydraulics are expanded the output is also expanded this is the function of an and gate and with these three built what I wanted to demonstrate very quickly is that we could take the output of one of these Gates and put it into the input of another one so here I wanted to try putting an inverter gate on the or gate and you'll notice now it is working if you look at the output it's only expanded when both of the inputs are contracted and you can see how with this we can Cascade a bunch of these Gates together and make a more interesting circuit now that test looking great we just proceed to make one more logic gate this one's actually pretty important and it's going to be this exclusive or gate now it's pretty similar to the or gate the only difference being we don't want the output to be expanded when both of the inputs are expanded and you'll also notice here I'm expanding ly in the Hydraulics now one interesting thing I noticed is that when one or the other Hydraulics expanded it sort of rotates these steel pieces up or down when both of them are expanded or contracted though it stays on this Middle Line while it is an appreciable difference it's kind of hard to convert this into something usable here and you can see my first idea didn't really do anything productive now I try attaching this up to a few more moving arms and while it was moving up and down it just really wasn't doing anything useful now you'll notice here I attached it up to a bar on the bottom of the linkage like this and I'm able to copy that movement and by adding on a few more pieces of Steel here I have a couple more attachment points and I had realized something kind of interesting I could run these two additional nodes into an or gate and by doing this it should give me the output I'm looking for now it was getting very stressed out in my first test here but it wasn't half bad and with just a few extra pieces steel here I was actually able to somewhat get this to work and finally now if I add an output shaft you could see here it only rotates down when one or the other Hydraulics expanded when both of them or neither of them are expanded it doesn't move now this technically was completely working and this would absolutely solves the problem this though was kind of a lot of Steel and it was going to make it a lot more laggy but also the more steel I use the more a chance of error there is and I wanted to go for a much simpler solution so you'll notice here I went back to my rotating bar design from before and this was at least still close to working one thing I could do with it though is move the reinforcement for the bar over onto the left side here and I added on another moving joint now this was getting stressed out so I just kept moving it around here and once I did this I managed to stumble across another solution you could see that this little bar rotates back if one or the other hydraulic is expanded this was exactly what I was looking for and you can say refined the design a little bit more and now it's working even better this of course is a lot simpler than my previous design and I used a couple of straight line linkages here to simplify it even more looking at the output though I did see a minor problem you'll notice that this little bar isn't rotating back a full meter and what that means is that if it's a little bit short if I try to run that into another logic gate that error is just going to keep building up until eventually it causes it to break and after tuning one to be as close as I possibly could get it here I had an xor gate that was relatively simple now technically I did need to use a nor gate here to invert the output since it ended up being flipped but once I had that it was working completely flawlessly and finally with all these Gates developed it was time to start working on the adder now you can see this first Adder circuit I'm working on now and this is called a half adder now this is of course supposed to the full ladder which eventually we will need to make as well but you can see the half adder is a lot simpler so I just wanted to start out with that now to make this I put down an xor gate here and you can see I also wanted to put down an and gate now both of these gates are accepting inputs A and B and once I did this I also needed to connect it up to the bottom and gate to do that I'm using a couple of Wheels here and by using these in a couple of cables I can carry the rotation from those top Wheels over to the bottom and this lets me also connect those inputs directly into this and gate and now with pretty limited trouble I have a working half adder now you can see as I cycle through all of the different input configurations I actually am adding up to the correct output now this was really good but I do still want to make that full ladder and what this is going to let me do is add on one more input hydraulic this is going to be very important for linking multiple of these sections together and letting me add much larger numbers than just zero and one so I copied over another xor gate you can see I added a hydraulic onto the front here and by using some cables I'm able to attach that input over to this xor gate now at first here this seemed to be working pretty well and it did seem to be generating the correct output now I'm trying not to get too into the Weeds on exactly what it's connecting to what here but once I did that and get hooked up I just needed one last or gate on the end here and you can see now once I got that hooked up I tried to cycle through every single different input configuration and with all of these different numbers here I'm trying to show you guys that this actually is working as expected it's definitely quite a bit more complicated than the half adder but with this it should let me Cascade these things directly into each other and My Hope was to be able to add two 4-bit numbers together so with that working theoretically all I need to do now is just add on another one of these sections and you can see here by using four more cables I'm able to Cascade the first Adder directly into the second one trying this out here it did arrive at the right result but I also noticed that some of these linkages didn't seem to be rotated a full 90 degrees which was causing them to not perfectly snap to the right positions now one solution I found was expanding out these spring mechanisms and this allows things to rotate a lot further but I could still see there was a little bit of error and if I added on any more of these Adder units it probably would be enough to start causing wrong answers so to fix that I did have an idea you'll notice this little latch that I made before is finally making an appearance and now as I turn on this output the spring is helping to push the output over to the correct position and by using another spring here I'm able to Loosely link them and this lets it very nicely snap over to the right and of course I could shrink this a lot here and with this my answer was a lot better to find now I'd realize I could also Cascade a lot more of these into each other and this reduces the error even more with three of these it was snapping very nicely left and right and once I saw that I wanted to try to add on another one of these units so I went ahead I copied over this entire thing onto the bottom here and the leg was a lot stronger but at least initially it did seem to be giving the right result and after trying out a few other random results here it seemed to be working really well so you'll notice now I'm finally going back to figure out a way to copy data from one place to another now this little latch clearly proved itself as a way to be able to store data but being able to copy it I still needed to come up with some sort of system now the first idea I had here was using a hydraulic to push down on this bar and you can see here it copies the state of the left bars now if another hydraulic here I'm able to expand it and this at least initially seemed to kind of work eventually I even got the idea of using Hydraulics to kind of contract and pull over my latch this was good but the problem with it is that since these two Hydraulics have a node in the middle they donate a good way of pushing out the bar and latching it over to the other position to do that I realized I could add in another set of hydraulics here and with this design I'm able to copy the current state of this hydraulic over on the latch now you can see here I'm able to write a one and then by Contracting the hydraulic I'm able to recontract all of the other Hydraulics and then write a zero this is of course exactly what I'm looking to do and you can see simplify the design quite a bit here to make it a lot smaller with this it functions in the same way and I'm able to still copy data over but now I was hoping to attach it up directly to the adder so I copied a few of these together and you can see to the input of the adder here I used a bar to attach it to my latch now I did this for all the other bits as well and would say that done for the other input bit on all of the other Adder sections I flipped around the mechanism and this allows me to add in one more copy and by doing this on all the other bits I now have two input Registries that I can use to actually read data in before it gets added together now I know by now things are getting pretty theoretical so what I want to try doing is focusing on just the main sections I'm adding the next one I added is another one of these registers and it's right on the output of the adder the advantage to doing this is that even if the input to the adder changes I'll still have something that remembers the state it was previously in and also you'll notice I'm adding in a lot of Steel going towards the back of the computer this is effectively acting like a bus bar and by having this in I'm gonna be able to have the output of the adder run back into the input and this is what's going to let me do a lot of calculations over and over again and of course here I added this in for every single bit and once that was done on I wanted to try attaching up this bus bar over to the input of the adder now giving this a shot here it did actually seem to work at first and I was able to carry the result from the calculation back over to the input the only tiny issue I had is as I tried to read it in here instead of writing the data into this register it seemed like the output of the adder was just a little bit too weak and it ended up accidentally raiding out to the adder instead of the other way around fortunately though this is also a pretty easy problem to solve because all I needed to do is add in some split joints that automatically lock onto the bus and don't allow it to move after I want it to now once it locks in place here you can see I'm easily able to pull over the spring and write a one now this works really well so I copied it over to all of the other bits and with the adder looking really good now next I wanted to add in some Ram at first this definitely seems like it'd be pretty complicated but really we already have everything developed all you need to do here is copy a bunch of these registers in a line and then I just need to attach it up to this bus bar now let's look at this on all of the bits here I have four separate places I can store data and consider the complexity of this computer it seemed like a good place to stop and with that I just had one more latch I wanted to add in this is gonna be for the output register and you'll notice I put it on the very end of the adder here now by Contracting those Hydraulics it'll read the data in from the bus and by adding in some fingers here I'll be able to easily see whatever data I want to now as a quick test here I wanted to read in one and you can see here I was able to do that pretty easily and I also wrote all of that data into RAM as a quick test here and exhale all of these top latches end up being set looking at the bit below it you'll notice all of these latches end up being not set so with this proof of concept pretty much good to go here I wanted to add in a lot more Hydraulics and start working on a program the first thing I wanted to make here was going to be a Fibonacci program to count through all of the different numbers of course it took me a little while going through every single phase and turning on whatever Hydraulics you need to be either reading or writing data now starting out it does produce a one on the output which is good and the next value you should read in is a two this didn't happen though and instead it just said it was Zero that was a little strange and it was looking for what the problem might be and fortunately it was super simple I ended up just missing a couple split joints and I was trying to program everything so I spent a little while just verifying that I had everything correct now and once everything was looking a lot better here I wanted to give it another test now starting out again one gets written fine after that we do get two which is good and x value is three then it's five which is also good but unfortunately after that then we get like 12 and then seven or something it wasn't going great and I noticed the problem was once again this carry bit my little spring system was still just a little bit too strong for it and I was gonna need to be even more careful if I wanted it to propagate through so I spent another extremely long period of time trying to fix that and once again I gave this another test now three Works fireworks then I got eight which is correct but then it failed once again this time it ended up being a couple of hydraulics I was using to lock everything in place that weren't correctly moving so you can see with another test here I gotta eat now I actually got 13 and 21 also worked out well the final value I programmed in was 34 which I actually can't even properly show here but at least the two showed which I'm gonna consider good enough and originally I was gonna stop recording there but there was something that was bothering me I really wanted to have a nicer output than just four bars that move up and down and ideally I wanted some sort of slider that showed what value was currently being displayed now you'll notice here I'm using four Hydraulics and I'm connecting up a couple of Wheels here with some cables and this was sort of the idea behind what I wanted now the idea is that by using a lot of these cable designs I should be able to make a nice slider and it's starting out here at the most significant bit you'll notice that as this bottom hydraulic expands and contracts it moves this node on the bottom left over four meters Now by adding in a little wheel on the bottom here I'm also able to connect this up to the hydraulic above it and by doing that I'll be able to add another wheel that moves two meters now this in place here you can see that these rotate sort of on top of each other and this gives me four separate states to point to now basically by stacking on two more of these wheels on top of each other I'll be able to point to 16 unique locations and that's going to be a very nice slider output it was getting a little crowded with nodes on the bottom here but with three of these in place it wasn't too bad at the moment and this gives me e distinct states to point to it also looks pretty interesting as it moves around in my opinion and finally here add in the last hydraulic and while it's a little hard to keep track of I'm actually able to point to 16 unique states now I'd realized it actually is really difficult to see what's going on so I added on a whole bunch of split joints here and these are going to allow me to show you what I'm pointing at this bar on the bottom is showing currently where I'm at and you can see that every time a hydraulic moves I move forward one of these split joints this was nearly working perfectly all I needed to do now is add in a couple straight line linkages and you'll notice now this bar moves exactly forward half a meter every time a hydraulic expands this gives me a very nice slider motion and by adding in a couple of hydraulics here I'm able to point directly at something and with this I pretty much had exactly what I was looking for here so I connected up the input to this to all of the output shafts and also adding in of numbers here I'm able to run my Fibonacci program again and you can see it does seem to work it's a little bouncy but as long as you look kind of in between where it's bouncing it does actually work pretty well now displaying 8 was a bit of a problem since there's just so much weight I need to move around it actually overloaded the output but just by adding in more Springs here I was able to tighten the whole mechanism a lot more I was actually able to read in the eight here and also display the 13 which is gonna be on D this was great so finally here I encapsulated the entire thing and I decided to write one more program this one you're looking at now is a pretty simple counting program and it just keeps adding one to the output every single cycle the output is still very bouncy which I'm not thrilled about but it does actually seem to work pretty well here an exceeding able to write all the way up to F now coming back from 15 all the way down to zero did kind of break it but it was what you said anyway so that should be fine and finally now I just want to do one more quick run of Fibonacci and also one more extra program so guys there you have it finally I've made a computer and while I don't have any conditional jumps that I can do and I'm kind of using the hydraulic controller to make it a lot easier to run things I think it's actually pretty simple for what it's doing and I'm pretty happy with how everything turned out but guys hope you are polybridge ideas make sure to leave them down in the comments below make sure to subscribe if you want to see more content like this and otherwise till next time
Info
Channel: Reid Captain
Views: 279,350
Rating: undefined out of 5
Keywords:
Id: Ljyto6AdL-Q
Channel Id: undefined
Length: 22min 40sec (1360 seconds)
Published: Thu Sep 28 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.