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