0% found this document useful (0 votes)
351 views11 pages

New Microsoft Word Document

The document describes using Bluetooth HC-05 and HC-06 modules with Arduino. It provides the pinout diagram and descriptions for the Bluetooth modules. It has two main parts: 1. It shows the pinout table for the Bluetooth modules, which use the same chip but differ in master/slave configuration. The table lists the pin numbers, names, types, and descriptions. 2. It provides an example of using an HC-05 Bluetooth module with an Arduino to create a Bluetooth shield for wireless communication with an Arduino.

Uploaded by

saravanan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
351 views11 pages

New Microsoft Word Document

The document describes using Bluetooth HC-05 and HC-06 modules with Arduino. It provides the pinout diagram and descriptions for the Bluetooth modules. It has two main parts: 1. It shows the pinout table for the Bluetooth modules, which use the same chip but differ in master/slave configuration. The table lists the pin numbers, names, types, and descriptions. 2. It provides an example of using an HC-05 Bluetooth module with an Arduino to create a Bluetooth shield for wireless communication with an Arduino.

Uploaded by

saravanan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Bluetooth HC-05 and HC-06 pinout

Since HC-05 and HC-06 Bluetooth use the same chip and pin number are only different in
Master / Slave configuration, Here is the pinout diagram of Bluetooth HC-05 and Bluetooth
HC-06.

Table Description pinout Bluetooth module

1
Pin
Pin Name PAD Type Description
Number
CMOS output, tri-stable with
1 UART_TX UART Data output
weak internal pull-up
CMOS input with weak
2 UART_RX UART Data input
internal pull-down
CMOS input with weak
3 UART_CTS UART clear to send, active low
internal pull-down
CMOS output, tri-stable with
4 UART_RTS UART request to send, active low
weak internal pull-up
5 PCM_CLK Bi-directional Synchronous PCM data clock
6 PCM_OUT CMOS input Synchronous PCM data output
7 PCM_IN CMOS input Synchronous PCM data input
8 PCM_SYNC Bi-directional Synchronous PCM data strobe
9 AIO0 Bi-directional Programmable input/output line
10 AIO1 Bi-directional Programmable input/output line
CMOS input with weak Reset of low.input debouncde so must
11 RESET
internal pull-up be low for >5MS to cause a reset
Integrated 3.3V(+) supply with On-
VCC 3,3
12 3,3V chip linear regulator output within
Volt
3.15-3.3V
13 GND VSS Ground Pot
14 NC - -
15 USB D- Bi-directional -
CMOS input with weak Chip select for serial peripheral
16 SPI_CSB
internal pull-up interface, active low
CMOS input with weak
17 SPI_MOSI Serial peripheral interface data input
internal pull-down
CMOS input with weak
18 SPI_MISO Serial peripheral interface data output
internal pull-down
CMOS input with weak
19 SPI_CLK Serial peripheral interface clock
internal pull-down
20 USB D+ Bi-directional -
21 GND VSS Ground Pot
22 GND VSS Ground Pot
Programmable input/output line,
23 PIO0 Bi-directional RX EN
control output for LNA (if fitted)
Programmable input/output line,
24 PIO1 Bi-directional TX EN
control output for LNA (if fitted)
25 PIO2 Bi-directional Programmable input/output line
26 PIO3 Bi-directional Programmable input/output line
27 PIO4 Bi-directional Programmable input/output line
28 PIO5 Bi-directional Programmable input/output line

2
29 PIO6 Bi-directional Programmable input/output line
30 PIO7 Bi-directional Programmable input/output line
31 PIO8 Bi-directional Programmable input/output line
32 PIO9 Bi-directional Programmable input/output line
33 PIO10 Bi-directional Programmable input/output line
34 PIO11 Bi-directional Programmable input/output line

Arduino Bluetooth shield.

433MHz Lora Ra-02 Arduino with Switch


and LED
Irone Chank December 25, 2017

3
In the previous article, we discussed Basic how to sending and receiving data on wireless
communication using 433MHz Lora Ra-02 and Arduino Uno. So in this discussion, will be
developed by adding switches and LEDs. The working principle in this debate, ie when the
switch in circuit 1 (transmitter) is pressed, arduino will send a message to circuit 2 (receiver)
via Lora radio communication. In circuit 2 when there is incoming data from circuit 1 which is
then captured by Lora module in circuit 2 then go into Arduino and continued LED will light
up then off. For more details like in the following block diagram picture:

Electronic component materials are used as follows.


 Arduino Uno: 2 pieces.
 433MHz Lora radio RA-02: 2 pieces.
 Switch: 1 piece.
 LED: 1 piece.
 Resistor: 2 pieces.
 Project Board: 2 pieces.

The circuit diagram 433MHz Lora Ra-02 Arduino.


For the first circuit or data sender, there are some electronic components, such as 433MHz Lora
radio RA-02, Arduino, switches, and resistors. Schematic wiring diagram as follows.

4
For second circuit or data receiver, there are some electronic components, such as 433MHz
Lora radio RA-02, Arduino, LED and resistor. Schematic wiring diagram as follows.

Arduino Code for transmitter and receiver.


When the switch in circuit 1 is pressed then the switch will send a high logic signal to arduino,
then arduino will send a text message through lora module and sent to circuit 2. In circuit 2
lora radio ra-02 take data from circuit 1 and then processed by arduino then turn on led then
lapse 1 second killed.

In this experiment, there are two scenarios for text messages sent from series 1 to series 2. It is
the first one-letter text format, the second one with the text format with one sentence.

5
The first scenario, when the switch is pressed then arduino in circuit 1 sending packet “1” in 1
letter text format, here is arduino code.

#include <SPI.h>
#include <LoRa.h>

int btn = 3;

1 #include <SPI.h>
2 #include <LoRa.h>
3
4 int btn = 3;
5
6 void setup() {
7 Serial.begin(9600);
8 while (!Serial);
9
10 Serial.println("LoRa Sender");
11
12 if (!LoRa.begin(433E6)) {
13 Serial.println("Starting LoRa failed!");
14 while (1);
15 }
16
17 LoRa.setSpreadingFactor(10);
18 LoRa.setSignalBandwidth(62.5E3);
19 LoRa.crc();
20
21 pinMode(btn, INPUT);
22 Serial.println("Push the button switch for send packet");
23 }
24
25 void loop() {
26 int data = digitalRead(btn);
27 if (data == HIGH){
28 Serial.println("Send packet");
29 // send packet
30 LoRa.beginPacket();
31 LoRa.print("1");
32 LoRa.endPacket();
33 }
34 delay(500);
35 }

Here is the display result transmitter code on the serial monitor arduino IDE when circuit 1
sending packet data to circuit 2.

6
In circuit 2 it serves to received packet data message “1” from circuit 1. The following is the
arduino code in the receiver circuit (circuit 2).

#include <SPI.h>
#include <LoRa.h>

int led = 3;

1 #include <SPI.h>
2 #include <LoRa.h>
3
4 int led = 3;
5
6 void setup() {
7 Serial.begin(9600);
8 while (!Serial);
9
10 Serial.println("Lora Receiver");
11
12 if (!LoRa.begin(433E6)) {
13 Serial.println("Lora Error");
14 while (1);
15 }
16 LoRa.setSpreadingFactor(10);
17 LoRa.setSignalBandwidth(62.5E3);

7
18 LoRa.crc();
19
20 pinMode(led, OUTPUT);
21 }
22
23 void loop() {
24 // try to parse packet
25 int packetSize = LoRa.parsePacket();
26 if (packetSize) {
27
28 // received a packet
29 Serial.print("received a packet : ");
30
31 // read packet
32 while (LoRa.available()) {
33 char data = LoRa.read();
34 Serial.print(data);
35 if (data == '1'){
36 digitalWrite(led, HIGH);
37 delay(500);
38 digitalWrite(led, LOW);
39 delay(500);
40 }
41 //Serial.print((char)LoRa.read());
42 }
43 Serial.println(" ");
44 }
45 }

Display results receiver code on the serial monitor arduino IDE, which in series 2 is as follows.

8
In the second scenario of data sent by series 1 in the form of long text or 1 sentence, in this
experiment, the text message is “switch”. The arduino code for the sending packet (circuit 1)
is as follows:

#include <SPI.h>
#include <LoRa.h>

int btn = 3;

1 #include <SPI.h>
2 #include <LoRa.h>
3
4 int btn = 3;
5
6 void setup() {
7 Serial.begin(9600);
8 while (!Serial);
9
10 Serial.println("LoRa Sender");
11
12 if (!LoRa.begin(433E6)) {
13 Serial.println("Starting LoRa failed!");
14 while (1);
15 }
16
17 LoRa.setSpreadingFactor(10);
18 LoRa.setSignalBandwidth(62.5E3);
19 LoRa.crc();
20
21 pinMode(btn, INPUT);
22 Serial.println("Push the button switch for send packet");
23 }
24
25 void loop() {
26 int data = digitalRead(btn);
27 if (data == HIGH){
28 Serial.println("Send packet");
29 // send packet
30 LoRa.beginPacket();
31 LoRa.print("switch,");
32 LoRa.endPacket();
33 }
34 delay(500);
35 }

9
The arduino code for the receiver circuit (circuit 2), when receiving the message data “switch”
is as follows.

#include <SPI.h>
#include <LoRa.h>

int led = 3;

1 #include <SPI.h>
2 #include <LoRa.h>
3
4 int led = 3;
5 String readString;
6 char data = 0;
7
8 void setup() {
9 Serial.begin(9600);
10 while (!Serial);
11
12 Serial.println("Lora Receiver");
13
14 if (!LoRa.begin(433E6)) {
15 Serial.println("Lora Error");
16 while (1);
17 }
18 LoRa.setSpreadingFactor(10);
19 LoRa.setSignalBandwidth(62.5E3);
20 LoRa.crc();
21
22 pinMode(led, OUTPUT);
23 }
24
25 void loop() {
26 int packetSize = LoRa.parsePacket();
27 if (packetSize) {
28 // received a packet
29 Serial.print("received a packet : ");
30 // read packet
31 while (LoRa.available()) {
32 data = LoRa.read();
33 if (data == ',') {
34 if (readString.length() > 1) {
35 Serial.print(readString); //prints string to serial port out
36 Serial.println(' '); //prints delimiting ","
37 digitalWrite(led, HIGH); // LED ON
38 delay(500);
39 digitalWrite(led, LOW); // LED OFF
40 delay(500);
41 //do stuff with the captured readString
42 readString=""; //clears variable for new input

10
43 }
44 }
45 else {
46 readString += data; //makes the string readString
47 }
48 }
49 }
50 }

The display results receiver code in the serial monitor arduino IDE in the receiving packet are
as follows.

11

You might also like