Introduction: Build Android Bluetooth App for Arduino
Hi, today i am going to make a android app for arduino Bluetooth module HC-06.Through this app you can control a light or led form your android phone.Lets do it..........
Step 1: Go to Android Editor
Go to MIT App Inventor
Link: http://appinventor.mit.edu/explore/
In the menu bar click on “Create App!”
Login using your gmail account.
If you don't have gmail account or Google Account.Then create an account.
Step 2: Start Creating Android App
In the menu bar go to “Projects”.Click on it.You will see a drop down menu.In that drop down menu click on the “Start new project”.Then a page will came and want a project name.Give a project name.I give the project name "Bluetooth_Remot".Remember in this online editor you are not allow to give space in the name.So, i use this "_" .
Step 3: Designer Page(Step-1)
Now, you are in design page.In this page you will drag and draw the outer look of the app.
Step 4: Designer Page(Step-2)
From "Palette" in "User Interface" bar drag the "ListPicker" and drop it into the screen.
Step 5: Designer Page(Step-3)
In the "Properties" bar change the name of this "ListPicker1" to "Connect".
Step 6: Designer Page(Step-4)
Like before from "Palette" in "User Interface" bar drag two "Button" and drop it into the screen.And from "Properties" bar change the name of that two Button "Text for Button1" and "Text for Button2" into "ON" and "OFF".
Step 7: Designer Page(Step-5)
Now, from "Palette" in "Connectivity" bar "BluetoothClient" and drop it into the screen.
Step 8: Designer Page(Step-6)
From "Palette" in "Sensors" bar "Clock" and drop it into the screen.
Step 9: Shift Designer Page to Blocks
On the top click on the "Blocks" and you will get a new page like shown in the picture.
Step 10: Blocks(Step-1)
From "Blocks" to "Screen1" to "ListPicker1" click it and you will get boxes like the picture.Now Drag "When ListPicker1 .BeforePicking do" and drop into "Viewer".Again from that list drag "set ListPicker1 . Elements to" and drop it into "When ListPicker1 .BeforePicking do".That will looks like the picture.
Step 11: Blocks(Step-2)
From "Blocks" to "Screen1" to "BluetoothClient1" click it and you will get boxes like the picture.Drag "BluetoothClient1 . AddressesAndNames" into "set ListPicker1 . Elements to".
Step 12: Blocks(Step-3)
Like Blocks(Step-1) and Blocks(Step-2) drag and drop like picture.
Step 13: Blocks(Step-4)
Like before from "Blocks" to "Screen1" to "Button1" drag "when Button1 . Click do" into "Viewer" .
Step 14: Blocks(Step-5)
From "Blocks" to "Screen1" to "BluetoothClient1" drag "call BluetoothClient1 . SendText text " into "Viewer" .
Step 15: Blocks(Step-6)
From "Blocks" to "Screen1" to "Text" drag " " " " into "Viewer".
Step 16: Blocks(Step-7)
Now in the text box in " " write "ON".
Step 17: Blocks(Step-8)
Flow the same steps for "Button2" shown in pictures.Only change is write "OFF" in the box.
Step 18: Download Your App
Congratulation !!!!!!!!!!!!!!!! You just build your Bluetooth app.Now to download it go to top click on "Build" and then click on "App(save .apk to my computer)".
Step 19: Arduino Program for This App
Now you have your remote to control arduino led light in pin 13.By using this remote you can ON or OFF any thing that you want.Here the simple code for arduino to control pin 13 led.
Code:
String a;
int led = 13;// add the pin number that you want to control.
void setup()
{
Serial.begin(9600);
pinMode(led,OUTPUT);
}
void loop() {
while(Serial.available()){
a=Serial.read();
Serial.println(a);
if(a=="ON")
{
digitalWrite(led,HIGH);
}
if(a=="OFF")
{
digitalWrite(led,LOW);
}
}
}
25 Comments
Question 1 year ago on Step 10
I am not able to proceed after step 10 blocks step 1 as red cross is coming on green block saying this block needs a value block connected to its socket.
Question 2 years ago on Step 19
Great project!)
Thank, you. Best regards, Anton.
3 years ago
I made it, it worked easily (when I did the right things :-)
Thanks a million! Now I can easily make remote control Bluetooth apps!
Steve
Question 3 years ago on Introduction
1. You have included a Clock in the Designer but not in the Build. ??????
2. You assume that the Bluetooth is "paired" ?????
3 years ago
The building of the app worked, very easy to make!
Thanks mate!
3 years ago
Why do we need a clock?
Pra que serve o Clock?
6 years ago
I was able to get a result by sending numbers 0 and 1
The arduino code got 0 or 0/0/128 and I don't know why
See the screenshot for the adjusted arduino code that worked
Reply 3 years ago
I know this is an old post, but I figured out it was reading the individual ASCII characters. Replace the a=Serial.read(); with a=Serial.readString(); I didn't even use the app part. I just used Bluetooth Terminal and sent the strings manually.
4 years ago
do you know how to show date in android app?
6 years ago
thanks...
6 years ago
Hello,
Do you know if it is possible to use App inventor to control two seperate bluetooth devices? For example I would like to turn one light on with one button, and another light on (with another bluetooth receiver) with a separate button. Thanks!
6 years ago
This is the first clear instructable I have been able to follow Abdullah so thanks
Reply 6 years ago
Welcome !!!
6 years ago
i have spent months on ionic trying to do this. only to haveing done it in two minutes. thankyou so much youve help push my project along thankyou.
Reply 6 years ago
it's my pleasure !!!!!
7 years ago
I didn't know we can have a string in our sketch, and also suprised to see we can make a comparision between the strings.
Can some one please explain, because if i remember correctly we can't do that in C programming, or is it the differences between coding in arduino IDE vs with C IDE.
Thank you.
Reply 6 years ago
Investigate the " String" class in arduino or C
Reply 6 years ago
Although it's almost a year since my question. I've learned a lot in this year about electronics and programming ... enough to answer this question myself now XD
Anyway, thank you for your reply! Appreciated
6 years ago
Why do we need a clock?
6 years ago
I notice Listpicker1.selection does not shhow on some of the pics . I found that confusing .
I am using the latest app inventor and android 5.1 and the serial output is
ON button sends out " 0 then 128 "
OFF button sends out "0"
I can't get it to send the text "ON" and "OFF"
For those finding it difficult to follow here is the ".aia" file you can import into app inventor to start you off . If you fix the above problem please post back.