#2501 ARDUINO CHALLENGE

What to do, what to do?

I know that I want to make something useful for the one and only Lovely Lula Belle, service dog extraordinaire. There is currently less certainty over whether it should be something that makes my life easier or her life a little more fun. I’ve done a little research and found one really cool project that makes a dog ball throwing machine. This would accomplish both of the goals and Lula loves fetch almost as much as she loves swimming. Unfortunately, I will not have access to the necessary woodworking equipment until we move to the new house. And we do not do that until after this project is due, so moving one. There is an interesting combination of wires and water for a automatic dog water bowl filler. By interesting, I mean concerning. Anyways, it isn’t really necessary for us because Lula is always with me and I like to empty and clean out her bowl everyday. Oh, a GPS. That could be interesting. It is especially cool because Lula runs around so much more than the distance I cover on walks. I would love to see how much exercise my crazy pupper actually gets. Additionally, I do not want to have her on the lease all the time at the new house. So maybe this would be a good way to keep track of her. It is decided. I will create some sort of Arduino powered wearable for Lula that has a GPS tracker in it. That sounds sufficiently cool.

– Wednesday, March 15th


Will it work, will it work?

Let the research begin. I immediately found a very cool project that uses a FLORA sewable micro-controller to connect the components to a vest. The only thing is that it is only able to track the movements after you bring the device back to a computer; it does not track GPS in real time. I think it would very very very cool to be able to track Lula in real time, just in case a squirrel ever runs a mile away into the woods.

So, I have to refine the search to some kind of real time GPS tracking set up. It looks like there are two main ways to accomplish this goal. One option, is to tie the device to a SIM card. This option – through presented as the most straightforward – frankly confused me. The second option seemed very cool at first. It uses these little devices that contain antennas called X-bees. Unfortunately, this is a very costly option. It requires multiple arduinos that communicate via the X-bees, the X-bees themselves need an arduino shield and special attachment to code them, and the cheapest X-bees only work at 100ft. It was getting way to costly, way too fast.

All in all – for now – it looks like I will be going back to the original GPS idea that retroactively tracks where the pup has been. It will be a good way to see how much more Lula is moving than I am on her squirrel chases and runs in the woods.

– Thursday, March 16th


It will work, it will work, hooray!

So new plan! I went back to the basics of what I wanted. An arduino wearable that had some GPS tracking capability, albeit retroactively.

  1. Research different models of wearable arduino

It turns out there are two main sewable arduinos: lilypad and flora. The FLORA ended up having a wider variety of add on options and was less expensive. So, FLORA it will be.

     2. Decide what I want to do given the variety of additional components available.

There are so many things to choose from, including beautiful ropes of led lights. So many thoughts running through my head, from a collar made out of led ropes to some kind of accelerometer/compass combo that would track movement. The collar would be too gaudy and it was unclear just how I would make use of the latter. Eventually, I had an idea.

3. Flesh out the idea and order the components, finally!

I am going to use a light sensor that will turn on led lights connected to a dog harness. The lights will turn on when the light sensor senses the darkening sky at nighttime (or when it is rainy). This would be combined with the original GPS idea and help me to make it my own.

Monday, March 20th


Finding code is hard to do ♫♫

All of the parts arrived during the first week of April. This is good and exciting and yay! I got all the parts hooked together with alligator clips in the right places before the first setback arrived. The Arduino coding center does not have the Adafruit Flora as a board option and to make things worse the alternate coding site that was suggested is shutting down. It took me a great long while and some very creative google searches to figure out the solution. It is about adding a third party board and involves updating certain preferences to include a json file. On the bright side: look at all the gibberish words that make sense to me now!

In another stroke of luck, this solution helped me with the next roadblock in my Arduino path. I had found a variety of tutorials about the first steps in testing out both the GPS and the light sensor. What all of these tutorials had in common (besides not explaining things well) was the use of the arduino software’s example files. On my personal computer’s version of the software none of these specific example files existed. Enter the preferences section again…. I had to install a new Arduino Library, which a very nice tutorial explained to me.

I was then able to successfully track the light readings using the Arduino Serial Monitor in real time, turn the GPS on, and light up an led. All of this was completed using a variety of sample codes from the same tutorials I had used before. Then I realized that I knew how to do all of those things independently of each other, but I did not know to make the led dependent on the reading of the light sensor or connect the light sensor/led array and the GPS array to the FLORA at the same time. At this point, I had been at it for approximately four hours and was burned out. So, the plan is to put this problem away for another day.

– Thursday, April 13th


Have I found a solution yet, I sure hope so….

Adafruit wearable Wednesday is useless. They say cool things you can do, without explaining how to do them. Case in point, this video that simply announces a FLORA light sensor.

I found the key! I spoke too soon. Perhaps another key? Nope.  The problem is that all tutorials are for regular Arduinos, perhaps they would have workd better with the Lilypad instead of my Adafruit product… There are no guidelines for how to use the Flora light sensor as a switch; I can see how much light is coming in at a given time, but cannot mesh that tutorial with the other pure Arduino ones. I have tried just about everything I can think of for the moment.

The next step is to see if I can get the GPS part up and running, before troubleshooting the light sensor LED switch.

 – Saturday, April 15th


♫ Its the Final Countdown ♫

It is almost midnight.  After working for for more hours on Sunday, I am still stuck on the light sensor/led/on-off switch problem. I have tried everything from going through the basics again, to reconnecting the alligator clips (and later resewing the connection), and all the google searches possible. Still no progress.  I have been working since 2pm. It is disheartening to have made next to no progress in 8 hours.

I have not yet had the chance to go out and test my GPS tracker, but it is with crossed fingers I take Lula out for a walk. And the verdict is in, I have a faulty battery pack that does not allow the GPS to track when it is disconnected from the computer…. Another roadblock. This time with not time to fix or trouble shoot it. I had the best intentions when starting this project, but now it seems I may have bitten off a bit more than I could chew. My desk is littered with alligator clips, ends of conductive thread, and one broken battery pack. It is not an impeccable surface with a shining example of introductory Arduino maker excellence. I am not giving up, but am sorry to report that I may not have a working example due to the many setbacks laid out in this diary.

– Monday, April 17th


Conclusion

I started this process with great belief in the Arduino’s accessibility to all users. Looking at all the projects from a ball launcher for puppies to cat feeders that identify the specific cat (so the other does not steal food!). And I was just looking at pet based projects, it seems like there were endless possibilities that could be created with an Arduino, a few extra parts, and some creative coding. Then I began hitting a great many roadblocks.

Once I fleshed out my original idea, I began to realize that actually making a functioning Ardunio creation was a bit more complicated than I believed. It was a bit disillusioning to discover that I would pay more getting all the separate parts for a real-time GPS tracking device than I would spend to buy one – that was waterproof too! That specific project’s estimated cost was well over $300.  The project I ended up attempting was slightly over $100. While the first was way to much for me to spend, the later is still much more than some people can spend. And from what I can tell from looking around to make sure I got the cheapest option, many projects follow a similarly and unexpectedly expensive trend. Expensive, in this case, being in opposition to democratization.

Oddly enough, in attempting to spend less, I went for a third party adafruit FLORA product over the lilypad arduino. There were no indications that this could be the case, but this decision set me up for a great many setbacks. The FLORA, unlike the Arduino, does not connect its light sensor to a specific pin. All of the examples that deal with photocells and leds, require that sensor be assigned to a specific pin. I was unable to bridge this gap. What I am saying is that there are a great many of complex idiosyncrasies that exist in the Arduino-verse. These unexpected ins and outs are difficult to know from the outside, raising the barriers to entry for those new to the Arduino.

The only way I can see of avoiding these barriers seems to be following a tutorial directly with the exact same products used in said tutorial. However, this leaves very little room for users to customize their creations. A phenomenon that is directly in contrast with the maker movement’s theme of making things uniquely fitted to the creator’s needs. For instance, I did not just need a GPS. I also wanted my creation to turn on the lights when it gets dark out. I pictured the tutorial being helpful, but not the only thing I could accomplish. It was a starting point, instead of the ultimate goal in my mind. A truly democratizing project would allow makers to reach this ultimate goal, not be stuck at the starting point.

I spent what amounts to days of time trying to reconcile all of these factors that I was unaware I would  need to reconcile with my coding of the project. In all of this time, I made practically no progress towards my goal. I found it very disheartening. I found my mind in a blur. And I found myself feeling that I was a failure for not understanding a process that was supposed to be accessible to everyone..Even after I tried the most basic tutorial, I hit a roadblock of faulty battery packs. If it was unaccessible to me, then I must be missing something obvious. This implications makes me feel like it will be a long time before I attempt something like this again.

Additionally, there would be more support for new users who are having trouble. Almost all discussion boards speak in complicated language that make the problem even larger. Even a simple error message about a missed curly bracket appeared in bright red text that only served to confuse the user.  To someone experienced, I am sure they made a lot of sense. To the novice maker, there was not easy way to figure out where I went wrong or what I needed to fix. The design of the software, discussion, and tutorials did not seem to me made to help the new user. The word tutorial implies steps that will help a user to their ultimate goal. What I found in multiple tutorials on using a light sensor was simply an announcement that it was now an option from the site. It was disappointing to find no helpful tutorials on the problems I was encountering and only indecipherable discussion forums.

For all these reasons, I do not believe Arduino is available to everyone. Even if you can ignore the relatively high cost that leaves many people out of the Arduino process, there are many less apparent barriers to becoming a successful maker using Arduino. I found that the third-party products are not necessarily translatable to the Arduino platform, which turned out to be the only place to code. Many extra complicated steps had to be taken to even be able to upload code to the Flora Board, and that was just the beginning. I did not know, as a novice maker, that these were considerations that had to be taken into consideration. To me, a game-changer would be universally adaptable and allow users to choose their own products without fear of being cut out of the process. At the very least, it would be made apparent to novices that this was a possible issue. To truly democratize access and make the Arduino accessible to all, it would need to be more transparent in its cost, reach, and design.

Waking up the morning after writing the other paragraphs, I had one more thought that represents an extension on all of my previous analysis. Instead of saying that Arduino is not accessible in current form, I think it is more accurate to say that Arduino is not immediately universally accessible. When you start, it is not accessible. Then you learn and you end up knowing a few more things that make it slightly more so. I believe that he increased transparency and assistance would most definitely help move the process along immensely. It would lower the barrier of entry and allow novices to more quickly reach a level of understanding that allows for truly democratized access in terms of understanding how Arduino works, what products to buy, and how to use them.

In the fog of dejected confusion, I did not realize I do know more now than when I started this project. Given time, it is possible that it would be within my scope. If there were resources directed at people like me, who are struggling to grasp certain concepts, I would reach that place much sooner and with less feeling of failure. That feeling made me feel like throwing the Arduino project in the trash and never looking back. With a little clarity this morning and realizing that the resources I needed are not available, I can see (with some effort) my project as a puzzle to be solved. It is something that I will continue working on and documenting, so that others can benefit from my journey. Perhaps, it will be the start of a phase where more advanced users use language that novice makers understand and where they walk you through each line of code to explain its purpose instead of leaving you to decipher it. As for my projects future, only time will tell.

– Monday April 17th to Tuesday, April 18th

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s