create new tag
view all tags

Final Feedback on Bluetooth project

It been a great time working with you. Ever since i took this project, i have a learn a lot especially with the Arduino devices and Bluetooth stuffs like the command line interface. It was awesome. But this project was accomplished based on successive week intervals.

The starting week was based on the installing of the software from Github. But there was issues with the software (Arduino) from Github, so we find a different way to install the Arduino software into the folder /opt/ucc/micros/arduino/ from other source and everything works perfectly.

The following week i try to learn something about the Arduino devices, how they work, and how they are used. Later i found that we have different types of Arduino devices like the Arduino UNO, Arduino Nano, Arduino Mega ADK, Arduino Ethernet, Arduino Leonardo and many more but this board are available depending on different micro controllers used. We were told we will be working with the UNO since it the most popular board in the Arduino board family. In addition, it is the best board to get started with electronics and coding.
The actual project for the Embedded System(robot) was sub divided into four(4) namely,

  • DC motor
  • Ultra-sonic
  • Servo control
  • Bluetooth communication.

Later I and Shadrack were handed the Bluetooth communication whiles other members or crew work on the other 3 sub divided project.

The third week was the actual commencement of the Embedded System project (robot). During that week, I and Shadrack divided the Bluetooth project into two(2) i try to research on how the Bluetooth communication work perfectly with Arduino devices, whiles he (Shadrack) also work on some Java codes to enable server and client communicate with Bluetooth devices. Based on my research, i found out that there are various of Bluetooth module purposely for communicating with the Arduino devices for example, HC 05, HC 06 Bluetooth module. Since we will be working with HC 06 Bluetooth module, I later observe that the HC 06 module have 4 pins.

  1. VCC for power (voltage)
  2. GND for the ground connection
  3. TX for the transmitting
  4. RX for the receiving

But one important fact about HC 06 Bluetooth module is that, it uses a power of 3.3V that means a power more that this will cause the module to burn. To over come this problem, we have to set a voltage divider by the use of resistor in other to get a 3.3V.

Later i had a good new from Shadrack telling me he has successfully figure out some codes to enable server and client to communicate on Bluetooth devices.

During the fourth (4) weeks, we learn about the Bluetoothctl. HCI tool and the GATTool in Linux environment. For me, i couldn't believe it when i was pairing and connecting to my devices using the HCI tool command in Linux. The HCI tool is a command line tool that send raw packets to the controller from user space and initiates LESCAN. And for the GATTool, when you establish the link layer using the hcitool, we use the BlueZ's GATT client functionality using the GATTool.

Week five (5) was awesome since we put in a tremendous amount of time in the task giving to us. I come up with an App on MIT App Inventor to connect and pair the Bluetooth module (HC 06 Bluetooth Module)

During our testing, we decided to test for the LED blinking. Firstly, we connected a GND pin from the Arduino UNO GND pin to the negative line of the breadboard. We then connected the LED pin (CATODE) to the Arduino UNO pin 9. We then also connected the other pin (ANODE) to the GND line on the breadboard. We gave it a delay of 1000ms to enable the LED ON and another delay of 1000ms to OFF the LED. It work like a perfectly.
Before we made actual connection with the Bluetooth module, I and Shadrack decided to step it down with a 30K resistor. We made the necessary connection with the 4 pins on the Bluetooth module. The most important connection was the TX and RX since this is where the caution need to be taken and the voltage divider need to be applied.
We connected the TX pin from the Bluetooth module to the RX pin on the Arduino UNO. After that we connected a 20K resistor (10K + 10K connected in series) from the GND side of the breadboard to the RX pin of the Bluetooth module.We made a connection from the TX pin of the Arduino UNO to the breadboard and this is where we connected a 10K resistor to the RX of the Bluetooth module. After all this were done, we use the MIT App to connect and pair the Bluetooth module, unfortunately, it work and we were able to paired successfully with module and light on the module turn steadily. We were able to control the LED on the board since there is a little problem with code we wrote. We are hoping to solve this issue when we start our week of focusing on the project.

One more thing, we encountered an error uploading the code. But it was solve in week 6 since the error was as a result of the username not part of the dialout group. With the command "sudo usermod -a -G dialout username" error won't be encountered.

-- John Aubyn - 2017-04-29


Topic revision: r1 - 2017-05-01 - uli
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback