Week 13

Interface and Application Programming

Individual assignment:

write an application that interfaces with an input &/or output device that you made

Group assignment:

 compare as many tool options as possible, my contribution in this to read about different interfacing communication tools and discuss with group, link for group work


Described your process using words/images/screenshots

Explained the the GUI that you made and how you did it

Outlined problems and how you fixed them

Included original code


1 Program Code

2 App apk



About this week

In this week i am making an application which is graphic interface base , can be use to operate input and output devices this is really new thing for me and fun learning i started with nils lecture which is really good thing to start as it give you introduction to all the option which you can try for this thing

he talked about many things which you find in our schedule  - refer our schedule for this week

1 Language , this are core languages in which codes are written you can start with Java , python but one should have basic knowledge of programming to start writing application with this as it take time to learn this things so i choose to start with any IDE i.e integrated development environment which is a  fast idea to start with as it help you to code easily

2 Interface to write -This you may say an IDE like eclipse

3 Data -this is what actually you application contain on its interface

4 User interface - This is the interface of your application i.e graphic interfaceface which is screen having butons etc .

5 Math - Mathematical function used in your application

6 Audio /video - This are extra thing which you may include to improve user experience etc.


For this week I am making app which will make dc motor to move forward and backward as using forward and backward switch Which i have given in my app , i am using bluetooth  connectivity for connecting my board with mobile and arduino to program my board  here i am using my final project board

Understanding all this term i have two option to start either with programing using code for which if you have understanding of arduino code nicely you may start with processing or programing using graphic mathematical blocks for which you may use Mit App Inventor , firefly and i go with mit app inventor for this week

About MIT App inventor

App Inventor for Android is an open-source web application originally provided by Google, and now maintained by the Massachusetts Institute of Technology (MIT).It allows newcomers to computer programming to create software applications for the Android operating system (OS). It uses a graphical interface, very similar to Scratch and the StarLogo TNG user interface, which allows users to drag-and-drop visual objects to create an application that can run on Android devices. In creating App Inventor, read more on  wiki

 link for learning tutorial this is from their home page here you will find all relevant source for learning basic to advance about this find text turorials on this page link to video tutorial


Starting Making App on Mit App Inventor

For stating making app you have to visit link and click on create app button it  directed to another link where you have to create account using your gmail account , i started by making simple Talk To Me app at  MIT App Inventor Tutorial #1 by following step directed in official youtube tutorial video link , there are 3 videos on it explaning basic tools of inventor with steps for making basic App,  so i am not writing tutorial for that here as explained better in videos ,   i start making another  App for controling motor i.e output device using app and writing steps for that

Designing App for controlling motor

This screen has all visual component which you want in your app ,buttons ,sliders etc also you can select backgound color ,images etc. this is as simple as making graphic page


Making blocks i.e building logic for app

For making of  app based on your algorithm , As here first we want first action is to set bluetooth connectivity , for which we set our elements to bluetooth clint AddressAndNames than set clock which shows Connected on screen when bluetooth connected than we set buttons as to return F and R using bluetoothclint1 from button 1 and button 2 respectively


Problem Encounted

Before reaching to right code i did some mistakes as in first line of block i forgot to add element to bluetoothclint1 this thus on pressing them i am not getting response for connecting bluetooth , on doing correction in code my app respond properly

Testing App

For testing app you have to connect your mobile or test in emulator you can select this option from following mode

now connect the app using bar-code on screen as shown it will directely open that app on your screen for for checking its functionality you have to connect that app with bluetooth device or you can download app apk from build option

get my app apk

Making connection for programming board

Here i am using arduino for programing the board you can also use fabisp for progrming the board ,i have used that in previous ( week 9 ) for programing and i find more comfortable using arduino so i am using arduino here ,i have shown programing pins you just connect them for programig and upload code

Connection of Board with Shield and Bluetooth

In this i have given female pins in my shashakit board and l shape male pins in shield connect them as shown in image by black box  and connect bluetooth to its pins shown by red box


Programing Code

Final Video of testing app


In this week i successfully make an App and tested its working , i love features of mit app inventor even i am using the same tool for making app for my final project in which i made 9 button each represents one direction to control movement of my omni bot , you may Visit my Project Development Page for Referring App