解决方案。

条件:

1.手机android 商店下载 blueTerm

2.向arduino中载入如下代码:

char val;
int ledpin=;
void setup()
{
Serial.begin();
pinMode(ledpin,OUTPUT);
} void loop()
{
val=Serial.read();
if(val=='o')
{
digitalWrite(ledpin,HIGH);
Serial.println("LED ON!");
}else if(val=='f'){
digitalWrite(ledpin,LOW);
Serial.println("LED OFF!");
}
}

3. 将蓝牙模块的RxD链接到arduino的Tx口上,蓝牙的TxD链接到arduino的Rx口上。

4. 打开android的blueTerm ,链接到蓝牙,默认密码1234。

链接上,在手机上输入,o

led灯亮。

键入f

led灭。

挺简单的。

——————————————————————————————————————

如果想把蓝牙放到别的口上,不占用Pin1,2 arduino与计算机默认的串口。

那就用下面的方法,模拟一个serial port, 比如说用Pin6,7 与单片机通讯。

下面的代码做参考使用:

http://arduinobasics.blogspot.com/2013/01/arduino-basics-bluetooth-tutorial.html

/* This project combines the code from a few different sources.
This project was put together by ScottC on the 15/01/2013
http://arduinobasics.blogspot.com/ Bluetooth slave code by Steve Chang - downloaded from :
http://www.seeedstudio.com/wiki/index.php?title=Bluetooth_Shield Grove Chainable RGB code can be found here :
http://www.seeedstudio.com/wiki/Grove_-_Chainable_RGB_LED#Introduction */ #include <SoftwareSerial.h> //Software Serial Port #define uint8 unsigned char
#define uint16 unsigned int
#define uint32 unsigned long int #define RxD 6 // This is the pin that the Bluetooth (BT_TX) will transmit to the Arduino (RxD)
#define TxD 7 // This is the pin that the Bluetooth (BT_RX) will receive from the Arduino (TxD) #define DEBUG_ENABLED 1 int Clkpin = ; //RGB LED Clock Pin (Digital 9)
int Datapin = ; //RGB LED Data Pin (Digital 8) SoftwareSerial blueToothSerial(RxD,TxD); /*----------------------SETUP----------------------------*/
void setup() {
Serial.begin(); // Allow Serial communication via USB cable to computer (if required)
pinMode(RxD, INPUT); // Setup the Arduino to receive INPUT from the bluetooth shield on Digital Pin 6
pinMode(TxD, OUTPUT); // Setup the Arduino to send data (OUTPUT) to the bluetooth shield on Digital Pin 7
pinMode(,OUTPUT); // Use onboard LED if required.
setupBlueToothConnection(); //Used to initialise the Bluetooth shield pinMode(Datapin, OUTPUT); // Setup the RGB LED Data Pin
pinMode(Clkpin, OUTPUT); // Setup the RGB LED Clock pin } /*----------------------LOOP----------------------------*/
void loop() {
digitalWrite(,LOW); //Turn off the onboard Arduino LED
char recvChar;
while(){
if(blueToothSerial.available()){//check if there's any data sent from the remote bluetooth shield
recvChar = blueToothSerial.read();
Serial.print(recvChar); // Print the character received to the Serial Monitor (if required) //If the character received = 'r' , then change the RGB led to display a RED colour
if(recvChar=='r'){
Send32Zero(); // begin
DataDealWithAndSend(, , ); // first node data
Send32Zero(); // send to update data
} //If the character received = 'g' , then change the RGB led to display a GREEN colour
if(recvChar=='g'){
Send32Zero(); // begin
DataDealWithAndSend(, , ); // first node data
Send32Zero(); // send to update data
} //If the character received = 'b' , then change the RGB led to display a BLUE colour
if(recvChar=='b'){
Send32Zero(); // begin
DataDealWithAndSend(, , ); // first node data
Send32Zero(); // send to update data
}
} //You can use the following code to deal with any information coming from the Computer (serial monitor)
if(Serial.available()){
recvChar = Serial.read(); //This will send value obtained (recvChar) to the phone. The value will be displayed on the phone.
blueToothSerial.print(recvChar);
}
}
} //The following code is necessary to setup the bluetooth shield ------copy and paste----------------
void setupBlueToothConnection()
{
blueToothSerial.begin(); //Set BluetoothBee BaudRate to default baud rate 38400
blueToothSerial.print("\r\n+STWMOD=0\r\n"); //set the bluetooth work in slave mode
blueToothSerial.print("\r\n+STNA=SeeedBTSlave\r\n"); //set the bluetooth name as "SeeedBTSlave"
blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permit Paired device to connect me
blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Auto-connection should be forbidden here
delay(); // This delay is required.
blueToothSerial.print("\r\n+INQ=1\r\n"); //make the slave bluetooth inquirable
Serial.println("The slave bluetooth is inquirable!");
delay(); // This delay is required.
blueToothSerial.flush();
} //The following code snippets are used update the colour of the RGB LED-----copy and paste------------
void ClkProduce(void){
digitalWrite(Clkpin, LOW);
delayMicroseconds();
digitalWrite(Clkpin, HIGH);
delayMicroseconds();
} void Send32Zero(void){
unsigned char i;
for (i=; i<; i++){
digitalWrite(Datapin, LOW);
ClkProduce();
}
} uint8 TakeAntiCode(uint8 dat){
uint8 tmp = ;
if ((dat & 0x80) == ){
tmp |= 0x02;
} if ((dat & 0x40) == ){
tmp |= 0x01;
} return tmp;
} // gray data
void DatSend(uint32 dx){
uint8 i;
for (i=; i<; i++){
if ((dx & 0x80000000) != ){
digitalWrite(Datapin, HIGH);
} else {
digitalWrite(Datapin, LOW);
} dx <<= ;
ClkProduce();
}
} // data processing
void DataDealWithAndSend(uint8 r, uint8 g, uint8 b){
uint32 dx = ; dx |= (uint32)0x03 << ; // highest two bits 1,flag bits
dx |= (uint32)TakeAntiCode(b) << ;
dx |= (uint32)TakeAntiCode(g) << ;
dx |= (uint32)TakeAntiCode(r) << ; dx |= (uint32)b << ;
dx |= (uint32)g << ;
dx |= r; DatSend(dx);
}

Please take good notice of the references blow of the link which I give you above.

No third lib required. Only original one.

***********************************************************************

Also here's another project about how to control arduino widgets via bluetooth protocol.

Bluetooth , motor, android, arduino

http://www.instructables.com/id/Arduino-Control-DC-Motor-via-Bluetooth/step3/Arduino-Code/

Arduino 各种模块篇 蓝牙模块 手机蓝牙控制Arduino LED灯的更多相关文章

  1. arduino 蓝牙控制RGB LED灯

    /* 日期:2016.9.2 功能:arduino 蓝牙控制RGB LED灯 元件: 跳线公公头 * 8 rgbled, 220欧电阻 蓝牙模块 接线: 蓝牙模块VCC,GND分别接5V,GND;TX ...

  2. win7蓝牙连接手机蓝牙

    今天有个需求,需要win7 PC连接手机蓝牙,并发送文件到手机端.在此记录下过程. 准备: win7 电脑主机. CSR 蓝牙dongle. 手机 1. 打开蓝牙服务 方法:打开控制面板,找到“管理工 ...

  3. Arduino 各种模块篇 GPRS module 手机模块 短信 电话 上网 for texting, calling, internet

    ---恢复内容开始--- The GPRS shield which I tested is one which looks like this: ---恢复内容结束--- Need to be re ...

  4. Arduino 各种模块篇 摇杆模块

    Arduino的另外几种模块,我们常见的joystick摇杆模块. 用起来很爽,摇杆 有X,Y轴可调 这里有一篇非常想尽的示例代码: http://www.geek-workshop.com/foru ...

  5. Arduino 各种模块篇 震动模块 vibrator module

    The vibrator I got works at the voltage ranging from 3.3V ~ 5.5V I want to make it vibrate variably. ...

  6. Arduino 各种模块篇 震动模块 vibrator

    vibrator is a good thing. it has multi-funtionality . :) Now the  vibrator we choose is the one whic ...

  7. [TPYBoard-Micropython之会python就能做硬件 7] 学习使用蓝牙模块及舵机

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi            欢迎加入讨论群 64770604 一.实验器材 1.TPYboard V102板  一块 2 ...

  8. 51单片机 HC05蓝牙模块

    一.注意事项 1.烧写程序时,要把蓝牙tx,rx信号线拔掉,对烧写程序有影响. 2.执行HC05集命令时,均以\r\n结尾.串口中断若选择“发送新行”时,不用添加\r\n.原理相同. 二.准备软硬件 ...

  9. Arduino使用HC05蓝牙模块与手机连接

    Arduino使用HC05蓝牙模块与手机连接 一切都是最好的选择 首先是线路连接,一定不要接错了 Arduino 代码 #include <SoftwareSerial.h> // Pin ...

随机推荐

  1. 四大OLAP工具选型浅析

    OLAP(在线分析处理)这个名词是在1993年由E.F.Codd提出来的,只是,眼下市场上的主流产品差点儿都是在1993年之前就已出来,有的甚至已有三十多年的历史了.OLAP产品不少,本文将主要涉及C ...

  2. VMWare Workstation:局域网PC连接虚拟机里的远程桌面或端口

    很简单.做一个理解: 1.NAT 2.VM的网卡,相当于路由器 环境: 物理路由器:192.168.0.1 PC1(win):192.168.0.2 PC2(win):192.168.0.3 PC2里 ...

  3. SQL点滴20—T-SQL中的排名函数

    原文:SQL点滴20-T-SQL中的排名函数 提到排名函数我们首先可能想到的是order by,这个是排序,不是排名,排名需要在前面加个名次序号的,order by是没有这个功能的.还可能会想到ide ...

  4. weblogic启动报错--com.octetstring.vde.backend.BackendRoot

    错误现象: 使用bea用户启动weblogic时报错,错误信息如下: <2014-7-29 下午07时47分23秒 CST> <Notice> <Log Manageme ...

  5. 分享12款经典时尚的HTML5应用

    分享伟大,呵呵.今天给大家分享一下收集的12个HTML5小特效. 我整理一下源码,给大家打包一下,我博客园上传文件大小有限,传不了了. 需要的请留下邮箱就行了,觉得好的话,不要忘了点赞哦~ 1.CSS ...

  6. Bootstrap Paginator分页插件

    Bootstrap Paginator分页插件使用示例 最近做的asp.netMVC项目中需要对数据列表进行分类,这个本来就是基于bootstrap开发的后台,因此也就想着bootstrap是否有分页 ...

  7. js预解析问题总结

    //示例 1 alert(a) // undefind. alert(fn) // function 整个函数块. var a = 1; function fn(){ return falss; }; ...

  8. mysql存储过程及常用函数

    原文:mysql存储过程及常用函数 一.函数 1.数学函数 CEIL()进一取整 SELECT CEIL(1.2);2 FLOOR()舍一取整 SELECT FLOOR(1.9);9 MOD取余数(取 ...

  9. android中怎么调整字体的间距和行间距

    在网页中都是很轻松的就可以调整间距的.在android中,我个人并没有去设置过. 下面就来说说android中的间距问题. 原文:http://blog.csdn.net/fancylovejava/ ...

  10. 【jar包】JSON之解析利器GSON--【gson-2.2.4.jar】

    Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为串行化Java对象为JSON字符串,或反串行化JSON字符串成Java对象.GSON核心jar包不到 ...