Learning to develop apps for Android
A final year Electronic Engineering student's experience of learning to develop apps from scratch.
Tuesday, 6 March 2012
Motorised Dish Part 2
Made an app which provides continuous movement of the motors whilst a button is pressed, by implementing OnTouchListener.
Sunday, 4 March 2012
Motorised dish
After weeks of fiddling about with servos, I think the motorised dish is finally built.
I was trying to use 2 Tower Pro MG995 servos which are high-torque and really cheap, but they are terrible. In the end I spent a little more and am now using 2 Towardpro MG996R servos, which are even higher torque, and perfect for what I need. The tilt and pan brackets were ordered from China.
The video shows a simple demo sketch I've written, just to test the strength of the servos. The ADK generates random values (within defined limits) for the azimuth and elevation angle, and then writes them to the servos. Impressively, the whole thing is powered by a single USB port. I have ordered a separate power supply for the motors, but it may not be necessary.
The next step is to finish writing an app capable of controlling the dishes movements (I have started, but was held up by those shocking MG995s, AVOID!)
I was trying to use 2 Tower Pro MG995 servos which are high-torque and really cheap, but they are terrible. In the end I spent a little more and am now using 2 Towardpro MG996R servos, which are even higher torque, and perfect for what I need. The tilt and pan brackets were ordered from China.
The video shows a simple demo sketch I've written, just to test the strength of the servos. The ADK generates random values (within defined limits) for the azimuth and elevation angle, and then writes them to the servos. Impressively, the whole thing is powered by a single USB port. I have ordered a separate power supply for the motors, but it may not be necessary.
The next step is to finish writing an app capable of controlling the dishes movements (I have started, but was held up by those shocking MG995s, AVOID!)
Saturday, 4 February 2012
Monday, 7 November 2011
Satellite look angle calculations
Having spent a few months searching in vain for a good source of information on satellite look angles, I finally managed to get what I needed from a friend of mine who works for NSSL Global, a small satcoms company.
I then spent a couple of days integrating the mathematics into a simple app:
I then spent a couple of days integrating the mathematics into a simple app:
The app is available here, it's free, supported by advertising provided by admob. As of today, it's been downloaded a grand total of 14 times (2 of which are by me). Advertising revenue is, as you'd expect, pretty pathetic, but the main aim behind uploading to the market is to get some feedback regarding the accuracy of the calculations. I have tested them against various online calculators, including dishpointer, and they do seem to be correct, but I'm hoping that if there is any errors in there, they'll be picked up by people who are actively involved in satcoms.
Thursday, 27 October 2011
First Arduino and Android setup
Had a bit more of a play with the Arduino, and managed to get it connected to a handset after a few days of frustration. It appears that even with the correct version of Android, the Samsung Galaxy S2 doesn't pass the correct Vendor ID to the Arduino, meaning it's not currently possible to connect the two (at least without doing some deep firmware modifications).
Using a HTC Sensation worked perfectly first time however, as shown in this video:
The source code I used is available here;
Using a HTC Sensation worked perfectly first time however, as shown in this video:
The source code I used is available here;
It's basically a trimmed down version of Google's DemoKit app, which will only work with a very limited edition demonstration board. It was helpful in showing me the basic construction of an App and a Sketch that will work together though.
I have ordered a second-hand HTC Desire, which will hopefully work the same as the Sensation, as I can't borrow that for the duration of the project. I'm a little annoyed with Samsung, and the complete lack of documentation of this problem on the net.
I'm still waiting on the arrival of my servos, the next step will hopefully be connecting them to the dish and having a basic prototype operational pretty soon. I've also started work on the Look Angle Algorithms I'll be using to direct the dish.
Thursday, 20 October 2011
Arduino Mega ADK
The Arduino development board and satellite dish I ordered have arrived.
The idea is to have my app control the tilt angle and direction of the dish, using two servo motors, via the Arduino.
I've had a quick play with the first tutorial for the Arduino, a very basic Blink program. Waiting on the arrival of my servos now, this is probably going to be in a couple of week since they're coming from China. In the meantime, I'll be fiddling with the Arduino, and possibly adding to my app.
The idea is to have my app control the tilt angle and direction of the dish, using two servo motors, via the Arduino.
I've had a quick play with the first tutorial for the Arduino, a very basic Blink program. Waiting on the arrival of my servos now, this is probably going to be in a couple of week since they're coming from China. In the meantime, I'll be fiddling with the Arduino, and possibly adding to my app.
Wednesday, 19 October 2011
Upgrading to Android 2.3.4
So, I've now upgraded my phone to 2.3.4, which wasn't nearly as scary or as difficult as I was expecting it to be. As well as allowing me to use the Android Open Accessory Kit to control the USB output, it has also significantly improved the performance of the phone, and the battery life, which was a bonus. This has come at a price however, since I used an unofficial upgrade (Samsung haven't yet released 2.3.4 for the Galaxy S2), I have invalidated my warranty. Oh well!
Next step will be getting to grips with the Arduino ADK prototyping kit I have ordered.
Subscribe to:
Posts (Atom)