Pages

Thursday, May 14, 2015

Part 5, Beam Project: Final Deliverable

Final Project, Part 5

Objective: To build a balance beam that would encourage risky play for children in classroom settings

We finished our balance beam!

To highlight some of the ideas from my Part 1 and Part 2 of the Beam Project, risky play is a form of activity where children can engage with the "risks" of their environment without actually harming themselves. A balance beam, a solution that my team and I brainstormed, would be a great way to build a "risky play" environment where children can feel challenged without breaking the numerous laws and regulations that restrict the activity. 

Our Balance Beam: 
  • Final Dimensions - 8.5 inches tall by 48 inches long (4 feet) by 3.5 inches wide 
  • Lights guides children along the beam, shapes lighting up underneath them and blinking in front to encourage them to step 
  • Shapes (LED strips) controlled by photocell readings, so they will only light up if child steps close/on the shapes
Process Overview 
Lessons from the prototype has helped us finish the chiseling, drilling, and surprisingly (+ thankfully), the soldering connections processes pretty smoothly. If the soldering connections didn't go as smoothly...well, let's say we were running out of strips to work with. 

To highlight the challenges that we faced while trying to put the prototype together again:
1) hole placement & sizes on the shapes
2) soldering connections between the copper ends of the LED strip and wires
3) and many more minor details (covering the sides, spacing of shapes) that we found solutions to in my last post 

Soldering the connections for the other wire strand LED went smoothly too (well, besides a few bumps here and there because the given wire was weak and we had to solder it onto a stronger one of our own). We tested each strip to make sure they worked probably more than a dozen times each during this period, to make sure that they still worked whenever we moved them. 

The process of nailing the base plank to the 4x4's and screwing the planks together was not a large challenge either. With help from Larry, our machinist (thanks so much for your ideas and help!) we learned how to stably put the beam together. As I mentioned in my last post, Part 4, we also figured out how to cover up the sides of our balance beam using Delrin.
The most formidable opponent in this last stage then, was the wiring process. We were connecting all the wires to the multiple breadboards, and at the end, decided to use one long breadboard to wire everything together. There were many wires all over, and even when the connection to the breadboard appeared to be secure, the wires could pop out with enough pressure. (As mentioned in the reflections of the prototype, wished we only bought the wire LED strand that wouldn't have required transistors! But we definitely have experience with connecting and using LED strips now!) Lowering the top of the plank to the rest of beam was a challenge, and I'm glad that we were able to lower the that final section successfully to finish the beam! It took quite a few tries (and hours...) but we managed to lower the plank without the wiring popping out. We attached the Arduino to a wooden board, and hot glued the board next to the side openings so that the battery pack can sit more comfortable, which was still attached to the Arduino, to the side the beam. The final steps, then, were relative easy: we screwed the top plank to the sides and the Delrin to the four pieces, or planks, that make up our beam. 


Final Code (If anyone wants to build a beam of their own! :D): 
//level 1, going forward: child steps, shape underneath lights up and next shape blinks
const int kPin_Photocell1 = A0; //declaring variables for photocell
const int kPin_Photocell2 = A1;
const int kPin_Photocell3 = A2;
const int kPin_Photocell4 = A3;

const int ledPin1 = 8; //declaring variables for LEDs
const int ledPin2 = 7;
const int ledPin3 = 2;
const int ledPin4 = 12;

int value1; //declaring variables (later to be set to the reading values of the photocell)
int value2;
int value3;
int value4;


void setup() {
  //setup code 
  pinMode(ledPin1, OUTPUT); //initializes pin/LED
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(ledPin4, OUTPUT);
  
}

void loop() {
  //main code, runs repeatedly:
 value1 = analogRead(kPin_Photocell1); //sets declared variable to
  numerical value read by one of the photocells (kPin_Photocell1)
 if(value1 < 800) //if the value read by photocell1 is too dark    
  (kid is on the shape)
  {
    digitalWrite(ledPin1, HIGH); //shape1 lights up
    dot(); //calls dot function, which makes the next shape blink
  }
  else 
   { 
    if(value1 > 800) //if child steps off of the shape
     {  
       digitalWrite(ledPin1, LOW); //light turns off for shape1
       delay(300); //light for shape1 continues to be turned off
     }
   }
  
 value2 = analogRead(kPin_Photocell2); //sets declared variable to
 numerical value read by one of the photocells (kPin_Photocell2)
 if(value2 < 700) //if the value read by photocell2 is too dark    
 (kid is on the shape)
  {
    digitalWrite(ledPin2, HIGH); //shape2 lights up
    dash(); //calls dash function, which makes the next shape blink
  }
  else 
   { 
    if(value2 > 700) //if child steps off of the shape
     {  
       digitalWrite(ledPin2, LOW); //light turns off for shape2
       delay(300); //light for shape2 continues to be turned off
     }
   }
  
 value3 = analogRead(kPin_Photocell3); //sets declared variable to
 numerical value read by one of the photocells (kPin_Photocell3)
 if(value3 < 750) //if the value read by photocell3 is too dark    
 (kid is on the shape)
  {
    digitalWrite(ledPin3, HIGH); //shape3 lights up
    ace(); //calls ace function, which makes the next shape blink
  }
  
  else 
   { 
    if(value3 > 750) //if child steps off of the shape
     {  
       digitalWrite(ledPin3, LOW); //light turns off for shape3
       delay(300); //light for shape3 continues to be turned off
     }
   }
  
 value4 = analogRead(kPin_Photocell4); //sets declared variable to
 numerical value read by one of the photocells (kPin_Photocell4)
 if(value4 < 700) //if the value read by photocell4 is too dark    
 (kid is on the shape)
  {
    digitalWrite(ledPin4, HIGH); //shape4 lights up
  }
  
  else 
   { 
    if(value4 > 700) //if child steps off of the shape
     {  
       digitalWrite(ledPin4, LOW); //light turns off for shape4
     }
   }
}

void dot()//dot function, shape2 blinks
{
  digitalWrite(ledPin2, HIGH);
  delay(100);
}

void dash()//dash function, shape3 blinks
{
  digitalWrite(ledPin3, HIGH);
  delay(100);
}

void ace()//ace function, shape4 blinks
{
  digitalWrite(ledPin4, HIGH);
  delay(100);
}
//We probably do not need the delays after telling the lights to turn off when the child is off the shape... 
//I took the Serial.begin and Serial.print lines off of this code so that only the main functions that affect photocell & LEDs exist 

As natural, the day before the presentation, we took precautions to make sure our beam would be functional...
This is my team that finished the balance beam with me! I am so happy I worked with them on this project. We all put effort into this final piece, and I'm glad it is the way it turned out!



And it works! With Brooke's hand, you can see they light up underneath and blink the next. In the second video, I am walking across, and although my feet cover the whole shape, it is still lit underneath!



Final Reflection: This is my last post for Engineering 160! I am delighted that we finished our final product and am happy with our product! Ideally, I wish there were things we could have added so that we could've used the full potential of Arduino to increase risky play in the classroom, but given the time constraint, I am quite content with our results. More importantly, I am glad to have experienced the process to the completion of our final product; we (my partners and I) all found roles in the last stage that have contributed hugely. Brooke did a wonderful job with wiring the LEDs and photocells to the breadboard and Arduino, and Paige was our primary go-to for putting the whole beam and base together. In addition, I've learned a lot about the time it takes and the process required to create a final product; I feel more appreciative for the genius we have around us and the effort it must have taken to initially construct the product (before it was mass produced, anyways). 
  • Soldering! I feel like my team and I definitely have become more cautious, careful, and more gentle with our equipment after all the failed soldering sessions. We had experience of being limited to the number of times we could try again with the soldering process, and although it was nerve-racking, this will be a lesson to remember when we are trying out materials we never worked with before. And for sure, never try soldering without making sure that the plastic around your materials are as far away from the soldering iron as possible...
  • Safety first! It was very important for us as a group to make sure we aren't sacrificing the safety to put our own ideas first, and of course, my team and I were the first testers of the completed beam! (As you can see in the video...it holds our weight!)
  • And most importantly (for a successful construction process)...check! Double check! Triple check! Especially mixed with 1) wires, 2) insecure, potentially insecure, and yes, even secure connections, and lastly, 3) human error in making those connections, I think I've definitely learned to check if the product/materials work the way I want it to every step of the way! And not only once, but several times; in the real world, I imagine there would be a lot more partnerships, and with that, handling of equipment and passing it around. I am happy that we checked the wires as many times as we did to make sure it was properly soldered on, because there have been times where we though the connection was already very secure (like with the LED strips that make up our triangle) but broke off somehow when we were about to put it on our final beam.
And of course, there are many other small lessons and details that we picked up along the way. I am glad that we stayed on the prototype for as long as we did (though...it still would have made my team and I less anxious if we finished it earlier...) because 1) we were able to make mistakes on the beam that helped us improve what we needed to work on in the final beam, and 2) understand the specifics details and steps required for a smooth completion of the final deliverable. I liked the leeway of making mistakes on the prototype, because it gave me things to look out for when we were on our final product without the fatality of "oh no, we can't redo this! If only we had one more chance!". Looking back at the start of the process, we were definitely ambitious with all the ideas we wanted to incorporate into our beam, but that makes it easier to list the next steps that we can take (or could have taken, with time).  

With more time, I would like to incorporate:
  • levels! I wish we had time to program levels to our beam so that the beam would grow with the aptitude of the child (i.e. the child has to finish the beam faster in level 2)
  • more than one beam...I say this tentatively, because putting together one was not easy, but because we went through a relatively* smoother process putting together the final product, a replica of the initial product doesn't sound* so bad...my stars are there to emphasize the words they are next to. I imagine that with a second beam, it would be easier to give them more challenges (i.e. stepping across beams)
  • the placement of the battery holder! As mentioned during the presentation, we could have found a way to play the battery holder so that it is out of the way on the sides (in case a child slips), and this would be a relatively easy fix
  • finding a better method of securing the wires to the bottom plank! At the moment, we are unsure of how snugly they would lie on the bottom (and in their holders), but it would have been nice for a peace of mind...
For the children in the classroom, their next step would be to have fun with our beam! We are happy we could have a functional product for them to have a "risky play" environment, and will leave it up to them to decorate our (now "their") beam. 

 Thank you for working with us throughout the year Amy! Your class has taught me a lot!

Sunday, May 10, 2015

Part 4, Beam Project: Prototype Model

Final Project, Part 4

As we were waiting for our materials to arrive, we finished the program (level 1, going forward) for our Arduino. Testing the program on single LEDs wired to to their own photocell, this is our final version of the code: 

//level 1, going forward: child steps, shape underneath lights up and next shape blinks
const int kPin_Photocell1 = A0; //declaring variables for photocell
const int kPin_Photocell2 = A1;
const int kPin_Photocell3 = A2;
const int kPin_Photocell4 = A3;

const int ledPin1 = 8; //declaring variables for LEDs
const int ledPin2 = 7;
const int ledPin3 = 2;
const int ledPin4 = 12;

int value1; //declaring variables (later to be set to the reading values of the photocell)
int value2;
int value3;
int value4;


void setup() {
  //setup code 
  pinMode(ledPin1, OUTPUT); //initializes pin/LED
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(ledPin4, OUTPUT);
  
}

void loop() {
  //main code, runs repeatedly:
 value1 = analogRead(kPin_Photocell1); //sets declared variable to
  numerical value read by one of the photocells (kPin_Photocell1)
 
 if(value1 < 800) //if the value read by photocell1 is too dark    
  (kid is on the shape)
  {
    digitalWrite(ledPin1, HIGH); //shape1 lights up
    dot(); //calls dot function, which makes the next shape blink
  }
 
  else 
   { 
    if(value1 > 800) //if child steps off of the shape
     {  
       digitalWrite(ledPin1, LOW); //light turns off for shape1
       delay(300); //light for shape1 continues to be turned off
     }
   }
  
 value2 = analogRead(kPin_Photocell2); //sets declared variable to
 numerical value read by one of the photocells (kPin_Photocell2)
 
 if(value2 < 700) //if the value read by photocell2 is too dark    
 (kid is on the shape)
  {
    digitalWrite(ledPin2, HIGH); //shape2 lights up
    dash(); //calls dash function, which makes the next shape blink
  }
  else 
   { 
    if(value2 > 700) //if child steps off of the shape
     {  
       digitalWrite(ledPin2, LOW); //light turns off for shape2
       delay(300); //light for shape2 continues to be turned off
     }
   }
  
 value3 = analogRead(kPin_Photocell3); //sets declared variable to
 numerical value read by one of the photocells (kPin_Photocell3)
 
 if(value3 < 750) //if the value read by photocell3 is too dark    
 (kid is on the shape)
  {
    digitalWrite(ledPin3, HIGH); //shape3 lights up
    ace(); //calls ace function, which makes the next shape blink
  }
  
  else 
   { 
    if(value3 > 750) //if child steps off of the shape
     {  
       digitalWrite(ledPin3, LOW); //light turns off for shape3
       delay(300); //light for shape3 continues to be turned off
     }
   }
  
 value4 = analogRead(kPin_Photocell4); //sets declared variable to
 numerical value read by one of the photocells (kPin_Photocell4)
 
 if(value4 < 700) //if the value read by photocell4 is too dark    
 (kid is on the shape)
  {
    digitalWrite(ledPin4, HIGH); //shape4 lights up
  }
  
  else 
   { 
    if(value4 > 700) //if child steps off of the shape
     {  
       digitalWrite(ledPin4, LOW); //light turns off for shape4
     }
   }
}

void dot()//dot function, shape2 blinks
{
  digitalWrite(ledPin2, HIGH);
  delay(100);
}

void dash()//dash function, shape3 blinks
{
  digitalWrite(ledPin3, HIGH);
  delay(100);
}

void ace()//ace function, shape4 blinks
{
  digitalWrite(ledPin4, HIGH);
  delay(100);
}
 
//We probably do not need the delays after telling the lights to turn off when the child is off the shape...
 
Our earlier iterations included tweaking the reading values (it used to be <400 for each) and playing around with levels and going backwards (i.e. child reaches last shape, it lights up and makes the shape behind the child blink, pattern continues). In addition, we included serial begin and print functions so that we could determine which reading values would be appropriate for the shapes to light up when a child steps them. With more time, we could have incorporated those levels, but given the time constraint, we couldn't. It would have been nice to expand on our "going backwards" portion of the code or use millis() to test the aptitude of the child and change levels.
Although I would have liked to show an image of the single LEDs controlled by the photocell readings working and with all the wires in, this is the aftermath of taking the wires out after testing and confirming our code.

As you can also see, we only have 4 LED pins activated (i.e meaning, only shapes used). By the end of this post, you'll understand why we can only have four working shapes.

After we confirmed this part of our code, our materials arrived! (Just in time!)
1) Chiseling! We had fun chiseling the shapes out (rhombus, rectangle, triangle, and heart). It took us a while to finish, but here it is: 
As shown, there have been holes we drilled to allow the wires ends of the LED strips to go through. We adjusted the locations of the holes several times, and have made the ones we have used larger in order to prevent the wire-copper solder connection from breaking. The holes in the middle are for the photocells (embedded and secured in Lego pieces) to go through. As you can tell from the sandpaper, we also had to sand down some of the splintery parts so that the would not be a problem as we handle the wood.
The triangle after we finished chiseling. Definitely needs sanding!

Fitting in the LED strips in our grooves to determine how deep they would need to be for our final product, as well as determine the lengths of each side of the shapes.
2) Soldering & RGB LED Strips...This took the longest to finish. The photo at the top right corner of the collage below shows what the strips look initially after they've been cut to the size we want (without the missing copper ends, of course). In the one right below it, one of my partners is holding the strip to show how one of the copper ends is missing...these ends tear off easily, and there are four on each side, connected to 12V, R, G, and B. Now, if the copper part that tears off is the 12V...the section of the LED strip can no longer be used :( 
As we continued this cycle of soldering...
  • can't solder
  • we managed to solder it
  • it breaks
  • it becomes unusable
  • is it really unusable, check again
  • what other ways can we solder it so that it is usable
  • it's definitely not usable, and finally 
  • we are running out of strips 
We figured out that we only needed one end of the each strip to be soldered securely in order to make shape! This helped a lot, and with a suggesting from Kat, our TA, we tried to make these strips very secure before putting it in to our prototype/final product. We made the initial mistake of simply putting it in the prototype without checking if the solder connections were properly secured and if the LED strip would actually light up, and that was a mess...
In the largest of the photos below, this is how we secured all of our LED strips afterwards to ensure there is enough brace for each connection. The strip itself is supported by a Styrofoam back so that it doesn't bend, and the ends are wrapped in duct tape in order for this fragile part to stay together and to firmly remain on the brace when we bend the wire further out.

3) Transistors, Wiring, & Testing - As I mentioned in the section above, we made the mistake of simply putting in all the connections that we "thought" was secure into our prototype and it turned out to be a disaster (aka, no lights were lit). We had already worked with one of the strips before to make sure the photocell, transistor, and LED strip worked properly together with the Arduino and breadboard, and after the fall-out of the non-tested wires that went into the prototype, we tested the LEDs every time we finished soldering. For the schematic of how the transistor, photocell, and LED strip are connected to the breadboard and Arduino, we looked online for resources.
It worked on our prototype eventually! Yay! One full shape. We were ready to move on from our prototype to our final product.

4) The thrown away Delrin-base and introduction of the 4x4 base - Amy said no, and that was the end of it. It wasn't sturdy at all, and the most important quality of this beam, to ensure the safety of the children walking across it, is stability. 
Therefore, we will not be using a Delrin base, but a 2 4x4s to support the entire structure.

5) Nailing - We can leave this for the end. We couldn't start nailing things together in our prototype yet because we are still testing with it, and the LEDs that are used here will be transferred and used on the final product. At the end, we've nailed the sides together on the prototype to be presented to class.

6) Battery Pack - We finished soldering the battery back to the plug for the Arduino smoothly. There are 6 batteries that can be placed inside, 1.5V each (9V total). 

7) LED Wire Strand - Unlike the other variety that required intensive cutting and soldering, we knew we could wire and solder this one smoothly because it only had one end for connections. We left this for the final product, due to time. 

8) Since the beam is hollow, the sides of the beams are covered, and we needed to contemplate how the teachers would be able to access the batteries as well as how the sides would be covered. Initially, we thought of creating hinges so that the teachers could lift up when they wanted to put the batteries in (to turn on the program), but that idea was shot down by Larry, our machinist. The hinge would be too unstable because the child standing on top would create a shear with the bottom plank, potentially collapsing structure. 


We would have to secure the side with a piece that would cover its entirety. To do this, we used the laser cutter to make an 2 Delrin pieces that would cover the sides. The batteries would be placed outside, though connected to the Arduino, allow the teachers to take the batteries out if they would like to turn the program off. The sides would also be screwed in to the planks, so that we can have access to the Arduino if someone would like to change the program in the future...  

9) The spacing! As we realized from our prototype, kids will be cautious when walking along the beam, but not conscious enough where they must be awkwardly putting one foot closely next to one another to move along the beam. There should be space between the shapes to account for their step sizes, which we will change in our final model. Brooke made one final run to the the classrooms to check if the sketches laid out on our final beam would work...  


 And the sketches (6'' shapes with a foot in between each) work!
 
Things to Take Away for Final Prototype (besides the information above):
  • Yay! We got all the wires soldered to the LEDs to work! They are also extra secured by Styrofoam backs! :D (hopefully they will not break anymore...fingers crossed) We can put this aside for the moment. 
  • As you can see by the photo above, chiseling for the prototype isn't the prettiest, and there is the concern for splinters. Since we had all three of us chiseling on the prototype, we will keep one person for to do the chiseling for the final product. In addition, since we have added a Styrofoam bottom to each LED strip, the grooves will have to be deeper in order to accommodate for extra height.
  • The holes for the wires to go underneath! We need to be careful of the placement of the holes, and how wide we will need them to be. Now that we have additional support underneath each LED strip, the holes and the chiseled shapes will need to be larger so that the solder connection between the wire and copper strip isn't pulled off. When we bend the wires to go underneath the board, we want to minimize the pressure near the connection, so we'll have to start bending the wire from a part further from the connection (and therefore will need a larger space for the wires to sit flat and then go underneath). 
  • Holes at the side! We'll have to line the wood up with one of its side so that we can chisel part of it away in order for the wire to go through the width of the side plank... 
  • Our base will consist of 2 4x4's instead of Delrin...and it isn't necessary to include a mechanism! (yay) 
  • Check, check, check!! We will be checking each and every single LED strip that makes up each shape before, after, and perhaps even during when we put them into our final product!  
  • And more to come...as we include additional details to the process to finish our final product!
Small Reflection (After Completion of Final Project): The longest part that kept us stuck on the prototypes was the soldering process. Wires kept tearing off of the copper section of the LED strip that allowed for connection, or the copper became coated with plastic, which made it impossible to solder then. We started to use the backsides of the strips in order to maintain connection, and when those failed, the whole strip could not be used. It was a tedious and frustrating process to use the copper ends for connection, especially since they were flimsy and tore off easily if not handled with care (which meant, 100% nonfunctional), and as I mentioned in my last post, it would have been better to only use the wire LED strands instead.

Part 3, Beam Project: Construction of 3D Mockup from Foamcore & Materials

Final Project, Part 3

While we were finalizing our materials and waiting for them to arrive, we built a foamcore model, as shown below. It is a simple design of what we imagined our beam to look like. Looking at it from the lenses of after the final project and even at the moment that we built this, we knew that this was simplifying the realities of building our balance beam. For instance, as the paper shapes show us below, sticking LEDs to wood would not be as sticking paper to Styrofoam.  What this model did help us with though, was that it raised questions about the placement of components, allowing us to hash out a few more details to the process of building the prototype. The foamcore model below has dimensions of: 2 feet long by 3 inches wide by 6 inches tall. At this point, we didn't realize we were limited to the Arduino's limit of how many sensors could fit. We made this beam 2 feet long because we only needed a portion of the beam to show how the shapes would fit in.

Lessons from the Foamcore Model
Occupying Space (spacing further improved after prototype)
How much space should each shape take up? What shapes should they be? After talking with the director, we knew that wanted simple shapes, but what shapes could be possible given the LEDs we have? To be simple, as shown in the foamcore, we initially had a heart, square, rectangle, and triangle. For spacing, we decided that allowing each shape to occupy 6 inches (length) by 3 inches (width) of space, which was a reasonable foot size for 3 - 5 year old children. It would be okay if the foot was smaller/larger than the shape. If smaller, the child would see the more of the light underneath her light, and if larger, the child would be able to cover the entirety of the photocell, ensuring she would see the next shape blink.

Hollow? Solid? 
Before we could buy wood, we needed to be clear about whether the beam would be hollow or solid inside. If hollow, we would need planks, and if solid, it would be a block of wood. We went with hollow (so, wooden planks), because we needed space to store the wires, Arduino, and breadboard(s).

LEDs/Sensor...Where Would They Go? 

It took us a while to figure out how to place our LEDs without distracting the children walking on top, but we eventually agreed to chisel grooves into our wood. This would allow the LEDs to sink in and we could drill holes at the edges of the grooves for the wires to go beneath. This method would work for the placement of our sensor too, where we could be chiseling a deep groove so that children won't be bothered by the bumps of the materials on top as they walk on the across the balance beam.

Base Support 
We needed to support the base of our beam so that it doesn't wobble as children walk across. In order to incorporate a mechanism (a requirement that we thought we still had to meet), we thought we could make our support base out of Delrin. (This, of course, was later shot down by Amy...the base would be extremely unstable with method we thought of.)

LEDs, What Should They Be? 
Strips, or individual LEDs? We went back and forth between strips and single LEDs. With strips, there wouldn't be as much wiring (there was still a lot in the end...)
If we had single LEDs though, making shapes like hearts or ovals would be easier, since we would only need to follow an outline to create the shapes. We had no strips to test with, and as we finalized our materials at the end, we decided to work with strips. There were not enough pins to utilize all of these single LEDs, and the wiring process would be a nightmare.

As we thought more about the dimensions of how long the beam should be later on, we included the Arduino's capacity into the equation. Since there were only 6 slots (A0, A1, A2, A3, A4, and A5) available for us to use a sensor, we decided on a final beam that would be 4 feet long and use 6 shapes (a sensor is needed for every shape). For the prototype, we would only need half of the length of the final beam (so, 2 feet) to show how the whole beam would work.

Materials?
It took us a week to settle and finalize the materials we would need to build our beam.We were researching which sensors we could use that would still be within our budget ($100), and although we came up with quite a few options ($5 load sensors, touch sensors, etc), we eventually went with:
  • photocells (6, one per shape, already have)
  • LED strips (a few meters, two different types of strips, different colors)
  • 4x4 wood (2)
  • planks (3 inches wide by 6 feet long) 
  • 9v battery pack with cap
  • breadboards (2, medium)
From left to right: Photocell, RGB LED Weatherproof flexi-strip 60 LED/m,  Wire Light LED Strand, 12 Warm White & Blue LEDs + Coin Cell Holder (2), 4x4 Wood
I hope you won't have trouble imagining the images of planks, battery packs, and breadboards...both varieties of LED strips were purchased at Adafruit

Eventually, we also had to add transistors to our list of materials in order to wire one type of the LED strips to our breadboard/Arduino. 

Small Reflection (After Completion of Final Project): If I could redo ordering materials again, I wish we could have only ordered the 2nd variety of LED strips. The first (RGB LED Weatherproof flexi-strip) eventually became a soldering and wiring nightmare...

Part 2, Beam Project: Objectives & Vision

Final Project, Part 2

As I mentioned in my last post, we were assigned with our beam project! I will reiterate some ideas  from my last post and try to be more detailed about

Objective: To create and encourage a "risky play" environment, where children are able to take risks without inflicting harm on themselves

What Would Our Final Product Look Like?
What did we want our final project to look like? What did we want our beam to do? What did we want the lights on our beam to do? My team and I were plagued with these questions before we could start finalizing materials to buy for the project. We needed to have a reasonable goal (given the time constraint) of what functions we would like to incorporate into our project. Reflecting, the earlier visions of our beam were definitely not reasonable given the time we had to accomplish the task...

Appearance: 
The initial ideas we had for appearances have certainly changed a lot from our final product. We looked online for images of balance beams that would help shape what we wanted.

  • The one beam with many inclines! The beam start off relatively short, allowing children of all aptitudes to begin walking on the beam, and become challenging as they walk across different inclines.
  • The one beam with many inclines AND...or simply or...heading in different directions! We imagined that our beam could be cut into multiple small ones and connected at the joints, allowing children to change directions and elevations as they moved across the beam.  
  • Two beams with levels! What if children can grow with the program we've made? What if we have a child with a high aptitude for walking across the balance beam and finishes in, say, 10 seconds? We could have the beam register "level 2" for the child, and have him/her stepping across beam to beam, as prompted by lights that he/she will see blinking. (A "Follow the Light!" Game)
And as you may guess, many other variations of these ideas. We were played around with the thoughts of making the beam longer/shorter, permitting steps to start the children off, etc. Ultimately, for simplicity, we went with...
The single beam! (With the hope of different levels...) After revisiting the classrooms and discussing with the director of the center, the initial dimensions of our beam were: 3 inches wide by 6 inches tall by 72 inches (6 feet) long. We were also informed that it might be useful to include another "curriculum" to our beam, where children could be asked to "step on the triangle", for instance. Not only would it help encourage risky play, but they could start recognizing shapes and patterns around them!



Programming: 
What did we want the lights/LEDs to do? How did we want our child to step across the beam? What would we need to include for the child to be encouraged to take "risks" on our beam?
  • Wouldn't it be cool if we had LEDs on the side of the beam that could show the progress of the children's peer (the one on the beam) to the other children? In different shapes and colors? Or like the progress levels you would see in games, where more experience would fill more of a bar? Not only would they be excited to play on the beam, but also look on as their peers finish the "levels"!
  • Could we have lights blinking all the way as they walked across the beam? Or for the LEDs that they've stepped on to remain lit as they walked across the beam, so that they are rewarded for walking across? 
  • Different levels with two beams! See above under "Appearances" 

Again, similar to the ideas for the appearance component, my team and I went into many different directions about the programming of our Arduino. Our goal, initially (and finally! after the planning) was to create different levels for children of varying aptitudes.


As we progressed through the stages of building our beam, we added necessary components required by the reality of constructing the final beam, as well as parts of our project that had to be cut by limited time. The details and steps of the building process increased as we had, in our hands, tangible materials to work with.

Small Reflection (After Completion of Final Project): Again, I am glad that we didn't follow through with our initial ambitions. With more time (and a larger budget!), they could be done, but in the end, we had less than 2 weeks to complete a prototype and a final deliverable. Making inclines, levels, or even following the initial dimensions, would have added another layer to the project that we wouldn't have had time to finish.