Arduino和HC-05蓝牙模块教程

在本Arduino蓝牙教程中,我们将学习如何使用HC-05模块通过蓝牙通信控制Arduino。您可以观看以下视频或阅读下面的书面教程以了解更多详细信息。

Arduino和HC-05蓝牙模块教程

概述

在本教程中,我举了两个示例,分别是使用智能手机控制Arduino和使用笔记本电脑或PC控制Arduino。 为了不使本教程过载,在我的下一个教程中,我们将学习如何配置HC-05蓝牙模块以及如何在两个作为主从设备的Arduino板之间进行蓝牙通信。

在开始第一个示例之前,使用智能手机控制Arduino,让我们仔细看一下HC-05蓝牙模块。 与只能设置为从设备的HC-06模块相比,HC-05也可以设置为主设备,从而可以在两个单独的Arduino板之间进行通信。 此模块有几种不同的版本,但我建议使用一个分线板上的模块,因为这样可以更轻松地进行连接。 HC-05模块是蓝牙SPP(串行端口协议)模块,这意味着它通过串行通信与Arduino通信。

电路原理图

这是我们需要将模块连接到Arduino开发板的方法。

图略

我拥有的特定模块可以从3.6伏到6伏供电,因为它位于包含稳压器的分线板上。 但是,数据引脚的逻辑电压电平为3.3V。 因此,为了不烧毁模块,需要通过分压器连接Arduino TX(具有5V输出的发送引脚)和蓝牙模块RX(仅支持3.3V的接收引脚)之间的线路。 另一方面,蓝牙模块TX引脚和Arduino RX引脚之间的线可以直接连接,因为来自蓝牙模块的3.3V信号足以被Arduino板接受为高逻辑。

Arduino蓝牙通信示例源代码

因此,现在我们准备制作Arduino代码,以实现Arduino板与智能手机之间的通信。我们将举一个简单的例子,只是打开和关闭一个LED,但足以理解通信。

#define ledPin 7
int state = 0;

void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
Serial.begin(38400); // Default communication rate of the Bluetooth module
}

void loop() {
if(Serial.available() > 0){ // Checks whether data is comming from the serial port
state = Serial.read(); // Reads the data from the serial port
}

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;
}
}

详情参阅http://viadean.com

你可能感兴趣的:(Arduino,电子)