Arduino Full Stack
  • Preface
  • Part 1 - Introduction
  • Chapter 1. Getting Started with Arduino
    • 1.1 Arduino UNO R3
    • 1.2 LVR Arduino Exntesion Board
    • 1.3 Sensor Kits for Arduino
    • 1.4 Race Car Chassis Model
    • 1.5 Arduino Online Resource
    • 1.6 Arduino IDE for Prototyping
    • 1.7 FIRST Arduino Project - Hello World
  • Chapter 2. Programming Grammar
    • 2.1 AVR C
    • 2.2 Digital IO
    • 2.3 Analog IO
    • 2.4 More About IO
    • 2.5 Time Functions
    • 2.6 Interrupt Functions
    • 2.7 Communication Classes
    • 2.8 Arduino Libraries
  • Part 2 - Sensors
  • Chapter 3. LED Sensors
    • 3.1 LED Blinking
    • 3.2 LED SMD RGB
    • 3.3 Mini LED Red Green GND-Shared
    • 3.4 LED RGB GND-Shared
    • 3.5 Photoresistor
    • 3.6 LED Light Cup
    • 3.7 LED Red Green GND-Shared
    • 3.8 LED 7 Colors
  • Chapter 4. Infrared Sensors
    • 4.1 Infrared Emitter and Receiver
    • 4.2 Laser Emitter
    • 4.3 Infrared Remote Control
    • 4.4 IR Obstacle Avoidance
    • 4.5 IR Line Tracking
  • Chapter 5. Audio Sensors
    • 5.1 Passive Buzzer
    • 5.2 Active Buzzer
    • 5.3 Microphone Big Sound
    • 5.4 Microphone
  • Chapter 6. Magnetic Sensors
    • 6.1 Hall Magnetic Sensor
    • 6.2 Mini Reed
    • 6.3 Linear Hall Magnetic Sensor
    • 6.4 Reed
    • 6.5 Analog Hall
  • Chapter 7. Touch Sensors
    • 7.1 Tap Sensor
    • 7.2 Shock Sensor
    • 7.3 Touch Sensor
  • Chapter 8. Thermist Sensors
    • 8.1 Temperature Sensor - DS18B20
    • 8.2 Analog Thermister
    • 8.3 Digital Temperature
    • 8.4 Temperature and Humidity Sensor
  • Chapter 9. Switches
    • 9.1 Button
    • 9.2 Switch -Mercury Tilt
    • 9.3 Switch - Ball
    • 9.4 Relay
  • Chapter 10. Other Sensors
    • 10.1 Joystick
    • 10.2 Flame
    • 10.3 Pulse Monitor
    • 10.4 Rotary Encoders
  • Chapter 11. More Discussions on Sensors
    • 11.1 Arducam
    • 11.2 IMU - BNO055
  • Part 3 - Motors
  • Chapter 12. Motors
    • 12.1 DC Motor
    • 12.2 AC Motor
    • 12.3 Stepper Motor
    • 12.4 Servo Motor
  • Part 4 - Display
  • Chapter 13. Display
    • 13.1 Nixie Light LG5011B
    • 13.2 Crystal Display 1602A
    • 13.3 Crystal Display 12864
  • Part 5 - Communication
  • Chapter 14. Communication
    • 14.1 Serial
    • 14.2 Wifi - ESP8266
    • 14.3 Bluetooth
    • 14.4 Integrate Wifi & Bluetooth - ESP32
  • Part 6 - Arduino Based Mini Automated Vehicle
  • Chapter 15. Assemble a Mini Automated Vehicle
    • 15.1 4-Wheel DC-Motor Driven
    • 15.2 Arduino UNO and LVR Arduino Extension Board
    • 15.3 Speed Sensors
    • 15.4 Servo Motor for Pan Tilt Control
    • 15.5 Tracking Sensor
  • Chapter 16. Remote Control
    • 16.1 IR Remote Control
    • 16.2 Bluetooth Remote Control
    • 16.3 Wifi Remote Control
    • 16.4 Automatic Control
Powered by GitBook
On this page
  • Hardware Wiring
  • Sketch
  • Mobile APPs
  • Arduino Bluetooth Tutorial Example Android App
  • Longer Vision Robot LVControl
  • Assignment:
  1. Chapter 14. Communication

14.3 Bluetooth

Previous14.2 Wifi - ESP8266Next14.4 Integrate Wifi & Bluetooth - ESP32

Last updated 7 years ago

A ZS-040 (detected as HC-0X) bluetooth module is provided in our Arduino course on-site, which looks like:

The ONLY difference is that the provided bluetooth module has 4 pins but NOT 6 pins, without pin STATE and pin EN.

Hardware Wiring

Sketch

#include <SoftwareSerial.h>
#define ledPin 7

SoftwareSerial mySerial(10, 11); // RX, TX
int state = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
  Serial.begin(38400); // Default communication rate of the Bluetooth module
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  //mySerial.println("Hello, world?");
}

void loop() {   
  if(mySerial.available() > 0){ // Checks whether data is coming from the serial port
    state = mySerial.read(); // Reads the data from the serial port
    Serial.print("mySerial available!\n");
 }

 if (state == '0') {
  digitalWrite(ledPin, LOW); // Turn LED OFF
  Serial.println("LED: OFF"); // Send back, to the phone, the String "LED: ON"
  state = 0;
 }
 else if (state == '1') {
  digitalWrite(ledPin, HIGH);
  Serial.println("LED: ON");;
  state = 0;
 } 
}

Note: Please remove your bluetooth module before flashing your code onto Arduino board. Otherwise, you'll obtain the following ERROR messages:

Mobile APPs

Arduino Bluetooth Tutorial Example Android App

After the installation, by click on Connect on the FIRST page of this APP, you'll see all detected bluetooth devices as:

By selecting one of the devices, you'll see the device is NOW connected.

By clicking Turn ON and Turn OFF, you will see the led can be light on and off accordingly.

And, some serial message will be printed on the Monitor Serial dialog as:

Longer Vision Robot LVControl

The first page of LVContrl looks like:

By selecting page BTSet, we can easily SEARCH FOR VISIBLE DEVICES:

After simply pair the device by just clicking on the listed device name, you will be able to see that our bluetooth device is now listed in LIST PAIRED DEVICES.

Assignment:

Two other very similar reference examples can be found at:

, which are left for students as their assignments.

The code can be found at You can also refer to Adafruit's official website at .

This APP can be downloaded from

provides its own APP LVContrl, which can be downloaded from ...

Examples_Arduino - arduinocc - _003_Bluetooth - _003_Bluetooth.ino
https://howtomechatronics.com/tutorials/arduino/arduino-and-hc-05-bluetooth-module-tutorial/
https://howtomechatronics.com/download/arduino-bluetooth-tutorial-example-android-app/?wpdmdl=2833
Longer Vision Robot
https://create.arduino.cc/projecthub/user206876468/arduino-bluetooth-basic-tutorial-d8b737
http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/
HC-05 Bluetooth Module
Bluetooth
AVR Bluetooth Error
Arduino Bluetooth Tutorial Example App
Arduino Bluetooth App Devices Found
Arduino Bluetooth App FrontPage
LED ON
LED OFF
Bluetooth LED Serial
LVControl_V0.2
LVControl Bluetooth Set
LVControl Bluetooth Connected