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) se connecte à Bluethooth TX, Arduino TX (Pin 10) se connectent à Bluethooth RX
Arduino 設定 /* btduino2 - Terminal Mode - par David Chung */ #include
SoftwareSerial myBT (11, 10); const int ledPin = 13; String inCode = « »; boolean endCode = faux;
configuration nulle () { Serial.begin(9600); myBT.begin(9600); pinMode (ledPin, SORTIE); inCode.reserve(50); }
boucle vide () { si (myBT.available()) { char incomingChar = myBT.read(); if(incomingChar == ')'){ endCode = vrai; } autre { inCode += incomingChar; } }
si (endCode){ int strEnd = inCode.indexOf(')'); String myString = inCode.substring(0, strEnd);
Serial.print (« Entrant: « ); 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 = faux; } }
/* btduino2 - Mode GamePad - par David Chung */ #include
SoftwareSerial myBT (11, 10); const int ledPin = 13; int incomingByte = 0;
configuration nulle () { Serial.begin(9600); myBT.begin(9600); pinMode (ledPin, SORTIE); }
boucle vide () { si (myBT.available()) { incomingByte = myBT.read(); Serial.println (char (incomingByte)); if(incomingByte == 'L'){ digitalWrite (ledPin, HIGH); } if(incomingByte == 'R'){ digitalWrite (ledPin, LOW); } } }
/* Mode curseur */ #include
SoftwareSerial myBT (11, 10); const int ledPin = 13; String inCode = « »;
boolean endCode = faux;
configuration nulle () { Serial.begin(9600); myBT.begin(9600); pinMode (ledPin, SORTIE); inCode.reserve(30); }
boucle vide () { si (myBT.available()) { char incomingChar = myBT.read(); if(incomingChar == ')'){ endCode = vrai; } autre { inCode += incomingChar; } }
si (endCode){ int virgule1 = inCode.indexOf (','); int virgule2 = inCode.indexOf (',', virgule1 + 1); String Rs = inCode.substring(0, virgule1); String Gs = inCode.substring(virgule1 + 1, virgule2); Chaîne B = inCode.substring (virgule2 + 1);
Serial.print(« inCode = « ); Serial.print(inCode); Serial.print( » R = « ); Serial.print(Rs); Serial.print( » G = « ); 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 = faux; } }
/* btduino2 - Mode Orientation - par David Chung */ #include
SoftwareSerial myBT (11, 10); const int ledPin = 13; String inCode = « »; boolean endCode = faux;
configuration nulle () { Serial.begin(9600); myBT.begin(9600); pinMode (ledPin, SORTIE); inCode.reserve(30); }
boucle vide () { si (myBT.available()) { char incomingChar = myBT.read(); if(incomingChar == ')'){ endCode = vrai; } autre { inCode += incomingChar; } }
si (endCode){ int virgule1 = inCode.indexOf (','); int virgule2 = inCode.indexOf (',', virgule1 + 1); String As = inCode.substring(0, virgule1); String Ps = inCode.substring (virgule1 + 1, virgule2); String Rs = inCode.substring(virgule2 + 1);
Serial.print(« inCode = « ); Serial.print(inCode); Serial.print( » Azimuth = « ); Serial.print(As); Serial.print( » Pitch = « ); Serial.print(Ps); Serial.print( » Rouleau = « ); Serial.println(Rs);
int A = As.toInt(); int P = Ps.toInt(); int R = Rs.toInt();
inCode = « »; endCode = faux; } }
historique de la version
- Version 1.7 posté sur 2015-11-30
mode 修正Orientation輸出值
Détails du programme
- Catégorie: Utilitaires système > Maintenance du système
- Éditeur: Chung Siu Wing, David
- Licence: Gratuit
- Prix: N/A
- Version: 1.7
- Plate-forme: android