解决方案。

条件:

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. Entity Framework 处理并发

    Entity Framework 处理并发 在以前的两个教程你对关联数据进行了操作.本教程展示如何处理并发性.您将创建工作与各Department实体的 web 页和页,编辑和删除Department ...

  2. mvc中动态给一个Model类的属性设置验证

    原文:mvc中动态给一个Model类的属性设置验证 在mvc中有自带的验证机制,比如如果某个字段的类型是数字或者日期,那么用户在输入汉字或者英文字符时,那么编译器会自动验证并提示用户格式不正确,不过这 ...

  3. 【 c语言中无符号和有符号的加法运算】【深入理解】--【sky原创】

    原文:[ c语言中无符号和有符号的加法运算][深入理解]--[sky原创]   第一题 #include<stdio.h> int main() { unsigned int a=6; i ...

  4. SQL点滴33—SQL中的字符串操作

    原文:SQL点滴33-SQL中的字符串操作 计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() ...

  5. Unity3d在线游戏Socket通讯

    网络游戏是一个人的互动娱乐软件应用.因为它是交互式,当然,需要了解对方的通信.这需要通信Socket:我们今天要实现的主角即套接字.Socket的英文原义是"孔"或"插座 ...

  6. 2.3 LINQ查询表达式中 使用select子句 指定目标数据

    本篇讲解LINQ查询的三种形式: 查询对象 自定义查询对象某个属性 查询匿名类型结果 [1.查询结果返回集合元素] 在LINQ查询中,select子句和from子句都是必备子句.LINQ查询表达式必须 ...

  7. Servlet配置load-on-startup

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  8. WindowsService开发遇到的问题

    1.Windows服务安装 通过cmd运行指令安装Windows服务: 安装方法:运行cmd,以InstallUtil.exe 来运行 Windows服务程序. 如果是Release模式的话,直接在c ...

  9. AngularJs ng-repeat

    AngularJs ng-repeat 必须注意的性能问题 AngularJs 的 ng-repeat 让我们非常方便的遍历数组生成 Dom 元素,但是使用不当也会有性能问题. 在项目中我们使用 ng ...

  10. t_sql语句得到表中所有信息

    --得到所有数据库SELECT Name FROM Master..SysDatabases ORDER BY Name --得到某一数据库的所有表SELECT Name FROM MyPhotos. ...