It can be too easy to get stuck overthinking your ideas and letting your gears grind without making any progress. As makers, designers, engineers, hobbyists, etc. it is crucial for us to get out of our heads and sketch out our ideas as they come. It takes practice, but ultimately the more we sketch, the more we can create and the better we can share our ideas.
Inspired by Craighton Berman's Pencil Sharpener, this design allows you to measure your creativity based on how much you draw. The wearable tech form accommodates any tool preference - from pencil to sharpie to finger paint. This is a two part system including a wearable band that tracks your drawing and a desktop display of your progress.
Step 1: Materials
First things first, materials. For this project you'll need the following:
- Sheet of 1/16" Black Acrylic (size determined by your laser cutter - I used 12" x 24")
- Sheet of 1/4" Plywood (again determined by laser cutter dimensions)
- Wax Paper
- .09" chipboard/cardboard (or thinner)
- 1/2 " Black elastic (about 1 foot should be plenty)
- 3 x Pack of 5 RGB NeoPixels https://www.adafruit.com/product/1612
- 1 x FLORA https://www.adafruit.com/products/659
- 1 x Arduino UNO https://www.adafruit.com/products/50
- 1 x FLORA Accelerometer/Compass https://www.adafruit.com/products/1247
- Lithium Ion Polymer Battery https://www.adafruit.com/product/1578
- 2 x XBee Module Series 1 https://www.adafruit.com/products/128
- 2 x XBee Adapters https://www.adafruit.com/products/126
- USB Lipoly Charger https://www.adafruit.com/product/1304
- Solderable Breadboard
- 300 to 500 Ohm resistor
- 1000 micro Farad capacitor (6.3 V or higher)
- Female DC power adapter https://www.adafruit.com/products/368
- 5V Power supply https://www.adafruit.com/products/276
Step 2: Accelerometer
To start we need to wire up the accelerometer to the FLORA. Simply connect and solder the 3V, SDA, SCL, and GND ports of the accelerometer to the corresponding ports on the FLORA. To minimize the size of your circuit, solder the leads short enough that the acelerometer can lay flat on the bottom side of the FLORA, as shown. Before continuing you'll want to test that the accelerometer is functioning properly.
If this is your first time using a FLORA you'll need to make sure you have the board managers and libraries installed. See here for further instructions on getting this set up: https://learn.adafruit.com/add-boards-arduino-v164... You'll also need to install the LSM303 library and the Unified Sensor library for the accelerometer.
Then you can use the example code under File > Examples > Adafruit LSM 303 > test in Arduino IDE. A good way to test that the sensor is working properly is to open serial monitor and observe what happens as you rotate it. The sensor can detect gravity so you should see a large Z acceleration when holding the accelerometer flat, and large X or Y when you tilt it side to side or up and down.
Step 3: XBee Radios
Next it's time to hook up the XBee Radios. To connect the XBee Modules to the XBee adapters, you can follow this guide: https://learn.adafruit.com/xbee-radios/solder-it. Do this for both Xbees. One of the XBees will be attached to the FLORA and the other to the UNO. Let's start with the FLORA.
Hook up the 3 V and GND pins between the XBee and FLORA, as you did for the accelerometer. In addition to this, you'll need to hook the RX on the XBee to the TX on the FLORA and the TX on theXBee to the RX on the FLORA. The inversion here is due to the mode of communication. The FLORA is transmitting to the XBee, thus the transmitter on the FLORA is connected to the receiver on the XBee. In order to minimize the space of your circuit, wire the XBee such that it can lay on the top of the FLORA (the opposite side from the accelerometer). You should add electrical tape to the bottom of the XBee to avoid short circuits.
Next, you'll need to connect the second XBee to the UNO. This time you'll connect the 5 V on the XBee to 5 V on the UNO and connect to GND. Additionally for the code provided you'll need RX connect to pin 3 and TX to pin 2. You can test with a solderless breadboard, as shown in the image, if you'd like. Or you can go ahead an solder onto the soldered breadboard.
Now it's time to test that the transmission between the XBees are working. You can do this with the attached files. First, load the FLORA code onto the FLORA, unplug, then load the UNO code onto the UNO. To test, power the FLORA with your lipoly battery and keep the UNO connected to the computer. Open the serial monitor on the computer. After 5 seconds, if the transmission if working properly, it should read "Transmission Received."
If your lipoly battery is not charged, simply connect it to the USB charger on the materials list and insert the charger into any usb port.
Step 4: LEDs
Before we can wire the LEDs, we need to know where they will sit in the display. The setup is that the LEDs sit in a cardboard housing which is in enclosed in the wooden display box. So, start by cutting out the cardboard pieces. You'll need a 2 " x 6.03 " piece, two 1 " x 6.03 " pieces, and seven more pieces slightly smaller than 2" x 1" (these are the horizontal pieces that will go on the inside of the box and their exact dimensions depend on how thick your cardboard is). The overall dimensions of your box should be 2" x 1" x 6.03". (**Note that this dimensions do not perfectly align with what's shown in the photos. The dimensions in the photo are inaccurate and were later edited).
On the 2" x 6.03" piece of chipboard, lay out where the LEDs should go. Each horizontal cutout of the bar display will have 2 LEDS, so you should have 6 rows of 2 LEDs evenly spaced. It doesn't have to be perfect, but aim to place them as shown in the image above. Cut out small rectangles just big enough to fit your NeoPixels (approximately .19" square). With the LEDs setup in this layout, you can solder them together. First make sure the NeoPixels are pointing in the right direction. This means on the left hand column all the arrows on the LEDs should be pointed up, then on the right column all the arrows should be pointed down. Now, solder along together 5V, GND, and Din/Dout on each consecutive pixel, as shown. For extra stability, you can tape the LEDs onto the cardboard. Be sure to leave enough length on the leads into the first pixel to connect to the UNO.
To test, use your breadboard and setup the circuit shown in the images. Connect the Din line of the NeoPixels to pin 9 through your resistor (between 300 and 500 Ohms). Then connect your capacitor in between the 5V and GND leads of the NeoPixels. Also connect these to the positive and negative ends of the female power jack. Finally wire a line between this GND and the GND on your UNO. To power, first plug in the 5V power supply to the power jack connected to the NeoPixels, then plug in the UNO to the computer. You can use the Arduino sample code Examples> Adafruit > NeoPixels > Simple. Be sure to specify that you are using pin 9 on the FLORA and that you have 12 pixels.
For more information on working with NeoPixels, please refer to Adafruit's Uberguide here:https://learn.adafruit.com/adafruit-neopixel-uberguide/best-practices
Step 5: Display Box
With the cardboard pieces from the previous step, finish gluing together the cardboard box as shown above. Cutout a piece of the wax paper to be 2" x 6.03", to fit over the front of the cardboard box, then glue that on. (I used hot glue for all of this so it would dry quickly, but it is up to your personal preference).
Now it's time to laser cut the rest of the pieces. Use the attached illustrator files to cut the wood and acrylic pieces. Then glue together the wood and acrylic as shown. (**Note there are two pieces in the acrylic file. The second piece is the base for the wearable band. You can set this aside until the next step). Finally slide the cardboard box assembly into the wooden box, making sure to align the LEDs with the rectangular cutouts of the acylic front. It should fit snugly in the wood box and stay on its own, but use glue or tape if necessary.
If you'd like, you can test the LEDs again to see how the light diffusion through the paper looks.
At this point, if you haven't already done so, you can consolidate all breadboard circuits for the UNO to a single soldered breadboard. This will have the LED circuit shown in the previous step as well as the 5V from the XBee. Next, slide the UNO, XBee, and breadboard into the box . You can use electrical tape to secure them. Be sure to position the UNO power port and female power jack in a place where they can be easily accessed when you are ready to plug in.
Step 6: Wearable Band
First hot glue the bottom of the FLORA to the acrylic piece from the previous step. Just a couple small dabs of glue on the wires will be sufficient. **Be sure to do this is a way such that the charger for the FLORA 90 degrees from the rectangular openings on the mount (as shown in photos). Take the elastic and loop it through the opening on the acrylic mount creating a loop around the FLORA and mount. Hand sew the loop tightly and trim the elastic. Then take the remaining elastic and sew it to the acrylic side pieces, creating a wristband.
The lipoly battery can slide into the holder formed by the elastic and the underside of the acrylic mount.
Step 7: Code and Testing
At this point you should have a wearable band powered by the lipoly battery and a LED display powered by a 5V supply to the power jack and another supply to the UNO. The final code is attached. There are a few elements within the code that you may want to edit and customize.
The two main customizations are the drawing time measurement corresponding to a bar display increase and color of LEDs. Currently the next bar lights after 1 minute in a bright green color. Both of these can be edited in the UNO code.
There are a few suggestions and serial print options in the code for debugging issues inside the code.