Olá galera, estou aprendendo aqui com meu tatuino!
Bom, gostaria de saber se alguem pode me ajudar aqui com um problema... :\
Bom o que acontece é o seguinte, para converter os dados lidos em INT para HEX eu já tenho que usar o Serial.print(intvalue,HEX) e isso já printa na serial, bom até aí tudo bem se eu quizesse apenas mandar um dado HEX, no entanto eu quero mandar 5 dados HEX diferentes.... O que eu gostaria de fazer é criar uma string com os 5 dados já convertidos em HEX e aí sim mandar para a Serial, no entanto quando eu faço String = (intvalue,HEX) sempre me retorna 16 independente do valor... Ou seja eu só estou conseguindo fazer a conversão quando eu faço o Serial.print, e consequentemente isto está fragmentando todos os dados e dificultando a leitura via java...
Como disse anteriormente o que eu pretendia realizar é o envio de 1 string já contendo tudo para que assim o java consiga pegar o pacote todo de uma vez e não grão por grão (o que danifica e dificulta muito a obtenção da informação).
O que eu esperava que funcionasse era isso:
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = (analogRead(A0)); // Leitura da entrada analogica da porta A0 feita em 10bits, a divisão por 4 torna a leitura equivalente a 8 bits.
int sensorValue2 = (analogRead(A1)); // Leitura da entrada analogica da porta A1.
int sensorValue3 = (analogRead(A2)); // Leitura da entrada analogica da porta A2.
int sensorValue4 = (analogRead(A3)); // Leitura da entrada analogica da porta A3.
int sensorValue5 = (analogRead(A4)); // Leitura da entrada analogica da porta A4.
String sv = (sensorValue, HEX); // Conversão do valor da variavel sensorValue de int para Hexadecimal.
String sv2 = (sensorValue2, HEX); // Conversão do valor da variavel sensorValue2 de int para Hexadecimal.
String sv3 = (sensorValue3, HEX); // Conversão do valor da variavel sensorValue3 de int para Hexadecimal.
String sv4 = (sensorValue4, HEX); // Conversão do valor da variavel sensorValue4 de int para Hexadecimal.
String sv5 = (sensorValue4, HEX); // Conversão do valor da variavel sensorValue5 de int para Hexadecimal.
String porta =(sv+" "+sv2+" "+sv3+" "+sv4+" "+sv5); // Concatenação das Strings em Hex referentes as variaveis sensorValue em Hex.
Serial.println(porta); // Envio desta String concatenada para a porta serial.
O problema é que esta conversão sempre me retorna 16!
Agora quando dá certo sai assim:
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0); // Leitura da entrada analogica da porta A0 feita em 10bits, a divisão por 4 torna a leitura equivalente a 8 bits.
delay(100);
int sensorValue2 = analogRead(A1); // Leitura da entrada analogica da porta A1.
delay(100);
int sensorValue3 = analogRead(A2); // Leitura da entrada analogica da porta A2.
delay(100);
int sensorValue4 = analogRead(A3); // Leitura da entrada analogica da porta A3.
delay(100);
int sensorValue5 = analogRead(A4); // Leitura da entrada analogica da porta A4.
Serial.print("o");
Serial.print(sensorValue,HEX);
Serial.print(" ");
Serial.print("p");
Serial.print(sensorValue2,HEX);
Serial.print(" ");
Serial.print("q");
Serial.print(sensorValue3,HEX);
Serial.print(" ");
Serial.print("r");
Serial.print(sensorValue4,HEX);
Serial.print(" ");
Serial.print("s");
Serial.print(sensorValue5,HEX);
Serial.print("\n");
delay(200);
//OBS Esses O, P, Q, R, S foram tentativas de sincronizar o codigo java, o que não deu certo também! :\
}
Mas como eu disse, o java fica louquinho e torna-se praticamente impossivel de detectar o cordão de informação certo :, em outras palavras ele acaba lendo tudo picotado :[
Alguma alma bondosa poderia me ajudar?
Valeu galera!