Once again, I found myself not going to Google IO, having lost my Ion status years ago. However, Google announced the Android Experiments contest, which got work to let me work on a cool Android hack so that I could try and get into Google IO. Unfortunately, since it's work, that means I have a time budget, so I decided to work on this thing with the following caveats:
- Parts must be readily available! (Sorry Google IO Limited Edition Arduino Board)
- Application must be using Vanilla Android and the Compatibility Library
- Application most only be possible using Android (Sorry Bluetooth)
- Total development time must be only 8 hours
- Must be well documented
With that in mind, I started working on the EL Control. I've been working with EL Wire for years. I built an EL Wire Hoodie to wear when I decided to go to Burning Man the first time. Needless to say, the playa wasn't very kind to it, but it bothered me that there was no way that I could change the pattern, so I've been working on using Arduino-based sequencers for a while and had one inside a backpack that I was going to wire up for another trip to various parties.
For this build, I am using the following parts:
- Arduino Uno - Available practically everywhere now!
- SeeedStudio EL Shield
- SparkFun Square EL Panels
- SparkFun Jumper Wire with JST
- IOIO-OTG Board
- SeeedStudio USB ELWire Inverter
- Jumper Cables
- A LARGE breadboard (recommended)
The reason I decided to use the SeeedStudio EL shield instead of the SparkFun EL Escudo Dos is because I wanted to have some digital IO pins left over to do Software Serial to the IOIO Board. The reason that we're using SoftwareSerial instead of Hardware Serial is because Hardware Serial is nearly impossible to debug. The cool thing about EL is that there's EL Tape, EL Wire and EL Panels that allow you to do a lot more quickly than with LEDs. For time, I recommend using the panels because they already have their JST connectors attached and plug into the board easily, and won't coil up and clutter your desk or workspace when you're working on them
The important thing to note is how to connect the IOIO to the Arduino. The IOIO only has certain pins that are able to be used as Serial UARTs, which is how we're connecting to the Arduino, for simplicty, I hooked up my Green Cable from pin 10 on the Arduino (RX) to pin 45 of the IOIO(TX) and Blue cable from pin 11(TX) to pin 46 of the IOIO(RX). The Ground and Vin pins are connected to Ground and 5V on the Arduino, since we need to be powered by the same power source as the Arduino to communicate with it. This is difficult to do with the ELWire Shield's Acrylic panel, since it blocks the numbers on the board.
Once this is all hooked up, load the sketch that is found at https://github.com/infil00p/ELControl/tree/master/arduino/ELShield and load it on the Arduino. Once this is done, you can hook up the EL Wire and the EL Panels to the shield. Once this is done, and you install this app here, you should be able to get this working.
This method can be applied to any Arduino project that has two pins available for SoftwareSerial. It may seem strange to turn a robust board like an IOIO into a Serial Port for Arduino, but it is probably the fastest method to get a hardware hobby project complete. While it's possible to connect various boards to the IOIO directly, this could actually add complexity to the code and it's easy to reuse existing Arudino sketches instead of trying to implement things like PWM.
Another thing that can be done is adding Bluetooth to this project using a similar method as the above, however it is more complex, and part of the goals of this project was to allow people to be able to re-create this project and implement it as quickly as possible. If I do manage to win the contest, and I do end up going to Google IO, I will be definitely be adding more features to this demo, but this is just a first proof-of-concept.
I've been somewhat busy the last three months. I decided that I wanted to get a drone before the regulation got insane, so I bought a DJI Phantom 3 Standard, and after three months of flying it, I crashed it into a tree and bent the gimbal. After talking to the repair guy, who gave me a rough estimate of the repair, I'm going to consider the first experiment into drones a failure, and get a new drone. I am not confident in my flying ability to build my own drone and fly it yet (I like AirBrakes), and after trying out the 3DR Solo Simulator, I decided to stick with DJI despite the bugginess. I will probably build a drone as well as buy one, but that will be later this year.
Now, what I DID make is dontflyhere.ca, which is a rough guide to where you can't fly your drone. This takes the data from OurAirports.com and the GoC Geogratis map for the National Parks of Canada and highlights them red so that you know not to fly there. I'm going to add more features to this, since I'm using this site and application to figure out where I can and can't fly.
Hopefully, I'm back up in the air soon, but here's a couple videos of me flying.
I made a new year's resolution to hike a day trail a week, so that I gain experience and stamina for those longer hikes in the backcountry, assuming that I get a chance to do overnight hiking this year. I decided to start the year with a trip to Jug Island in Belcarra. It's relatively close to my house, and it's a moderate trail. I managed to get it done in 1hr 30 minutes according to MyTracks. I did stop and take a bunch of 360 photos along the way, but most of them turned out badly. The ones that did work out well were the ones where I put the 360 camera on a wooden post.
Because I'm lazy, and because I have 360 photos involved, you can find the Google Photos album here
It'll be interesting to see how long I can keep up the hike-a-week thing, and whether work will end up getting in the way. I'm going to be uploading the good 360 photos that I took to Google StreetView, but I'm interested in some better solutions to the Giant Hand/Giant Tripod problem that I'm running into when I use the Ricoh Theta S. I'm finding that I want something more high-res already, but I feel that I need to use this camera more and get used to doing photos and video with it before spending money on much pricier equipment.