Arduino蓝牙控制三色灯
2015-11-26 00:57
483 查看
最近开始研究arduino,网上关于arduino的材料,特别是中文的,不是很多。所以想要把自己实现的每一步都给记录一下。以后如果忘了,可以再看看。看到网上有不少人实现用蓝牙控制小灯,所以自己也动手小geek一下。
蓝牙模块用的是淘宝买的,40块钱一个,虽说也有贵的,但是便宜的感觉功能上差不多。
这里用到了arduino的扩展板,当然了,不用也行。完全是为了接下来做其他实验而准备的。蓝牙模块,要注意接线,TXRX与板上的TXRX要相反对接。然后在数字针脚9、10、11接上发光二极管。这里可加可不加电阻,不加的话亮一点。我在针脚8上加了一个灯,用于方便观察蓝牙的状态,接在蓝牙模块的state接口上。
接下来开发arduino程序。
[cpp] view
plaincopy
int redLed = 9;
int greenLed = 10;
int blueLed = 11;
int beep = 3;//指示灯,可以用蜂鸣器等代替
int state=8;//蓝牙state口
int signal;//test if connected
void setup()
{
Serial.begin(9600);
pinMode(state,INPUT);
pinMode(redLed, OUTPUT);
pinMode(greenLed,OUTPUT);
pinMode(blueLed,OUTPUT);
pinMode(beep,OUTPUT);
analogWrite(redLed, 0);
analogWrite(greenLed, 0);
analogWrite(blueLed, 0);
}
void loop(){
int color;
signal= digitalRead(state);
if(signal==HIGH)
digitalWrite(beep,HIGH);
else
digitalWrite(beep,LOW);
if(Serial.available()>1){
color = Serial.read();
int val = Serial.read();
if(color=='r'){
analogWrite(redLed,val);
}else if(color=='g'){
analogWrite(greenLed,val);
}else if(color=='b'){
analogWrite(blueLed,val);
}
Serial.print("value is :");
Serial.println(val);
}
delay(10);
}
ardunio端完成后,用android客户端调用。android端,网上也能找到例子,可以自己做一些合适的修改。如果需要,可联系我。
蓝牙模块用的是淘宝买的,40块钱一个,虽说也有贵的,但是便宜的感觉功能上差不多。
这里用到了arduino的扩展板,当然了,不用也行。完全是为了接下来做其他实验而准备的。蓝牙模块,要注意接线,TXRX与板上的TXRX要相反对接。然后在数字针脚9、10、11接上发光二极管。这里可加可不加电阻,不加的话亮一点。我在针脚8上加了一个灯,用于方便观察蓝牙的状态,接在蓝牙模块的state接口上。
接下来开发arduino程序。
[cpp] view
plaincopy
int redLed = 9;
int greenLed = 10;
int blueLed = 11;
int beep = 3;//指示灯,可以用蜂鸣器等代替
int state=8;//蓝牙state口
int signal;//test if connected
void setup()
{
Serial.begin(9600);
pinMode(state,INPUT);
pinMode(redLed, OUTPUT);
pinMode(greenLed,OUTPUT);
pinMode(blueLed,OUTPUT);
pinMode(beep,OUTPUT);
analogWrite(redLed, 0);
analogWrite(greenLed, 0);
analogWrite(blueLed, 0);
}
void loop(){
int color;
signal= digitalRead(state);
if(signal==HIGH)
digitalWrite(beep,HIGH);
else
digitalWrite(beep,LOW);
if(Serial.available()>1){
color = Serial.read();
int val = Serial.read();
if(color=='r'){
analogWrite(redLed,val);
}else if(color=='g'){
analogWrite(greenLed,val);
}else if(color=='b'){
analogWrite(blueLed,val);
}
Serial.print("value is :");
Serial.println(val);
}
delay(10);
}
ardunio端完成后,用android客户端调用。android端,网上也能找到例子,可以自己做一些合适的修改。如果需要,可联系我。
相关文章推荐
- LA 2678 Subsequence(尺取法)
- 【Arduino】开发入门【七】7段LED显示器
- 【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信
- 【Arduino】开发入门【八】舵机操作+源代码
- 开发入门教程【三】Arduino开发工具
- 【Arduino】开发入门【四】Arduino驱动安装
- [LeetCode]Unique Paths II
- 【Arduino】开发入门教程【五】Hello Arduino
- 2015年11月26日 Java基础系列(一)之String与StringBuffer与StringBuilder的区别
- java 面试专题(二)String StringBuffer StringBuilder的区别
- 可以直接拿来用的常见Query代码片段
- UI基础----CATransition 转场动画 type 私有 API
- 49 You enable block change tracking. You issue the following command: BACKUP INCREMENTAL LEVEL 0 DA
- 47 You want to use RMAN to create compressed backups. Which statement is true about the compression
- miui显示虚拟按键方法
- 45 You want to disable resumable space allocation for all sessions. Which value should be assigned t
- IOS UIToolbar
- iOS UICollectionView实用练习 —— HERO博客
- RequestDispatcher跳转到jsp页面中文乱码
- UIView之基础控件综合事例