Wednesday, February 26, 2014

Bug fixes

Week 6 was meant to be a week for fixing bugs. The only bug that I could find in the Bluetooth portion was that the app would crash if the Bluetooth module was not in range when the app launched. Next week I will begin working on text to speech implementation.

Tuesday, February 25, 2014

Android map update

So good news, theoretically I have fixed the accuracy issue that the application was plagued with before. The bad news is that I can't test it, as the routing call isn't working for some reason. I believe it's an issue with my phone rather than with the code, since that portion of the code is the same as it was before me fixing the general code-base. I will hijack Maarij's phone to test it relatively soon.

More modifications to be done include: Cleaning up the code, creating new functions (to help clean code), and working on new features.
I've found a decent battery charging chip for 1-2 LiIon battery packs, allowing our device to utilize the Micro as well as being rechargeable.

Tuesday, February 18, 2014

Ben's Log: Bluetooth to Hardware

We now have the Arduino properly communicating with the Android phone via Bluetooth. This is an important step for hardware - it is now possible to pass each direction to the Arduino to be interpreted and translated into motor signals.

Maarij's Log: Communication working

The Bluetooth now works with communication between the Android app and the Arduino. The Android app sends a character over Bluetooth indicating which direction to head and the Arduino reads this via the Bluetooth module. Based on what is read, the Arduino will tell the user which direction to go. Currently only directional commands are sent via Bluetooth but in the future we may implement more sophisticated commands for better guidance.

Ken's Log: Fixed the maps

So I've been working on relational directions for the user. This meant applying the routing API to determine the users next move, as getting the users bearing. Using a very VERY loose implementation of relational bearings, the application now knows which way to point the user in the case of 'Head X', with X being North, South, East, West.

Other than that, we have it interacting with the arduino, which actually reads in the data. So we've got that going for us.

Tuesday, February 11, 2014

Hardware Update

I have four coin-style vibration motors running simultaneously through the Arduino Micro, toggled on and off via TIP31 transistors. The motors are (temporarily) powered by the Arduino's digital pins, but will soon have a separate power source to avoid damaging the microcontroller. The motors are attached to the fingertips of a glove for the time being, but will eventually be more permanently mounted on a soon to be decided surface.



(sorry for the late post)

Routing update

Today I implemented routing to an extent using an open-source library, linked here. So far so good, however I need to work on incorporating it smoothly. After this, I need to implement the speech recognition/search API to allow the user to route between their current location and their destination.

Other then that, nothing to report on this front.

Sunday, February 9, 2014

Android to Arduino Sending Data

Android to Arduino is now successfully sending data. The screenshot below shows that the data is being sent successfully and that it is also broken down by characters. This is because we plan on controlling the direction by using numbers 1 through 4 to decide which direction it will be vibrating. We may decide to change this later when we add more features.



Tuesday, February 4, 2014

Arduino Hardware Update

 I have tested both the vibrating motor and the solenoids we have with the Arduino.  As of now, I think we should go with the motors because they don't heat up nearly as much as the solenoid. The only problem with them is that they're operation can be impeded with very little touch. Perhaps low powered solenoids would be an option, assuming their default position is retracted.




Monday, February 3, 2014

Android Bluetooth API

I have found a couple resources for performing Bluetooth operations with Android. The API can be found on the Android site and there were some examples there as well. As of now, I have set up a way to send messages but the Bluetooth does not completely work. I believe I will have it done sometime early this week though.

Updating and centering on the user on the map

I've started to work on routing/input for the user; however at the time of this post it was in no shape to post about. So this post is just an update on the user's location being centered on the map, and how it accurately follows the user's position when walking. You can see a screenshot of the application below, and how it is centered on my current location (upon writing this).


A possible alteration to this would be to reduce the amount of location request calls done in a minute to help save battery life, however that will most likely be implemented later on in development.