BTduino - Arduino - Bluetooth 1.7

Licencia: Gratis ‎Tamaño del archivo: 1.05 MB
‎Calificación de usuarios: 0.0/5 - ‎0 ‎Votos

acerca de BTduino - Arduino - Bluetooth

BTduino 是利用手機藍芽裝置(Bluetooth)連接 Arduino 的應用程式。此程式現提供數字按鍵模式及遊戲控制器模。往後亦會加入PWM,各種感應器及按鍵配對等功能。使用者需連接藍芽接收裝置如HC06至Arduino。藍芽HC06連接Arduino的設置如下: 1. 藍芽VCC接Arduino 5v或3.3v(視乎所購買的裝置而定) 2. 藍芽GND接Arduino GND 3. 藍芽RXD接Arduino TX(Pin10) 4. 藍芽TXD接Arduino RX(Pin11) Arduino RX (Pin 11) conectar a Bluethooth TX, Arduino TX (Pin 10) conectar a Bluethooth RX

Arduino 設定 /* btduino2 - Modo Terminal - por David Chung */ #include

SoftwareSerial myBT(11, 10); const int ledPin n.o 13; String inCode á ""; boolean endCode á false;

void setup() Serial.begin(9600); myBT.begin(9600); pinMode(ledPin, OUTPUT); inCode.reserve(50); }

void loop() if (myBT.available()) char incomingChar á myBT.read(); if(incomingChar ')')- endCode á true; •otra cosa? inCode + á incomingChar; } }

si (endCode)- int strEnd á inCode.indexOf(')'); String myString á inCode.substring(0, strEnd);

Serial.print("Encoming : "); Serial.println(myString); if(myString ? "on") digitalWrite(ledPin, HIGH); myBT.print("LED On"); } if(myString ? "off") digitalWrite(ledPin, LOW); myBT.print("LED Off"); } inCode ""; endCode á false; } }

/* btduino2 - Modo GamePad - por David Chung */ #include

SoftwareSerial myBT(11, 10); const int ledPin n.o 13; int incomingByte á 0;

void setup() Serial.begin(9600); myBT.begin(9600); pinMode(ledPin, OUTPUT); }

void loop() if (myBT.available()) incomingByte á myBT.read(); Serial.println(char(incomingByte)); if(incomingByte ' 'L')? digitalWrite(ledPin, HIGH); } if(incomingByte ' 'R')- digitalWrite(ledPin, LOW); } } }

/* Modo Slider */ #include

SoftwareSerial myBT(11, 10); const int ledPin n.o 13; String inCode á "";

boolean endCode á false;

void setup() Serial.begin(9600); myBT.begin(9600); pinMode(ledPin, OUTPUT); inCode.reserve(30); }

void loop() if (myBT.available()) char incomingChar á myBT.read(); if(incomingChar ')')- endCode á true; •otra cosa? inCode + á incomingChar; } }

si (endCode)- int comma1 á inCode.indexOf(','); int comma2 á inCode.indexOf(',', comma1 + 1); String Rs á inCode.substring(0, comma1); String Gs á inCode.substring(comma1 + 1, comma2); String Bs á inCode.substring(comma2 + 1);

Serial.print("inCode " " ); Serial.print(inCode); Serial.print(" R á "); Serial.print(Rs); Serial.print(" G a "); Serial.print(Gs); Serial.print(" B - "); Serial.println(Bs);

int R á Rs.toInt(); int G á Gs.toInt(); int B á Bs.toInt();

analogWrite(ledPin, R); inCode ""; endCode á false; } }

/* btduino2 - Modo de orientación - por David Chung */ #include

SoftwareSerial myBT(11, 10); const int ledPin n.o 13; String inCode á ""; boolean endCode á false;

void setup() Serial.begin(9600); myBT.begin(9600); pinMode(ledPin, OUTPUT); inCode.reserve(30); }

void loop() if (myBT.available()) char incomingChar á myBT.read(); if(incomingChar ')')- endCode á true; •otra cosa? inCode + á incomingChar; } }

si (endCode)- int comma1 á inCode.indexOf(','); int comma2 á inCode.indexOf(',', comma1 + 1); String As - inCode.substring(0, comma1); String Ps á inCode.substring(comma1 + 1, comma2); String Rs á inCode.substring(comma2 + 1);

Serial.print("inCode "); Serial.print(inCode); Serial.print(" Azimuth "); Serial.print(As); Serial.print(" Tono "); Serial.print(Ps); Serial.print("Roll " "); Serial.println(Rs);

int A - As.toInt(); int P - Ps.toInt(); int R á Rs.toInt();

inCode ""; endCode á false; } }