Serial.print(temp)
Receber dados de um bus ou entrada , e mandar por serial , sem formatação o resto trata o software.CitarSerial.print(temp)
A temperatura em principio pode ser num int . Caramba é assim tão dificil mandar dados por uma serial?
O arduino de certeza que esta a enviar um int, porque se esse temp é uma leitura do adc que é de 10 bits, ele tem de enviar 16 bits, nao existe nenhuma dificuldade em enviar dados por Serial, mas podias por exemplo ter um protocolo em que tinhas um caracter para indicar inicio e fim de pacote de dados e processar a temperatura no Arduino e so enviar a temperatura ja processada.
A temperatura em principio pode ser num int . Caramba é assim tão dificil mandar dados por uma serial?
Enviar pela porta série não é difícil mas garanto-te que envio 100 coisas diferentes que obedecem a isto "Enviar para o computador os dados sem nenhuma formatação." e nenhuma a tua aplicação vai conseguir interpretar.
Eu pelo menos continuo sem perceber o que ele quer que envie ao certo mas desconfio que seja uma string já com a temperatura como por exemplo:
Serial.print("18.43") //Arduino
Se temp é um inteiro então tem 16bits no mínimo é verdade mas então há outro problema que é como representas o numero, põe o código que usas no Arduino que o pessoal tira-te já essa duvida!
Int temp = 18
Int dev = 48
Serial.print = temp
Serial.print = "."
Serial.print = dev
#include <Wire.h>
#define address 0x4F // A0|A1|A2 a High
#define baudrate 9600
void setup() {
Wire.begin(); // I2C Arranque
Serial.begin(9600); // Serial Arranque
}
void loop(){
// Configuração do ds1631+
Wire.beginTransmission(address); //Inicio
Wire.send(0xAC); // Configuração
Wire.send(B00001111); // POL | 12 bit | OneShot
Wire.endTransmission(); //Fim
delay(10); // Delay necessária
// Conversão da Temperatura
Wire.beginTransmission(address);
Wire.send(0x51);
Wire.endTransmission();
delay(10);
// Espera que a conversão esteja acabada
byte conf = 0;
while ( conf & B1000000 != B10000000 ) {
delay( 100 );
Wire.beginTransmission(address);
Wire.send(0xAC);
Wire.endTransmission();
conf = Wire.receive();
}
// Pedir a Temperatura
Wire.beginTransmission(address);
Wire.send(0xAA);
Wire.endTransmission();
Wire.requestFrom(address, 2); // Pedir 2bytes
int temp = Wire.receive();
// read second byte
int frac = Wire.receive();
if (temp == 0) {Serial.println("Erro");} else{
Serial.print(temp);
Serial.print( "." );
frac = 100 * (frac & 0xF0 )/ 256;
if ( frac < 10 ) {
Serial.print("0");
}
Serial.print( frac );
delay(1000);
}
}