Task
- 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
Now we are in 16th week of fab academy ,in this week for indivisual assignment we have to build communication between our input and output board.we can number of option to complete this week's assignment and project part like processing(software),MIT App inventor(application building software),Matlab(Mathematical operation & plotting etc.so I tried processing,and MIT app inventor I would like to use Matlab also I downloaded the trial version of it but it tooks too much time to learn and work out so I started with building the MIT app,I tried with some sample programme.
MIT App Inventor
App Inventor is an open-source web application invented by Google, and now maintained by the Massachusetts Institute of Technology, it allows computer programming to create software applications to begginer for the Android operating system.
Process to development of App:1. I browse the MIT app inventor on google and open it. For using it we need to sign in using Google Account. I create one new project. The layout of MIT app is very easy.
After the sign up with google the main window look like this
the important keywords about app inventor are
Before starting the building the app I cleared my idea about app is I want to operate servo motor lock by mobile app,the I want to make 3 screen app containing simple welcome window at screen1,sign up account window at screen2 and actual bluetooth acess and controlling on screen 3
For making this app I refer this tutorial,it is too helpful
In the screen 1 I just need one picture and one button for next scree,so I drag it in active window rename the button ,and add the picture of lock and adjust its height and width
After this simple design on screen we have to move on the "Block ", window for making the relative connection to designed blocks,this is also user friendly window we have to just pick appropriate block drag it to block window and add it as per required application.
I need screen 2 about "Login" so I picked simple and common design,I addedlabels,text boxt,password text box
Follow the same process on block window for screen 2
After connecting the all blocks of screen 2 we got
Now moving to screen 3 ,this is my main control window here I want blutooth connection and motor open close block block.
so I designed it as,I addedAccelometer sensor,button for blutooth ,open and clode command
Here I was following the instruction as per tutorial this block is too long & big because it has number of command on bluetooth device like"bluthooth is connected or not","motor close" ,"motor open",I provide text speech for all this command,I added 90 degree rotation to motor.so screen 3 window looks like
the block window for screen 3 look like
now my application is ready
After developing the application on MIT App inventor ,now its time to actual interfacing it to board,so for that I have to download this application on my android mobile
For downloading this app I had 2 options in App inventor i.e. scan QR code and save the .apk file to computer I chose Scan QR and download app option
After downloading and installation of program in my moblie I have to connect whole circuit to my app.
but I have small issue that for input and output device board I don't used servo motor ,I didn't build board for servo motor so I don't have required pins of Rx,TX,and signal pins so I checked my app with arduino board for that I used this circuit diagram after some time I will make my board for servo motor.
as per above image I used Bluetooth module-HC 05,Arduino Uno board(will be replace by my own input /output board),servo motor,and connector
after proper connection of circuit I ran this program for bluetooth and servo in arduino ide
This "smart lock "app is now connected with my final project board to operate the servo motor
Steps to operate:
Summary
- I learnt about how to build application using MIT app inventor
- I understand the basic of processing.
- I learn how to communicate and control between input and output devices.