赞
踩
智能移动设备和Arduino微电脑,两者相辅相成,可各自发挥所长。例如,用手机当成Arduino的显示器或输入设备,Arduino当做手机的硬件扩展口,控制灯光和自走车,或者返回温湿度传感器的数据给手机。
利用电波或红外线来传输数据。可见光、红外线和电波都是一种电磁波,并非所有的频段和无线电设备都需要使用执照,世界各国都有保留某些给工业(industrial)、科学研究(Scientific)和医疗(Medical)方面的频段,简称ISM频段,2.4GHZ是世界各国共同的ISM频段,因此市面上许多无线通信产品都采用2.4GHZ。
NFC是一种采用电磁波,用于1~2米内的短距离无线通信技术,全名是Near Field Communicatin(进场通信,或近距离无线通信)。在联机范围内的两台机器要相连时,只要在屏幕上点选是否接收另一方的联机即可。
蓝牙是一种近距离无线数据和语音传输技术,主要用于取代线材和红外线传输。蓝牙主要用于无线耳机和数据传输,蓝牙技术联盟(Bluetooth Special Interest Group,简称SIG),定义了多种蓝牙规范(Profile,或译为“协议”):
HID:制定鼠标、键盘和游戏杆等人机接口设备(human interface device)所要遵循的规范。
HFP: 泛指用于行动设备,支持语音拨号和重拨等功能的免提听筒设备
A2DP: 可传输16位、44.1kHZ取样频率的高质量立体声音乐,主要用于随身听和影音设备。
SPP:用于取代有线串口的蓝牙设备规范。Bluetooth 2.1 + EDR
代表“加强资料传输率(Enhanced Data Rate)
**实验说明:**在电脑上通过蓝牙与Arduino板联机,控制端口13上的LED。
蓝牙模块通过串口和Arduino板联机,不过,Arduino的程序和“串口监控窗口”也是通过串口传输。Arduino微电脑板默认只有一个串口(简称“系统串口”),应保留给串口监控窗口使用,本单元将通过SoftwareSerial(软件串口)扩展库,把其他端口变成串口给蓝牙模块使用。
**实验电路:**数字0和1是Arduino自带的串口端口,我们可以连接蓝牙模块。蓝牙模块的发送端(Tx)接Arduino的接收端(Rx),这种方式会占用系统串口,应该避免使用。
实验程序: Arduino软件自带的SoftwareSerial扩展库,能让我们指定任意两个端口充当串口
//蓝牙模块其实就是无线串口,程序写法和有线的串口相同。 #include <SoftwareSerial.h> SoftwareSerial BT(10, 9); //自定义SoftwareSerial类型对象,参数(接收端,发送端) const byte ledPin = 13; char val; void setup() { pinMode(ledPin, OUTPUT); // /*初始化串口,请依照你的蓝牙模块设置联机速率,笔者的模块采用9600bps速率联机。*/ BT.begin(9600); BT.print("BT is ready!"); // } void loop() { if (BT.available()){ val = BT.read(); switch (val) { case '0': digitalWrite(ledPin, LOW); break; case '1': digitalWrite(ledPin, HIGH); break; } } }
**实验说明:本单元的遥控机器采用Android手机蓝牙控制,架构图如下:
控制原理是从手机蓝牙传递字符给机器人,机器人的微电脑将依照收到的’w’、'a’等字符,执行前进和转弯等动作。
实验材料:
具备蓝牙的Android智能手机、采用两个碳刷电机的模型动力玩具、L298N电机模块、蓝牙接口模块、电池盒
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。