Código de exemplo para o Joystick Bluetooth 2.1
Código
fonte de exemplo para utilizar o Joystick Bluetooth com o módulo bluetooth
HC-05 e com o Arduino
/* ***************************************************************************
Joystick Bluetooth - Código de exemplo para arduino
Autor: Marcelo Borges dos Santos
e-mail: mbsborges@gmail.com
blog: http://mbsborges.blogspot.com.br
Ultima alteração: 12 de maio de 2015 às 15:08
******************************************************************************/
//Biblioteca
#include <SoftwareSerial.h>
//Pinos para a virtual serial (RX, TX)
SoftwareSerial Bluetooth(2, 3);
//Saída PWM
int dimmer = 5;
//Pino para leitura da tensão da bateria
int bateria = A0;
//String para armazenar a leitura dos dados
String readString = "";
//variável para receber os caracteres vindos da serial
byte byteRead;
void setup() {
Bluetooth.begin(9600);
Serial.begin(9600);
//Pino de saída
pinMode(dimmer, OUTPUT);
//Mensagem de inicialização
Serial.println("Mbsborges - Joystick Bluetooth");
Serial.println("http://mbsborges.blogspot.com.br/");
}
void loop() {
//Verificando se tem algum byte disponível na serial
while (Bluetooth.available() > 0) {
//lendo byte disponível
byteRead = Bluetooth.read();
//Verificando se é fim de linha
if (byteRead == '\n') {
Serial.println("\nOk!");
//Imprimindo a mensagem completa
Serial.println(readString);
//Tratamento dos dados para a execução dos comandos recebidos
tratamentoDados();
//Limpando String de leitura
readString = "";
}
else {
//Covertendo os bytes recebidos em caracteres e os concatenando
readString += char(byteRead);
//Imprimindo caractere recebido
Serial.print (char(byteRead));
}
}
}
void tratamentoDados() {
if (readString.indexOf("level") == 0) {
//teste com numeros randômicos
//int randNumber = random(0, 101);
//Coneversão da leitura da porta analógica A0 para valores dentro da escala de 0-100
int randNumber = map(analogRead(bateria), 0, 1023, 0, 100);
//exibição do valor a ser enviado para o aplicativo
Serial.println(randNumber);
//Enviando o valor para o aplicativo
//Formato da mensagem: _bat=number=bat
//number é um numero inteiro e varia de 0-100
Bluetooth.print("_bat=" + String(randNumber) + "=bat");
}
if (readString.indexOf("slider=") == 0) {
//Obter valor do slider
readString = readString.substring(readString.indexOf("slider=") + 7, readString.indexOf("=slider"));
//Imprimindo valor do slider
Serial.println(readString);
//Ajustando a intensidade do led de acordo com o valor lido do slider
analogWrite(dimmer, map(readString.toInt(), 0, 100, 0, 255));
}
else if (readString.indexOf("up") == 0) {
Serial.println("UP");
}
else if (readString.indexOf("down") == 0) {
Serial.println("DOWN");
}
else if (readString.indexOf("left") == 0) {
Serial.println("LEFT");
}
else if (readString.indexOf("right") == 0) {
Serial.println("RIGHT");
}
else if (readString.indexOf("stop") == 0) {
Serial.println("STOP");
}
else if (readString.indexOf("cmd1") == 0) {
Serial.println("CMD1");
}
else if (readString.indexOf("cmd2") == 0) {
Serial.println("CMD2");
}
else if (readString.indexOf("cmd3") == 0) {
Serial.println("CMD3");
}
else if (readString.indexOf("cmd4") == 0) {
Serial.println("CMD4");
}
else if (readString.indexOf("cmd5") == 0) {
Serial.println("CMD5");
}
else if (readString.indexOf("cmd6") == 0) {
Serial.println("CMD6");
}
}

-----
Yes, it is possible. To use only a slider to control the camera using pan / tilt you must customize the source code that will be sent to your arduino or other microcontroller of your preference
Hello, at this time it is not possible to use this application for Keymapping, this application is only intended for use in electronic projects