collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Temperature Analyser  (Lida 5426 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: Temperature Analyser
« Responder #15 em: 22 de Fevereiro de 2011, 19:40 »
Em principio ele lê dessas maneiras?

Para a int é dificil ? :

Código: [Seleccione]
Int temp = 18
Int dev = 48

Serial.print = temp
Serial.print = "."
Serial.print = dev


Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Temperature Analyser
« Responder #16 em: 22 de Fevereiro de 2011, 23:02 »
Os teus posts sao sempre semi-enigmaticos GnGz..
Mas efectivamente estas a ler uma temperatura em que?
O arduino como tem funçoes overloaded se lhe enfiares com um int para o serial ele manda dois bytes sem tu veres isso.
Avr fanboy

Offline andre_f_carvalho

  • Mini Robot
  • *
  • Mensagens: 1.469
    • Pro - andrefcarvalho
Re: Temperature Analyser
« Responder #17 em: 22 de Fevereiro de 2011, 23:47 »
boas,


acho o que ele esta a querer dizer no enviar a temperatura, é como se usar-mos picaxe, lemos o valor do sensor e com os calculos normais na programação definimos o valor final numa memoria (exemplo "b0" no caso de usar picaxe) e depois utiliza-se o comando debug (usado para verificar os valores que estao a ser usados nas memorias "b" e ou "w" no microcontrolador) e assim se obtem os valores da temperatura, no caso de enviar por serial utiliza-se um outro comando, que não sei como se chama :P e assim da para o que ele quer fazer no programa..

cump

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: Temperature Analyser
« Responder #18 em: 23 de Fevereiro de 2011, 13:37 »
Sim , envias para o pc normalmente ..


Código para o Arduino:
Citar
#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);

  }

  
 
}