Arduino for AndroidIn this article, we will tell you how to create a little app for Android and Arduino sketch, in order to connect this application to the Arduino via Bluetooth and execute the commands.

What to do

We will create a mobile program that will connect to the wireless module of our “robot” and send the command. The sketch will receive this command and enable or disable one of the LEDs installed on the Arduino.

What we will use:

  1. Arduino Uno.
  2. Bluetooth Bee.
  3. Arduino Wireless Shield.
  4. Green and red LED lights.
  5. Resistors.
  6. Breadboard Half.
  7. Male to male wires.

We will use

Creating the mobile application

The application development for Android is performed in the Android Development Tools. It can be downloaded from the Google Play. After downloading and installing, run the ADT. After that, you will need to download the necessary version of the Android SDK. Choose the same version that your smartphone has. Our old phone that we will use has the version 2.3.3, so we will choose it. Press «Install_Packages» to run the installation process.

Android SDK manager

After finishing the previous step, we can start creating the program. Click «File->New->Android Applications Project» and specify the appropriate values.

New Android applications

Application Name is the name of the program; it will be displayed in the Google Play.

Project Name is the name of the project in the development environment.

Package Name is the id of the app. It is created using the following method: the name of your site backwards + the name of the program.

In the remaining three pull-down lines, you will need to choose the version of the Android gadget that you use.

In the «Theme», choose «none», to get rid of compatibility problems between different versions of the SDK.

Press «Next» to go to the next step.

Uncheck the «Create custom icon» box so as not to waste time to create the icon of your application. Press «Next».

In a new window, you can see the «Activity» window. Choose the «Blank_activity» to start from scratch. Press «Next».

Our application will have only one «Activity» window, so in the new window you can leave everything without changes and choose «Finish».

At this stage, the application is created.

Emulator configuration

The debugging can be performed on the real device or on the emulator. Let us analyze the emulator option and configure it.

To do this, press «Window ->Android_Virtual_Device_Manager» and click «New». Fill the form in the new window. The values you will specify will affect the amount of recourses that will be given to the virtual phone by the emulator. Next, press «OK».

Edit android virtual Device

In the AVDM window, press «Start» to run the emulator. This procedure can take several minutes depending on the power of the PC. After this, you will see the desktop of the smartphone.

Kind of emulator

Filling in the Activity

In this window, we will see 2 buttons: «turn on the red LED» and «turn on the green LED». To add them, open the «res/layout/activity_main.xml» in the «Package Explorer» panel.

Activity

Drag two «ToggleButtons» to the form. After that, open the «activity_main.xml» tab. You will see the following code:

activity_main

Let us change the names of the components to make them more understandable. You can change the android:id fields in the following way:

Android ID

In addition, you can add the captions, change the size and the color of the text. The final code will look like:

Add the captions

These changes can also be performed in graphic mode by choosing the «Outline/Properties» tab.

Outline Properties

The first launch

Open the launch settings by clicking «Run ->Run Configurations» Then, press the «Android Application» on the left side. You will see the «New configuration» window. In the right part of the window, select the «Target» tab and press «Launch_on_all_compatible_devices/AVD».

Run configurations

Press «Apply», and then click «Run». The program will be opened in the emulator.

Application

At this stage, we can only test the appearance. The only remaining thing is to write the click processor.

Writing the code for Android

If you know, each application notifies the system about the rights that have to be granted for this program. The list of rights can be found in the manifest file called «AndroidManifest.xml». In this file, we will need to specify that we want to use Bluetooth. We will need to add a couple of extra lines to the file.

AndroidManifest

Writing the main code

Open the file «MainActivity.java». It already has a code.

MainActivity

We need to add these commands:

  1. Bluetooth activation.
  2. Button presses processing.
  3. Sending the information about the pressed button.

We are going to send 1 byte with the two-digit number to the Arduino. The first number is the number of pin, which diodes will be connected to. The second one is the state of the diode (1 – active, 0 – inactive).

The command number is calculated using the following method: if you press the red button, the number will be 60 (for the red light, we will choose the sixth pin of Arduino). 1 or 0 will be added depending on the state of the diode.

The situation is the same for the green button, but the number will be 70 instead of 60 (we will connect it to the 7th pin). As a result, we receive four possible commands: 70, 71, 60, 61.

The code, which implements everything written above, will look like this:

Final code

Writing the sketch

Bluetooth module receives data through the UART at 9600 bit/s. The wireless module is immediately ready to work, so it is not necessary to configure it. However, the sketch has to be able to:

  1. Receive data through UART.
  2. Activate the necessary diode depending on the generated code.

Bluetooth code

The features of the sketch uploading

To connect the Bluetooth-bee to the controller, we will use the same pins (1 and 0) that we used for the firmware. The «SERIAL_SELECT» slider on the «Wireless_Shield» has to be switched to the «USB» state. After firming, it will be necessary to switch it to the «MICRO» state.

The received result

As a result, we will receive such a picture.

Rezult

Conclusion

In this article, we described the creation of a small Bluetooth robot control application for Android, which lights the LEDs via Bluetooth after the command.

It is the easiest thing you can do with this chip. Arduino is convenient because it can be a base for creating a wide arrangement of different robots with limited functions without any soldering. You will need only to connect the desired modules. If you have a basic knowledge of programming, you can create your own application for more complex systems, for example, Bluetooth rc car for Android. It will allow controlling the radio-controlled car or any other device that you will design by yourself from your smartphone.