最近开始研究arduino,网上关于arduino的材料,特别是中文的,不是很多。所以想要把自己实现的每一步都给记录一下。以后如果忘了,可以再看看。看到网上有不少人实现用蓝牙控制小灯,所以自己也动手小geek一下。
蓝牙模块用的是淘宝买的,40块钱一个,虽说也有贵的,但是便宜的感觉功能上差不多。
这里用到了arduino的扩展板,当然了,不用也行。完全是为了接下来做其他实验而准备的。蓝牙模块,要注意接线,TXRX与板上的TXRX要相反对接。然后在数字针脚9、10、11接上发光二极管。这里可加可不加电阻,不加的话亮一点。我在针脚8上加了一个灯,用于方便观察蓝牙的状态,接在蓝牙模块的state接口上。
接下来开发arduino程序。
- 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端,网上也能找到例子,可以自己做一些合适的修改。如果需要,可联系我。