Mini-Project: Android App – Make The Number!

Ok, while I’m at uni, working on my CNC is a bit tricky. I have limited time, space and tools and only a small window of time per day in which it is socially acceptable to use drills. So I decided to try a software project.

A few months ago while watching Countdown on TV, I realised that I wanted to play the maths round in my free time. However, perusing the Google Play Store I was surprised to find  only one free app offering this game. Even this had limitations however, after 200 levels the game was over. So I decided to make my own.

The aim of the game is to take 6 randomly generated numbers and, using addition, division, multiplication and division, produce a given number. This must be done as many times as possible in 2 minutes.

My app would also feature: A leader board, an “infinite mode” (no time limit), and a feature to save sums so that you can come back and solve them later.

Luckily, Google supply their own Game api which gives access to leaderboard hosting and manipulation. This proved to be the trickiest bit of the app. It was a very fiddly process involving specifying “app signing keys”, although once you’ve done it once, it wouldn’t take long to do it again.

Anyway, here is the app!

The home screen! (I'll admit I'm not a graphic designer)

The home screen! (I’ll admit I’m not a graphic designer)

Playing against the clock!

Playing against the clock!

Screenshot_2014-11-09-14-10-37

Playing infinite mode!

 

So, feel free to download and play! If you like it please rate, review and share!

Project: Smart Watch – Case First Attempt Part 2

I like to think today has been pretty productive. Major advances on the case have been made to the extent that it can now be strapped to my wrist. 20140720_20221820140720_202225 Clearly there is no power the the watch, because the strap is only temporary and doesn’t contain a battery. Furthermore, the buttons are covered by a layer of plastic and cannot be pressed (more on this in another post). However, I am happy with the shape of it and am confident it can be progressed. The case consists of only two parts which will (probably) be held together with a rubber band.

Structure of the case

Structure of the case

The next step will be to drill holes for the power wires and also attach velcro for the strap.

Project: Smart Watch – First Thoughts on Case

Perhaps a bit prematurely, I wanted to start designing the case for the watch.

The main principles of this case will be:

Waterproof

Simple

Attachable/Removable to/from a watch strap

Two contacts to allow for power input.

Ideally I would like to 3D-print the case, but since I don’t have a 3D-printer I need to make sure I get it right first time because it’s pretty costly to buy individual items online. (Or perhaps I could get access to one at uni?)

Therefore I have decided to first make a prototype of the case by layering up 1mm thick cross-sections of plastic.

I used PTC Creo Parametric 2.0 to design a first draft of the case and this is what I came up with:

PTC Creo design. Left to right: Hidden line, shaded, 3rd angle drawing

PTC Creo design. Left to right: Hidden line, shaded, 3rd angle drawing

So, this design includes:

Floor/short-edge panels at each end for a large metal contact set into the body. A small screw will pass through the body to connect GND and VCC to the outside of the strap.

Outer edge panels (each with a small screw) to connect the transparent top cover. Having not actually designed the cover yet, this part may well change.

I’m pretty pleased with the design. Possible modifications include thinner walls, thinner pannels… and everything.

Project: Smart Watch – Basic Testing and Software

So I used a nice android app called Blueterm to test out the bluetooth functionality of the JY MCU. Works like a charm: I type it on my phone and it squirts out the serial port on the JY MCU into the arduino. So I got together some LEDs and made a little serial protocol to control each LED by sending certain bytes from the phone to tell the Arduino if the led should be on/off/flashing.

My board

Messy (and over-exposed), I know.

But I can’t use Blueterm forever so I went ahead and wrote an Android app which runs as a service on a phone (ie in the background) which monitors phone profile, call state, SMS count etc and flashes LEDs in order to convey this information.

Finally I also added some basic switches to the board which, when pressed, tell the board to either, answer the phone, speak the time (using android’s build in Text-To-Speech), read out the latest text or control music.

The software isn’t too exciting so I’ll leave it at that for now.

Projects: Smart Watch – Intro

Ok, so:

I have been using Atmel AVR chips for a while now and recently to switched to Arduino boards for convenience.

I’ve also been meaning to mess around with Bluetooth for a while now.

Smart watches are all the rage.

So I decided to build a simple smart-watch. I don’t want anything too fancy. Some LEDs, some buttons, a good 20 hour battery life and good functionality.

The main components I settled on are a Pololu A-Star 32u4 board with a JY-MCU bluetooth module (these can be found all over the interweb for around £7).

Pololu A-Star 32u4

The A-Star is based on the Atmel Atmega 32u4 and allows for 15 I/O pins, 5.5-12V input running at 16MHz.

JY MCU

The JY-MCU is a neat little board which is simple to use, if not a tad undocumented. It uses the Bluetooth Serial Interface to appear as a serial port on paired devices and works with Windows and Android but is not supported on IOS.

Anyway, I hope to find a way to mount these components on my wrist in a (potentially vain) attempt to make my life that little bit easier,