light maze - university of colorado...

13
Light Maze TTT Project 2 Report Jason Buckingham Matt Culbreth Brian Overstreet

Upload: hatu

Post on 01-Apr-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Light Maze

TTT Project 2 Report

Jason BuckinghamMatt Culbreth

Brian Overstreet

ii

Table of Contents

1 Introduction................................................................................................................. 12 Materials ..................................................................................................................... 13 Computational Elements............................................................................................. 14 Process of Construction .............................................................................................. 2

4.1 Blocks ................................................................................................................. 24.2 Connector Pieces................................................................................................. 24.3 Mirrors ................................................................................................................ 3

5 Educational and Aesthetic Issues................................................................................ 36 Future Work ................................................................................................................ 47 Appendix..................................................................................................................... 5

7.1 Source Code ...................................................................................................... 11

1 IntroductionOur construction project consists of building a reflective maze for light to travel through.Our light source is a low power laser pointer which is reflected off of cubes through themaze until it eventually hits the end cube. All of the cubes are identical with theexception of the light sensor cube, allowing the cubes can be arranged in almost anyconceivable way. The final cube in the sequence is specially designed to have a lightsensor embedded in it. When the light sensor detects the laser pointer shining on it, thesensor will signal the cricket to chirp for two seconds. This positive feedback allows theuser to know that the course has been completed and the light has reflected successfullythroughout the maze.

2 MaterialsThe blocks were created using the brand new 3D printer in the lab. This ended upworking well because the plastic had a high density, especially compared with objectscreated in the old printer. This allowed for very solid connections between the blockswith the wooden pegs that were held tightly in the holes of the blocks. The new 3Dprinter was also exciting because we were able to check up on the blocks as they werebeing printed and see the partially built blocks as the printer progressed.

To connect blocks together, we used 1/4 inch wooden dowels because they wereinexpensive and easy to prototype with. A slight problem with the wooden dowels is thatwood tends to be warped or warp over time, and we noticed that some of our rods werenot completely straight. Ideally, we would instead use plastic rods that could beguaranteed to be straight.

We then glued 2 inch by 2 inch mirrors onto the angled surface of the blocks using hotglue. McGuckins was able to custom cut these mirrors for us at their keying departmentfor only $0.50 each.

3 Computational ElementsWe used one handy cricket as a computational element in this project. Our goal was tosimply provide the user positive feedback when the laser reached its final target, the lightsensor. Our code was written to track when the laser was hitting the light sensor. Wewanted the cricket to beep once and only once for about two seconds when the light firsthit the sensor, and then remain silent as long as the light continuously shined. If the lightshines on the sensor, then is turned off or away from the sensor, the variables on thecricket will reset and as soon as the sensor detects light again, it will beep again. Thesource code that we used for this project can be found in Section 7.1.

2

4 Process of ConstructionThis section describes how we designed and created the various elements of ourconstruction kit.

4.1 Blocks

We first constructed some very preliminary designs for our blocks using paper and tape.We cut out different shapes and folded them together to see how they would align withholes and mirrors attached. This also allowed us to more easily visualize how feasible agiven block design would be as part of a construction kit. After settling on a design, wecreated and modeled the blocks in CAD. At first, we only had one hole on each side ofthe block, but with our paper models we realized that the holes of two blocks would notline up if the blocks had differing orientations (and we wanted to support the constructionof blocks with differing orientations!). Therefore, we ended up putting three holes oneach edge of the block for the six outside edges, making a total of 18 different holes thata peg could be placed in each block. This allowed the mirrors from two connected blocksto line up when orientated at different angles. These holes can be seen with the blockdesign in Figure 7-2.

The next step in designing the blocks was to create a special block that would hold thelight sensor. There were only two design changes we had to make to the standard blockdesign in order to create the light sensor block. We added a square shaped depression onthe surface of the standard block to allow for the light sensor to sit, and we cut a tiny holein the side of the block that went into this square depression that allowed for the lightsensor wires to unobtrusively connect with the cricket. We then covered the light sensorblock with a white piece of paper so that it would scatter the laser’s light when the laserhit it. This allowed for the light sensor to detect the light change even if the laser beamdid not directly hit the light sensor, and gave us a margin of error to work with.

After finalizing our CAD drawings, we converted them into the STL format for theprinter. When we printed the blocks, we were only able to lay out four blocks on a traybecause of the size and shape of our blocks. This allowed us to print three standardblocks and the one light sensor block in one printing, which was sufficient fordemonstrating this project, but it would have been fun to have a few more blocks to playwith and significantly increase the number of design possibilities. Unfortunately printingthese blocks took over 16 hours to complete so we did not have time to print additionalblocks (and additional blocks were not a top priority). If more blocks had been a higherpriority and we wanted to only have one printing, we could have shrunk the block size by20 percent in order to fit more onto the tray at once.

4.2 Connector Pieces

The connector pieces were relatively straightforward to construct. We had designed theholes in CAD to be exactly 1/4” but we were not sure if 1/4” pegs would fit best of if weshould get something slightly smaller. We decided to take one of our blocks with us toMcGuckins to help us find the best match. At the store, we saw what our options wereand tested various material types and sizes. We found that the 1/4” rods fit snuggly just

3

as we desired, and that we had the option of choosing either steel or wood rods. Wechose the wood rods because they were more aesthetic and because they would be mucheasier to cut down to the desired lengths after purchasing. We cut the wooden rods into 4inch and 8 inch pieces using the jig saw in the lab. By providing both 4 inch and 8 inchlong rods, our blocks could be arranged in many more ways.

4.3 Mirrors

We glued the mirrors onto the surface of our standard blocks using hot glue. Hot gluewas quick drying and very easy to use for this purpose. However, the exact angle of themirrors is very important when working with light reflection, and it’s possible that the hotglue could have contributed even a slight amount to error propagation. Specifically, ifthe glue was a little bit thicker at the top edge of the mirror than the bottom edge, themirror would not have been flush against the block and it’s angle would have potentiallybeen slightly different than 45 degrees. This was sufficient for prototyping, but using thismethod left us unsure if the mirror was flush against the block.

We also have safety concerns with the mirrors as the are currently designed. The edgesof the mirrors are very sharp and could presumably cut someone’s hand easily. Toprotect against this, it would be ideal to embed the mirrors in the blocks so that theiredges would be covered with the soft plastic of the block. This would also make theblocks appear nicer and more professional.

5 Educational and Aesthetic IssuesWe believe a child would have fun with our kit and while also learning about thereflective properties of light. Interconnecting the cubes and building the light maze is funeven without hooking up the laser. It was fun for us to simply imagine how the lightmight reflect through the maze and then try to orient the blocks in new ways to changethe path of the light. Because the pegs might line up in the far left hole of one block andthen connect in the far right hole of another block it took some thinking to figure outwhich hole to put the pegs in so that the mirrors would line up. This added an additionalthinking element because the blocks do not just fit together one way. The student has toconsciously make a decision about which hole they are choosing and how that choice willaffect their design options for the next block.

Several existing construction kits share properties of our light maze. Many kits involveconnecting blocks with pegs and holes, or allow for an object to move through a 3Dmaze. One cool thing about our maze is that because it works with reflecting light, thelight can be reflected upwards. Most existing kits rely on gravity and thus the object (amarble in the case of Cuboro) can only travel in a downward direction. Our kit alsoforces the user to think ahead and envision the path that the light will take when it isreflected off of the mirrors.

We believe that this kit extends upon the tradition set forth by other construction kits.Cuboro was a construction kit that we specifically considered as we built our kit. Cuboroallows kids to create a 3D marble maze with individual blocks. Like Cuboro, we were

4

also please with the aesthetics of our kit. The plastic blocks have a simple but elegantdesign that allows for a near infinite number of maze combinations with only a smallnumber of identical blocks.

6 Future WorkAs we already stated, one important improvement would be to embed the mirrors withinthe blocks to improve safety. We also would have liked to incorporate some sort of errorcorrection into our project because the errors quickly propagate from one mirror to thenext. One possibility included convex mirrors that might have scattered the light into awider beam. Another thing that we considered but seemed somewhat impractical was toincorporate multiple lasers. We could have had a light sensor block be the fourth or fifthblock in the sequence. When the sensor detected light, it could have turned on a new,perfectly aligned laser that pointed at the next block in the sequence. This would havereset the error propagation to 0 at this point in the maze, and then we could have repeatedthis process every x number of blocks.

Another thing that would have been helpful to have created would be an adjustable laserholder that connected via pegs to the start of the light maze. This would have allowed usto adjust the laser and lock it in exactly as we wanted then continue building the maze.This way, we would not have had to find the proper angle to aim the laser on the firstmirror each time we wanted to test our maze.

5

7 Appendix

Figure 7-1 Block Design

6

Figure 7-2 Block Design

7

Figure 7-3 Block Design

8

Figure 7-4 Block Design

9

Figure 7-5 Light Sensor Block Design

Figure 7-6 Light Sensor Block Design

10

Figure 7-7 Light Sensor Block Design

11

Figure 7-8 Light Sensor Block Design

7.1 Source Code

global [beeped]

setbeeped 0

to finalloop [ send sensora ifelse sensora < 5

[

if beeped = 0

[

repeat 15 [note sensora 1]

setbeeped 1

]

]

[

setbeeped 0

]

]

end