collapse

* Posts Recentes

Cerca eléctrica por SerraCabo
[14 de Junho de 2025, 23:26]


Alguém arranja motores? por almamater
[10 de Junho de 2025, 22:34]


Condensador 4.7uF 0603 por brunus
[09 de Junho de 2025, 15:52]


+ LASERs por dropes
[30 de Maio de 2025, 23:11]


Lenovo IdeaPad 3 Não liga por jm_araujo
[07 de Maio de 2025, 19:10]


Identificar Diodo Zenner por filjoa
[01 de Maio de 2025, 23:07]


Meu novo robô por dropes
[18 de Março de 2025, 14:51]


JBL partybox On-The-Go por almamater
[21 de Fevereiro de 2025, 23:32]


Talking Reverse Engineering with an Absolute Legend! por SerraCabo
[13 de Fevereiro de 2025, 09:56]


Motoserra Stihl 120C por brunus
[11 de Fevereiro de 2025, 16:29]

Autor Tópico: Sensor de temperatura  (Lida 35772 vezes)

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

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Sensor de temperatura
« Responder #15 em: 24 de Julho de 2012, 08:51 »
Tira o & e mete &&. O & é o and bit-a-bit. O && é o and lógico.

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.272
Re: Sensor de temperatura
« Responder #16 em: 24 de Julho de 2012, 13:29 »
Recomendava o LM335 ou LM35, é barato, já o usei e é de fácil leitura pré-calibrado a 10mV por cada ºC.

Offline Bony

  • Mini Robot
  • *
  • Mensagens: 397
Re: Sensor de temperatura
« Responder #17 em: 24 de Julho de 2012, 22:08 »
Tira o & e mete &&. O & é o and bit-a-bit. O && é o and lógico.

ja meti, continua igual :|

Offline Bony

  • Mini Robot
  • *
  • Mensagens: 397
Re: Sensor de temperatura
« Responder #18 em: 24 de Julho de 2012, 22:09 »
Recomendava o LM335 ou LM35, é barato, já o usei e é de fácil leitura pré-calibrado a 10mV por cada ºC.

estou a usar o DS18B20, isto requer algum tipo de calibração ou ja vem calibrado ?

Offline Marvin

  • Mini Robot
  • *
  • Mensagens: 677
    • The scientist and the geek
Re: Sensor de temperatura
« Responder #19 em: 24 de Julho de 2012, 22:57 »
Recomendava o LM335 ou LM35, é barato, já o usei e é de fácil leitura pré-calibrado a 10mV por cada ºC.

estou a usar o DS18B20, isto requer algum tipo de calibração ou ja vem calibrado ?

Costumo utilizar e nunca calibrei nenhum, mas já queimei cerca de 3...
Dronetech BlogThe Scientist and the Geek

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Sensor de temperatura
« Responder #20 em: 24 de Julho de 2012, 23:47 »
Recomendava o LM335 ou LM35, é barato, já o usei e é de fácil leitura pré-calibrado a 10mV por cada ºC.

estou a usar o DS18B20, isto requer algum tipo de calibração ou ja vem calibrado ?


Já está calibrado de fábrica.

para saber como ligar, é seguir o datasheet.

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Sensor de temperatura
« Responder #21 em: 24 de Julho de 2012, 23:48 »
Recomendava o LM335 ou LM35, é barato, já o usei e é de fácil leitura pré-calibrado a 10mV por cada ºC.

estou a usar o DS18B20, isto requer algum tipo de calibração ou ja vem calibrado ?

Costumo utilizar e nunca calibrei nenhum, mas já queimei cerca de 3...


E porque é que queimara, chegaste a saber ?

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.272
Re: Sensor de temperatura
« Responder #22 em: 25 de Julho de 2012, 00:01 »
Se a aplicação vai ser para um aquário, não é necessário ter grande precisão e recorrer a um sensor digital de 9 a 12bits como o DS18B20.
Muitos dos micros têm entrada analógica e recorrendo a um atmega8 terias a precisão de 11bits (1023 em decimal), no que poderia ser realizada uma escala de 0 a 102.3ºC por exemplo e ainda controlar 4 displays de 7 segmentos em simultâneo.

máxima temperatura:
LM35 = 150ºC
DS18B20 = 125ºC

ps: o sensor não deve ser testado com isqueiro obviamente ;)


Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Sensor de temperatura
« Responder #23 em: 25 de Julho de 2012, 00:54 »
Este pessoal gosta de gastar dinheiro em sensores em vez de usar um díodo. tss tss tsss....

Mete uns Serial println para veres o valor que lês do sensor, para tentar perceber porque é que não entra no if.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Sensor de temperatura
« Responder #24 em: 25 de Julho de 2012, 01:21 »
Se a aplicação vai ser para um aquário, não é necessário ter grande precisão e recorrer a um sensor digital de 9 a 12bits como o DS18B20.
Muitos dos micros têm entrada analógica e recorrendo a um atmega8 terias a precisão de 11bits (1023 em decimal), no que poderia ser realizada uma escala de 0 a 102.3ºC por exemplo e ainda controlar 4 displays de 7 segmentos em simultâneo.

máxima temperatura:
LM35 = 150ºC
DS18B20 = 125ºC

ps: o sensor não deve ser testado com isqueiro obviamente ;)



São 10 bits e não 11 Dropes, 11bits teria um valor máximo de 2047.
Avr fanboy

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.272
Re: Sensor de temperatura
« Responder #25 em: 25 de Julho de 2012, 01:28 »
Tens razão, era só para ver se o pessoal estava atento ;)

Offline Hugu

  • Mini Robot
  • *
  • Mensagens: 5.602
  • Keyboard not found. Press any key to continue.
    • [url=www.g7electronica.net]G7 Electrónica.net[/url]
Re: Sensor de temperatura
« Responder #26 em: 25 de Julho de 2012, 03:43 »
Tens razão, era só para ver se o pessoal estava atento ;)
mais bit menos bit!..  ;D

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Sensor de temperatura
« Responder #27 em: 25 de Julho de 2012, 08:59 »
Recomendava o LM335 ou LM35, é barato, já o usei e é de fácil leitura pré-calibrado a 10mV por cada ºC.

estou a usar o DS18B20, isto requer algum tipo de calibração ou ja vem calibrado ?


Então afinal estás a usar qual sensor?

Offline Marvin

  • Mini Robot
  • *
  • Mensagens: 677
    • The scientist and the geek
Re: Sensor de temperatura
« Responder #28 em: 25 de Julho de 2012, 09:25 »
E porque é que queimara, chegaste a saber ?

Sim soube de todos, por ordem: curto circuito, não reparar q estava ligado directo a 12v, exceder (em muito) os 125º.

Basicamente foram todos acidentes.
Dronetech BlogThe Scientist and the Geek

Offline Bony

  • Mini Robot
  • *
  • Mensagens: 397
Re: Sensor de temperatura
« Responder #29 em: 26 de Julho de 2012, 23:27 »
e ninguem em ajuda :(

deixo aqui o codigo tudo ( vejam la se descobrem porque raio ao led nao quer acender):

Código: [Seleccione]

#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(12,11,5,4,3,2);

#define ledverde 6
#define ledamarelo 7
#define ledvermelho 9
#define ONE_WIRE_BUS 10 // sensor de temperatura ligao ao pin 10

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)

OneWire oneWire(ONE_WIRE_BUS);


// Pass our oneWire reference to Dallas Temperature.

DallasTemperature sensors(&oneWire);
 

void setup(void)

{

// start serial port

Serial.begin(9600);

lcd.begin(20,4);

 sensors.begin(); // IC Default 9 bit. If you have troubles consider upping it 12. Ups the delay giving the IC more time to process the temperature measurement
 pinMode(ledverde, OUTPUT);
 digitalWrite(ledverde, LOW);
 pinMode(ledamarelo, OUTPUT);
 digitalWrite(ledamarelo, LOW);
 pinMode(ledvermelho, OUTPUT);
 digitalWrite(ledvermelho, LOW);
}


void loop(void)

{
lcd.setCursor(0,0);
lcd.print("Temperatura Aquario");
sensors.requestTemperatures(); // Send the command to get temperatures
lcd.setCursor(6,1);
lcd.print(sensors.getTempCByIndex(0));// Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire
lcd.print( " C " );
sensors.requestTemperatures();

// Led Verde

if (sensors.getTempCByIndex(0)>=26 && sensors.getTempCByIndex(0)<=28.5) // se a temperatura é maior ou igual que 26 e menor que 28.5 graus vais acender o led verde
{
  digitalWrite(ledverde, HIGH);
}
  else // caso contrario vai estar o led verde apagado
  {
  digitalWrite(ledverde, LOW);
}

// Led Amarelo

if (sensors.getTempCByIndex(0)>=25.0 && sensors.getTempCByIndex(0)<=25.9) // se a temperatura é maior ou igual que 25.0 graus e menos ou igual que 25.9 graus vai acender o led amarelo
{
  digitalWrite(ledamarelo, HIGH);
}
  else // caso contrario o led amarelo vai estar apagado.
  {
    digitalWrite(ledamarelo, LOW);
}

// Led Vermelho

if (sensors.getTempCByIndex(0)<=24 && sensors.getTempCByIndex(0)>=29) // se a temperatura é menor ou igual que 24 graus ou maior ou igual que 29 vai piscar o led vermelho
{
  digitalWrite(ledvermelho, HIGH);
  delay(1000);
  digitalWrite(ledvermelho, LOW);
  delay(1000);
}

lcd.setCursor(0,2);
lcd.print("Temperatura Ambiente");
sensors.requestTemperatures(); // Send the command to get temperatures
lcd.setCursor(6,3);
lcd.print(sensors.getTempCByIndex(1));// Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire
lcd.print( " C " );
sensors.requestTemperatures();
}