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!

1 comment:

  1. Your balance beam turned out to be really awesome. I think that the kids will have a lot of fun on it!

    ReplyDelete