LusoRobótica - Robótica em Português

Electrónica => Electrónica Geral => Tópico iniciado por: Bony em 28 de Fevereiro de 2012, 22:06

Título: Sensor de temperatura
Enviado por: Bony em 28 de Fevereiro de 2012, 22:06
Viva :)

Ando aqui a pensar em fazer um termometro digital para o aquario. e queria um sensor que desse para meter na agua, nao sei qual é que dá para meter na agua e dps que aparece o visor nos display de 7 segmentos... ja andei a pesquisar mas ainda nao encontrei nada em concreto... pode me mostrar alguns esquemas ou exemplos na mesma situacao, e que sensor de temperatura utilizo ? falaram-me no LM335, mas acho que nao o posso meter dentro de agua. por isso a que preciso da vossa ajuda...

cumps
Título: Re: Sensor de temperatura
Enviado por: senso em 28 de Fevereiro de 2012, 22:10
Ou compras um sensor isolado, por exemplo a sparkfun tem ds18b20's enfiados num tubo de plástico com epoxy que são á prova de água, ou fazes tu um, com um lm335 ou um ds18b20 ou outro qualquer sensor de temperatura, compras cabo de 3 condutores isolado, enfias o sensor com os fios soldados num pedaço de heat-shrink e enches com silicone e deixas uma ponta do package do sensor de fora para que tenhas uma melhor leitura da temperatura de água.
Título: Re: Sensor de temperatura
Enviado por: Bony em 28 de Fevereiro de 2012, 22:13
e o esquema de montagem é igual aos outros todos ?
Título: Re: Sensor de temperatura
Enviado por: senso em 28 de Fevereiro de 2012, 22:17
O que é que entendes por esquema de montagem e quais outros todos, cada sensor tem a sua datasheet.
Os ds18b20 funcionam com um protocolo 1-wire, se usas Arduino é só ir buscar a biblioteca, se usas avr tambem é só ir buscar uma biblioteca e está a andar, tenho aqui um ao meu lado a funcionar á semanas sem problema nenhum, para pic ou arm tenho a certeza que tambem encontras bibliotecas 1-wire, bascom já tem uma incorporada assim como picaxe.
Título: Re: Sensor de temperatura
Enviado por: Bony em 28 de Fevereiro de 2012, 22:21
Pois... entao deixa-me pesquisar mais a fundo que logo digo algo brevemente.

obrigado, pelas dicas ;)
Título: Re: Sensor de temperatura
Enviado por: engenhocas4you em 29 de Fevereiro de 2012, 00:36
Podes ver aqui:

http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/ (http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/)

cumps
Título: Re: Sensor de temperatura
Enviado por: Njay em 29 de Fevereiro de 2012, 01:42
Também podes usar um díodo qualquer. Precisas de o calibrar, mas se tiveres outro termómetro é fácil. Basta um circuito assim

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg140.imageshack.us%2Fimg140%2F5292%2Ftemperaturesensorschema.png&hash=8c212c193abf0349d694fc5f11bca88420d5a219)

A tensão em OUT baixa cerca de 2.3mV por cada ºC de aumento de temperatura. Acho que isto já foi discutido aqui no fórum, é uma questão de procurares.
Título: Re: Sensor de temperatura
Enviado por: Bony em 29 de Fevereiro de 2012, 23:37
Podes ver aqui:

http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/ (http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/)

cumps

onde compras.te o sensor ? é preciso ?
Título: Re: Sensor de temperatura
Enviado por: Bony em 29 de Fevereiro de 2012, 23:47
Também podes usar um díodo qualquer. Precisas de o calibrar, mas se tiveres outro termómetro é fácil. Basta um circuito assim

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg140.imageshack.us%2Fimg140%2F5292%2Ftemperaturesensorschema.png&hash=8c212c193abf0349d694fc5f11bca88420d5a219)

A tensão em OUT baixa cerca de 2.3mV por cada ºC de aumento de temperatura. Acho que isto já foi discutido aqui no fórum, é uma questão de procurares.

isso cheira-me a pouca precisao...
Título: Re: Sensor de temperatura
Enviado por: Hugu em 29 de Fevereiro de 2012, 23:47
Podes ver aqui:

http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/ (http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/)

cumps

onde compras.te o sensor ?

queres mm o ds1820?... eu vou ter em stock qdo fizer encomenda à mouser, mas de momento eu arranjo só o lm35
Título: Re: Sensor de temperatura
Enviado por: Bony em 01 de Março de 2012, 00:25
Podes ver aqui:

http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/ (http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/)

cumps

onde compras.te o sensor ?

queres mm o ds1820?... eu vou ter em stock qdo fizer encomenda à mouser, mas de momento eu arranjo só o lm35

quanto ira custar ? quando vais fazer a encomenda ?
Título: Re: Sensor de temperatura
Enviado por: senso em 01 de Março de 2012, 00:28
Pede samples na Maxim, procuras por ds18b20 e pedes samples do package TO-92.
Título: Re: Sensor de temperatura
Enviado por: engenhocas4you em 01 de Março de 2012, 14:26
Se tiverem interessados também tenho para venda.

Cumps
Título: Re: Sensor de temperatura
Enviado por: Njay em 01 de Março de 2012, 21:21
(...)
isso cheira-me a pouca precisao...

Aí está um exercício interessante. Qual é a precisão de

- um ds1820?
- um LM35?
- um díodo calibrado à mão com um termómetro de medir temperatura do corpo?

Se calhar ainda ficamos espantados com a resposta...
Título: Re: Sensor de temperatura
Enviado por: Bony em 24 de Julho de 2012, 02:51
Boas.

Ando aqui de volta deste projecto em que falta um promenor para finalizar e nao consigo por nada ver onde está o erro.... vou deixar aqui um excerto do codigo na parte onde penso que esteja o erro:

Código: [Seleccione]

// 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);
}


vejam la se descobrem algum erro para o LED vermelho nao acender nem piscar nada :| os LED´s amarelo e verde funcionam na boa, o vermelho nao dá sinal de vida nao sei pk :| ja o testei com o codigo do exemplo do arduino do "blink" e ele funciona :S ja nao sei mais que inventar ...
Título: Re: Sensor de temperatura
Enviado por: Njay em 24 de Julho de 2012, 08:51
Tira o & e mete &&. O & é o and bit-a-bit. O && é o and lógico.
Título: Re: Sensor de temperatura
Enviado por: dropes 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.
Título: Re: Sensor de temperatura
Enviado por: Bony 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 :|
Título: Re: Sensor de temperatura
Enviado por: Bony 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 ?
Título: Re: Sensor de temperatura
Enviado por: Marvin 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...
Título: Re: Sensor de temperatura
Enviado por: Sérgio_Sena 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.
Título: Re: Sensor de temperatura
Enviado por: Sérgio_Sena 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 ?
Título: Re: Sensor de temperatura
Enviado por: dropes 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 ;)

Título: Re: Sensor de temperatura
Enviado por: Njay 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.
Título: Re: Sensor de temperatura
Enviado por: senso 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.
Título: Re: Sensor de temperatura
Enviado por: dropes em 25 de Julho de 2012, 01:28
Tens razão, era só para ver se o pessoal estava atento ;)
Título: Re: Sensor de temperatura
Enviado por: Hugu 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
Título: Re: Sensor de temperatura
Enviado por: Sérgio_Sena 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?
Título: Re: Sensor de temperatura
Enviado por: Marvin 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.
Título: Re: Sensor de temperatura
Enviado por: Bony 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();
}


Título: Re: Sensor de temperatura
Enviado por: rglove em 26 de Julho de 2012, 23:38
Olá, o led vermelho não acende porque estás a utilizar AND quando devias utilizar OR aqui:

Código: [Seleccione]
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);}

Penso que bastará substituir "&&" por "or", mas espera por mais respostas.

Edit: Também dá para usar "||" em vez de "or".
Título: Re: Sensor de temperatura
Enviado por: Marvin em 26 de Julho de 2012, 23:43
Tambem acho que é isso. substitui && por || e ficas com o problema resolvido.

p.s. rglove foste mais rapido fizeste-me apagar o texto hehehe
Título: Re: Sensor de temperatura
Enviado por: rglove em 26 de Julho de 2012, 23:46
Desculpa lá Marvin xD
Título: Re: Sensor de temperatura
Enviado por: Njay em 27 de Julho de 2012, 14:03
e ninguem em ajuda :(

Isso é mentira; estás a ser injusto e pedinchas. Já te deram algumas ajudas e eu já te disse para imprimires para a porta série os valores do sensor, coisa que pareces ter ignorado. Por mim agora desenrasca-te, termino definitivamente a participação neste tópico.
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 00:31
Agora que resolvi um problema aparece outro :|

Ja consegui meter o led a piscar e afinal os || nao funcionam tive mesmo que escrever "or" assim ja funciona :)

Agora o led pisca, mas nao pisca com a rapidez que eu queria, está para ai a piscar de 3 em 3 segundos ja alterei e meti montes de valores no delay e nada continua sempre a piscar igual :|

Alguma sugestao?

é o ledvermelho.

Código: [Seleccione]
// 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.00 && sensors.getTempCByIndex(0)<=25.99) // 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 or 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);
}
else
{
  digitalWrite(ledvermelho, LOW);
}
Título: Re: Sensor de temperatura
Enviado por: senso em 18 de Agosto de 2012, 00:43
Cada conversão demora 750mS na resolução máxima, e como em vez de fazeres uma leitura para uma variavel e usar essa variavel nos if's estás a fazer leituras consecutivas para cada comparação dentro do if é normal que isso aconteça.
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 00:52
nao percebi :S

cada conversao ?

podes me dar um exemplo ?
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 18 de Agosto de 2012, 00:54
Eu faço isso. Espera um pouco.
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 00:55
Oky :)
Título: Re: Sensor de temperatura
Enviado por: senso em 18 de Agosto de 2012, 00:57
Cada vez que isto aparece no código:
sensors.getTempCByIndex(0)
São 750milisegundos que o arduino está á espera de resposta por parte do sensor de temperatura.
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 01:08
humm... entao mas a meu ver fico na mesma, tenho que fazer na mesma 3 variaveis para cada if, todos os If tem escalas de temperaturas diferentes.
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 18 de Agosto de 2012, 01:10
Aqui tens:
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

boolean vermelhoLigado = false;
boolean ultimoBlink = 0;

// 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()
{
// 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()

{
sensors.requestTemperatures(); // Send the command to get temperatures
int temperatura = sensors.getTempCByIndex(0);

lcd.setCursor(0,0);
lcd.print("Temperatura Aquario");
lcd.setCursor(6,1);
lcd.print(temperatura);// 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 " );

int perigo = 0;

if (temperatura >= 26 && temperatura <= 28.5) perigo=0;
else if (temperatura >= 25 && temperatura <= 26) perigo=1;
else perigo=2;

switch (perigo)
{
  case 0: //Led verde
  digitalWrite(ledverde, HIGH);
  digitalWrite(ledamarelo, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 1: //Led amarelo
  digitalWrite(ledamarelo, HIGH);
  digitalWrite(ledverde, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 2: //Led vermelho
    digitalWrite(ledverde, LOW);
    digitalWrite(ledvermelho, LOW);
  if (ultimoBlink+1000 >= millis())
  {
    ultimoBlink = millis();
    if (vermelhoLigado) {digitalWrite(ledvermelho, LOW); vermelhoLigado = false;}
    else {digitalWrite(ledvermelho, HIGH); vermelhoLigado = true;}
  }
  break;
}

lcd.setCursor(0,2);
lcd.print("Temperatura Ambiente");
lcd.setCursor(6,3);
lcd.print(temperatura);//
lcd.print( " C " );
}
Título: Re: Sensor de temperatura
Enviado por: senso em 18 de Agosto de 2012, 01:15
humm... entao mas a meu ver fico na mesma, tenho que fazer na mesma 3 variaveis para cada if, todos os If tem escalas de temperaturas diferentes.
Não, fazes só uma leitura por loop em vez de meia duzia delas.
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 01:25
Pedrock, Obrigadissimo.

Mas no teu codigo surge um problema, é que no display só mostra a temperatura a 2 bits e antigamente mostrava a 4 bits :)
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 18 de Agosto de 2012, 01:28
Tinha posto a temperatura como valor inteiro.
Vê assim:
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

boolean vermelhoLigado = false;
boolean ultimoBlink = 0;

// 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()
{
 
 Serial.begin(9600); // start serial port

 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);
 pinMode(ledamarelo, OUTPUT);
 pinMode(ledvermelho, OUTPUT);
}


void loop()
{
sensors.requestTemperatures(); // Send the command to get temperatures
float temperatura = sensors.getTempCByIndex(0);

lcd.setCursor(0,0);
lcd.print("Temperatura Aquario");
lcd.setCursor(6,1);
lcd.print(temperatura);// 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 " );

int perigo = 0;

if (temperatura >= 26 && temperatura <= 28.5) perigo=0;
else if (temperatura >= 25 && temperatura <= 26) perigo=1;
else perigo=2;

switch (perigo)
{
  case 0: //Led verde
  digitalWrite(ledverde, HIGH);
  digitalWrite(ledamarelo, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 1: //Led amarelo
  digitalWrite(ledamarelo, HIGH);
  digitalWrite(ledverde, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 2: //Led vermelho
    digitalWrite(ledverde, LOW);
    digitalWrite(ledvermelho, LOW);
  if (ultimoBlink+1000 >= millis())
  {
    ultimoBlink = millis();
    if (vermelhoLigado) {digitalWrite(ledvermelho, LOW); vermelhoLigado = false;}
    else {digitalWrite(ledvermelho, HIGH); vermelhoLigado = true;}
  }
  break;
}

lcd.setCursor(0,2);
lcd.print("Temperatura Ambiente");
lcd.setCursor(6,3);
lcd.print(temperatura);//
lcd.print( " C " );
}
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 01:37
Exacto dahh era trocar o int pelo float :| que pergunta a minha xD

Entretanto o Led vermelho agora quando ligo o circuito liga.se pk a temperatura esta abaixo dos 24 mas dps apaga-se nao se liga mais :|
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 18 de Agosto de 2012, 01:43
Não sei se reparaste, mas com as alterações que fiz, acende abaixo dos 25. Antes se tivesse a, por exemplo, 24.5, não acendia nenhum.
Já corrigi o problema do vermelho, era um erro estúpido, pus um bolean em vez de unsigned long LOL
E não tinha percebido que havia dois sensores, por isso a temperatura ambiente era a do aquário. Corrigi isso também:
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

boolean vermelhoLigado = false;
unsigned long ultimoBlink = 0;

// 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()
{
 
 Serial.begin(9600); // start serial port

 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);
 pinMode(ledamarelo, OUTPUT);
 pinMode(ledvermelho, OUTPUT);
}


void loop()
{
sensors.requestTemperatures(); // Send the command to get temperatures
float temperatura = sensors.getTempCByIndex(0);

lcd.setCursor(0,0);
lcd.print("Temperatura Aquario");
lcd.setCursor(6,1);
lcd.print(temperatura);// 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 " );

int perigo = 0;

if (temperatura >= 26 && temperatura <= 28.5) perigo=0;
else if (temperatura >= 25 && temperatura <= 26) perigo=1;
else perigo=2;

switch (perigo)
{
  case 0: //Led verde
  digitalWrite(ledverde, HIGH);
  digitalWrite(ledamarelo, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 1: //Led amarelo
  digitalWrite(ledamarelo, HIGH);
  digitalWrite(ledverde, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 2: //Led vermelho
    digitalWrite(ledverde, LOW);
    digitalWrite(ledvermelho, LOW);
    if (ultimoBlink+1000 >= millis())
    {
      ultimoBlink = millis();
      if (vermelhoLigado) {digitalWrite(ledvermelho, LOW); vermelhoLigado = false;}
      else {digitalWrite(ledvermelho, HIGH); vermelhoLigado = true;}
    }
  break;
}

lcd.setCursor(0,2);
lcd.print("Temperatura Ambiente");
lcd.setCursor(6,3);
lcd.print(sensors.getTempCByIndex(1));//
lcd.print( " C " );
}
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 01:52
Agora sim :D Finalmente tudo funciona como eu quero, bem deu luta...

Considero este projecto terminado.

Obrigadissimo mais uma vez :D

Já meto aqui umas fotos e uns videos e uma pequena descrisao do projecto para depois ficar tb como consulta quando alguem tiver uma duvida.
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 18 de Agosto de 2012, 01:55
Agora sim :D Finalmente tudo funciona como eu quero, bem deu luta...

Considero este projecto terminado.

Obrigadissimo mais uma vez :D

Já meto aqui umas fotos e uns videos e uma pequena descrisao do projecto para depois ficar tb como consulta quando alguem tiver uma duvida.
;D
Um video era fixe. Como é que fizeste para tornar o sensor à prova de água?
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 02:05
Primeiramente comecei por isolar com fita isolado cada pin do sensor isto dps de ja estar soldado ao fio depois com Manga Termo-Retráctil revesti o sensor e como mesmo assim nao estava mto convencido ainda meti cola quente :)
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 18 de Agosto de 2012, 02:08
Primeiramente comecei por isolar com fita isolado cada pin do sensor isto dps de ja estar soldado ao fio depois com Manga Termo-Retráctil revesti o sensor e como mesmo assim nao estava mto convencido ainda meti cola quente :)
Ah ok. Se tivesse um aquário fazia uma coisa assim...   8)
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 02:16
Só tem um contra... assim sai prai umas 20 x mais caro do que comprares um já feito proprio para o aquario. Só o sensor custa quase tanto com um termometro para o aqua.

Neste caso comprei 2, mais o display mais as tretas todas para fazer o arduino. Mas prefiro assim sempre se aprende umas coisas :)
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 18 de Agosto de 2012, 02:23
Podes por o arduino a ligar um "aquecedor" caso a temperatura esteja baixa ou alguma espécie de "arrefecedor" caso esteja demasiado quente.
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 02:32
fica a ideia para um futuro projecto :P mas neste caso ja tenho 2 termoestatos para aquecer a agua !
Título: Re: Sensor de temperatura
Enviado por: r16 em 18 de Agosto de 2012, 02:38
Fixe agora era fazeres um sensor de ph... coisa que eu tambem queria para a minha horta hidroponica.
Título: Re: Sensor de temperatura
Enviado por: Hugu em 18 de Agosto de 2012, 02:50
eu vendo cabos ja com os sensores de tempª isolados numa capsula de metal e com isolamento para mergulhar em agua.
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 03:27
Fixe agora era fazeres um sensor de ph... coisa que eu tambem queria para a minha horta hidroponica.

loOl do que te fostes lembrar...

Por acaso esse projecto está em cima da mesa :)

até ja andei a investigar sobre isso :P

brevemente
Título: Re: Sensor de temperatura
Enviado por: Bony em 18 de Agosto de 2012, 03:28
eu vendo cabos ja com os sensores de tempª isolados numa capsula de metal e com isolamento para mergulhar em agua.

Ola Hugo, sim eu na altura que iniciei o projecto ainda cheguei a falar cntg sobre isso, mas tu nao tinhas em stock na altura... salvo erro... foi assim uma coisa !
Título: Re: Sensor de temperatura
Enviado por: Hugu em 18 de Agosto de 2012, 15:59
eu vendo cabos ja com os sensores de tempª isolados numa capsula de metal e com isolamento para mergulhar em agua.

Ola Hugo, sim eu na altura que iniciei o projecto ainda cheguei a falar cntg sobre isso, mas tu nao tinhas em stock na altura... salvo erro... foi assim uma coisa !
ya lembra e até tava convencido que te tinha enviado um cabo a ti.. se n foi a ti k vendi um cabo foi a outro moço kk...
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 19 de Agosto de 2012, 02:52
Descubri porque é que não funcionava bem.
Testa assim:
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

boolean vermelhoLigado = false;
unsigned long ultimoBlink = 0;

// 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()
{
 
 Serial.begin(9600); // start serial port

 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);
 pinMode(ledamarelo, OUTPUT);
 pinMode(ledvermelho, OUTPUT);
}


void loop()
{
sensors.requestTemperatures(); // Send the command to get temperatures
float temperatura = sensors.getTempCByIndex(0);

lcd.setCursor(0,0);
lcd.print("Temperatura Aquario");
lcd.setCursor(6,1);
lcd.print(temperatura);// 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 " );

int perigo = 0;

if (temperatura >= 26 && temperatura <= 28.5) perigo=0;
else if (temperatura >= 25 && temperatura <= 26) perigo=1;
else perigo=2;

switch (perigo)
{
  case 0: //Led verde
  digitalWrite(ledverde, HIGH);
  digitalWrite(ledamarelo, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 1: //Led amarelo
  digitalWrite(ledamarelo, HIGH);
  digitalWrite(ledverde, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 2: //Led vermelho
    digitalWrite(ledverde, LOW);
    digitalWrite(ledvermelho, LOW);
    if (millis()-ultimoBlink>= 1000)
    {
      ultimoBlink = millis();
      if (vermelhoLigado) {digitalWrite(ledvermelho, LOW); vermelhoLigado = false;}
      else {digitalWrite(ledvermelho, HIGH); vermelhoLigado = true;}
    }
  break;
}

lcd.setCursor(0,2);
lcd.print("Temperatura Ambiente");
lcd.setCursor(6,3);
lcd.print(sensors.getTempCByIndex(1));//
lcd.print( " C " );
}

EDIT:
Agora é que está certo.
Título: Re: Sensor de temperatura
Enviado por: Bony em 19 de Agosto de 2012, 23:51
Está quase. agora ja passa para o vermelho a piscar o problema é que o led amarelo continua em simultaneo acesso :|
Título: Re: Sensor de temperatura
Enviado por: Bony em 19 de Agosto de 2012, 23:55
Já descobri :D

Título: Re: Sensor de temperatura
Enviado por: Pedrock em 20 de Agosto de 2012, 00:46
Pois, tinha um erro simples...
Deixo aqui a versão corrigida para referência futura:
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

boolean vermelhoLigado = false;
unsigned long ultimoBlink = 0;

// 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()
{
 
 Serial.begin(9600); // start serial port

 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);
 pinMode(ledamarelo, OUTPUT);
 pinMode(ledvermelho, OUTPUT);
}


void loop()
{
sensors.requestTemperatures(); // Send the command to get temperatures
float temperatura = sensors.getTempCByIndex(0);

lcd.setCursor(0,0);
lcd.print("Temperatura Aquario");
lcd.setCursor(6,1);
lcd.print(temperatura);// 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 " );

int perigo = 0;

if (temperatura >= 26 && temperatura <= 28.5) perigo=0;
else if (temperatura >= 25 && temperatura <= 26) perigo=1;
else perigo=2;

switch (perigo)
{
  case 0: //Led verde
  digitalWrite(ledverde, HIGH);
  digitalWrite(ledamarelo, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 1: //Led amarelo
  digitalWrite(ledamarelo, HIGH);
  digitalWrite(ledverde, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 2: //Led vermelho
    digitalWrite(ledverde, LOW);
    digitalWrite(ledamarelo, LOW);
    if (millis()-ultimoBlink>= 1000)
    {
      ultimoBlink = millis();
      if (vermelhoLigado) {digitalWrite(ledvermelho, LOW); vermelhoLigado = false;}
      else {digitalWrite(ledvermelho, HIGH); vermelhoLigado = true;}
    }
  break;
}

lcd.setCursor(0,2);
lcd.print("Temperatura Ambiente");
lcd.setCursor(6,3);
lcd.print(sensors.getTempCByIndex(1));//
lcd.print( " C " );
}
Título: Re: Sensor de temperatura
Enviado por: Bony em 20 de Agosto de 2012, 02:16
Este projecto comecou meramente por fazer um sensor de temperatura para o aquario com display´s de 7 segmentos, fui pesquisando a coisa mesmo a fundo até que acabou nisto! Nao era para ficar assim como mostro nas fotos abaixo, mas na altura a CNC onde ia mandar fazer isto pifou e acabou por ficar assim, primeiramente até era para ficar numa caixinha e só se via os led´s e o display mais nada, ficou mais feio é verdade mas o objectivo está lá :)

Material:

1 x Arduino
1 x LCD Display 16x4 (salvo erro)
2 x Sensor DS18b20
1 x Led Verde
1 x Led Amarelo
1 x Led Vermelho
1 x Potenciometro
2 x Resistências de 4K7
2 x Butoes ( se quiseres)

No display ira dizer a temperatura da agua do aquario e a temperatura ambiente da divisao, neste caso da sala, aproveitei ja que ia fazer um para aquario adicionei mais outro sensor e para me dizer a temperatura da sala.
O sensor como podem ver no video foi isolado para poder ser aprova de agua, apesar de já os haver feitos isolados nao me foi possivel na altura comprar um, entao decidi eu mesmo fazer um e isolado, para isso eu fiz o seguinte:
- 1º - do sensor saem 3 fios e como é obvio nao se podem tocar para tal meti fita isoladora em cada um.
- 2º - Seguidamente meti Plástico Termo-Retractil como ele custou a entrar, isto é entrou forcado iria juntar os fios do sensor dai ter feito o passo 1.
- 3º - Mesmo assim achei por bem revestir o sensor com cola quente, e fim do processo.

Seguidamente foi ligar o respectivo arduino potenciometro ao LCD, e para isto segui este esquema:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi296.photobucket.com%2Falbums%2Fmm184%2FCrazyBony%2FSensor%2520de%2520Temperatura%2FesquemadeligacaoLCD.png&hash=f8c3fc063bcecbe549aa9d42368d3cef21f77c88)

De seguinte foi ligar os sensores ao arduino e segui este esquema:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi296.photobucket.com%2Falbums%2Fmm184%2FCrazyBony%2FSensor%2520de%2520Temperatura%2Fesquemadeligacaosensor.jpg&hash=742d74a7e5ee9f63e2380f169462df69daf8d147)

Sao 2 sensores mas ambos vao ligar á mesma entrada do arduino, cada sensor tem um "numero proprio associado" (e foi aqui a que as coisas se comecaram a complicar a nivel de programação),  o arduino consegue destingui-los aos dois por esse numero mesmo ligados há mesma entrada.

Código: [Seleccione]


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

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

#define ledverde 6 // Led verde ligado ao pin 6
#define ledamarelo 7 // Led Amarelo ligado ao pin 7
#define ledvermelho 9 // Led Vermelho ligado ao pin 9
#define ONE_WIRE_BUS 10 // sensor de temperatura ligao ao pin 10

boolean vermelhoLigado = false;
unsigned long ultimoBlink = 0;

// 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()
{
 
 Serial.begin(9600); // start serial port

 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);
 pinMode(ledamarelo, OUTPUT);
 pinMode(ledvermelho, OUTPUT);
}


void loop()
{
sensors.requestTemperatures(); // Send the command to get temperatures
float temperatura = sensors.getTempCByIndex(0);

lcd.setCursor(0,0);
lcd.print("Temperatura Aquario");
lcd.setCursor(6,1);
lcd.print(temperatura);// 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 " );

int perigo = 0;

if (temperatura >= 26 && temperatura <= 28) perigo=0;
else if (temperatura >= 25 && temperatura <= 26) perigo=1;
else perigo=2;

switch (perigo)
{
  case 0: //Led verde
  digitalWrite(ledverde, HIGH);
  digitalWrite(ledamarelo, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 1: //Led amarelo
  digitalWrite(ledamarelo, HIGH);
  digitalWrite(ledverde, LOW);
  digitalWrite(ledvermelho, LOW);
  break;
  case 2: //Led vermelho
    digitalWrite(ledverde, LOW);
    digitalWrite(ledamarelo, LOW);
    if (millis()-ultimoBlink>= 500)
    {
      ultimoBlink = millis();
      if (vermelhoLigado) {digitalWrite(ledvermelho, LOW); vermelhoLigado = false;}
      else {digitalWrite(ledvermelho, HIGH); vermelhoLigado = true;}
    }
  break;
}

lcd.setCursor(0,2);
lcd.print("Temperatura Ambiente");
lcd.setCursor(6,3);
lcd.print(sensors.getTempCByIndex(1));//
lcd.print( " C " );
}


Situação para este aquario:
Quando a temperatura esta boa ira acender o led verde ( entre 26ºC a 28ºC)
Quando a temperatura comeca a ficar perigosa para os peixes e nao só, acende o led amarelo ( entre 25ºC a 26ºC)
Todos os outros valores ira ficar o led vermelho a piscar ( temperaturas <=24 e temperaturas >28ºC)

acho que nao me esqueci de nada.

Deixo aqui tambem um link muito util do user engenhocas4you:

http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/ (http://engenhocas4you.wordpress.com/2011/12/04/arduino-aula-5-sensor-temperatura-ds18b20-lcd/)

Entretanto segue um video e fotos do bixo:

Frente

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi296.photobucket.com%2Falbums%2Fmm184%2FCrazyBony%2FSensor%2520de%2520Temperatura%2FIMAG0096.jpg&hash=082f2ff4fb70ba874edcd6edeab7ce3bdd0de121)

traz

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi296.photobucket.com%2Falbums%2Fmm184%2FCrazyBony%2FSensor%2520de%2520Temperatura%2FIMAG0098.jpg&hash=6a792f9e29dcc87e6cb257125f8db49563daae92)

O video:

Home made Sensor temperature for aquarium (http://www.youtube.com/watch?v=qNPTQvuKeW0#)

E pronto é isto !!


Título: Re: Sensor de temperatura
Enviado por: Hugu em 20 de Agosto de 2012, 20:07
Ficou fixe! parabéns!  8)
Título: Re: Sensor de temperatura
Enviado por: Bony em 20 de Agosto de 2012, 22:32
Obrigadissimo Hugo :)
Título: Re: Sensor de temperatura
Enviado por: Hugu em 20 de Agosto de 2012, 22:34
Obrigadissimo Hugo :)
ja agora, mostra la o teu aquario! k "tubaroes" tens em casa?!  8)
Título: Re: Sensor de temperatura
Enviado por: Sérgio_Sena em 21 de Agosto de 2012, 09:10
Este projecto comecou meramente por fazer um sensor de temperatura para o aquario com display´s de 7 segmentos, fui pesquisando a coisa mesmo a fundo até que acabou nisto! Nao era para ficar assim como mostro nas fotos abaixo, mas na altura a CNC onde ia mandar fazer isto pifou e acabou por ficar assim, primeiramente até era para ficar numa caixinha e só se via os led´s e o display mais nada, ficou mais feio é verdade mas o objectivo está lá :)


Desafio-te a fazer o mesmo projecto, sem usar Arduino!

Uma verdadeira aventura de aprendizagem e extremamente útil para o teu desenvolvimento.
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 21 de Agosto de 2012, 11:38
Quando dizes sem Arduino queres dizer sem microcontrolador ou apenas sem Arduino?
Título: Re: Sensor de temperatura
Enviado por: Sérgio_Sena em 21 de Agosto de 2012, 12:28
Quando dizes sem Arduino queres dizer sem microcontrolador ou apenas sem Arduino?


Sem usar o Arduino.

Com microcontrolador puro e duro.
Título: Re: Sensor de temperatura
Enviado por: Pedrock em 21 de Agosto de 2012, 13:40
Quando dizes sem Arduino queres dizer sem microcontrolador ou apenas sem Arduino?


Sem usar o Arduino.

Com microcontrolador puro e duro.
Pode-se usar um atmega ou até um attiny se ele não quiser usar o LCD, e programar com o mesmo código do arduino. O arduino até pode ser usado como ISP para programar o microcontrolador. Tem a vantagem de não ter que ter o arduino sempre lá metido e consome menos energia.
Por exemple o ATTiny85 pode ser alimentado entre 1.8 - 5.5V, por isso não precisa regulador.
Consome apenas 300 ?A a 1 MHz, 1.8V. Não diz no datasheet quanto a 8Mhz ou 16Mhz (com cristal externo), mas não deve ser muito. O arduino consome entre 40mA - 50mA sem sensores ou actuadores. Faz muita diferença
Existe um tutorial sobre isso aqui:
http://hlt.media.mit.edu/?p=1695 (http://hlt.media.mit.edu/?p=1695)
Título: Re: Sensor de temperatura
Enviado por: dropes em 21 de Agosto de 2012, 13:53
Gostei :)

Parabéns pelo projecto, bons "detalhes" e funcionalidade.
Título: Re: Sensor de temperatura
Enviado por: Sérgio_Sena em 21 de Agosto de 2012, 19:27
Quando dizes sem Arduino queres dizer sem microcontrolador ou apenas sem Arduino?


Sem usar o Arduino.

Com microcontrolador puro e duro.
Pode-se usar um atmega ou até um attiny se ele não quiser usar o LCD, e programar com o mesmo código do arduino. O arduino até pode ser usado como ISP para programar o microcontrolador. Tem a vantagem de não ter que ter o arduino sempre lá metido e consome menos energia.
Por exemple o ATTiny85 pode ser alimentado entre 1.8 - 5.5V, por isso não precisa regulador.
Consome apenas 300 ?A a 1 MHz, 1.8V. Não diz no datasheet quanto a 8Mhz ou 16Mhz (com cristal externo), mas não deve ser muito. O arduino consome entre 40mA - 50mA sem sensores ou actuadores. Faz muita diferença
Existe um tutorial sobre isso aqui:
http://hlt.media.mit.edu/?p=1695 (http://hlt.media.mit.edu/?p=1695)


Esquece o Arduino. Faz de conta que ele não existe. Não uses nada que seja ligado ao Arduino.

Agarra num micro limpo e no datasheet.
Vais descobrir um mundo novo.


Título: Re: Sensor de temperatura
Enviado por: dropes em 21 de Agosto de 2012, 23:29
Esquece o Arduino. Faz de conta que ele não existe. Não uses nada que seja ligado ao Arduino.

Agarra num micro limpo e no datasheet.
Vais descobrir um mundo novo.

LOL existirá vida além do arduino ?  ::)
Título: Re: Sensor de temperatura
Enviado por: Sérgio_Sena em 21 de Agosto de 2012, 23:33
Esquece o Arduino. Faz de conta que ele não existe. Não uses nada que seja ligado ao Arduino.

Agarra num micro limpo e no datasheet.
Vais descobrir um mundo novo.

LOL existirá vida além do arduino ?  ::)



medo... muito medo....   ;D LOL
Título: Re: Sensor de temperatura
Enviado por: Hugu em 22 de Agosto de 2012, 01:21
coitado do rapaz, levou uma porrada de tempo e ainda vcs kerem ver o gaijo a bater com a cabeça nas paredes pra atacar o mm projecto sem o arduino?! vcs sao sadomasoquistas!  :P

Está bem fixe! isso pra ficar "molto bono", merecia ter uma pcb à maneira!  ::)
Título: Re: Sensor de temperatura
Enviado por: GnGz em 22 de Agosto de 2012, 11:12
Try: http://lusorobotica.com/index.php?topic=2838.0 (http://lusorobotica.com/index.php?topic=2838.0)