We wanted to do something involving hardware and make something that would encourage people, especially children and teens, to learn how to code.
What it does
The end product will be a battery power desk light decoration with individually addressable RGB LEDs that the user will learn to code to produce light patterns. They will also be introduced to a variety of sensors that they can use to control their lights. The users will also be able to mix and match modules to suit their creativity. The lights will be covered in clear plastic shapes (our prototypes are paper flowers).
How we built it
For the programming side we developed a simple scratch like program for the users to code in to introduce them to coding in the arduino language. This block code will be translated into the arduino language and sent to the arduino connected to the computer.
For the hardware/electronics, we prototyped our modular product using a 4-stranded cable and lots of header pins. We used an Arduino Uno to handle the sofware, making quick temporary electronic circuits using a breadboard and jumper wires. We used several RGB LEDs that are controlled by ws2811 driver chips and a photoresistor that changes resistance when exposed to light.
We used Autodesk EAGLE to draw up some custom printed circuit boards for the project and TinkerCAD for some 3D models we can 3D print in the future.
Challenges we ran into
We wanted to use clear plastic as a diffuser for the LED lights, but we didn't have the time or resources to easily pull that off in the span of 24 hours. So instead, we prototyped using simple paper flowers to simulate that effect.
I ran into a lot of problems trying to get the block code to turn out how I wanted and ended up having to compromise by leaving out aspects, such as automatic tabbing. --Ariel
Our current design does not allow for chainable sensors. In fact right now you can only plug in one sensor at a time. Currently, that is fine because we only built one sensor module, but in the future we will use sensors that can be addressed via the I2C bus. We did not have access to 5 strand wire, so we couldn't prototype a stem that uses I2C and the WS2811 lights at the same time.
Accomplishments that we're proud of
It looks really cool, even though we didn't have the time to make a nicer diffuser with clear plastic and a 3D printer, the paper flower prototype still looks awesome with the lights behind it.
I think it was really interesting using stuff that we had around -- some Apoxie Sculpt clay and a cardboard form for the flower pot, and origami paper flowers, to make do with what we had to work with. --Giselle
What we learned
I learned a lot about hardware and arduino coding. Its not as hard as I thought it would be, though I did struggle to strip wires. --Ariel Viggiano
I learned a real application of a voltage divider which I've done calculations for in class but never really used in real life. I also learned about making GUIs in Java. I think also the experience of trying to make a product and designing based on user experience was really valuable. --Giselle Koo
What's next for Light Code
- integrate with MIT scratch or related Open Source projects such as Snap4Arduino
- order custom PCBs and 3D print to work towards a more polished final product.
- create an online presence with lots of tutorial type things.