Bom dia caros Garagistas

Sou novato com o Arduino e estou com um projeto pessoal para monitoramento da temperatura em três ambientes diferentes da minha casa, estarei utilizando 3 termistores um para cada sala e gostaria que em um display 16x2 me informasse a temperatura dos 3 ambientes. Exemplo:

Quarto 

Temp 20º C

delay 2000

Cozinha 

Temp 23º C

delay 2000

Sala 

Temp 21º C

delay 2000

Exibições: 363

Responder esta

Respostas a este tópico

Diga-nos o que você ja fez e qual a sua duvida

Olá, eu estou com dúvida no Sketch, não consigo incluir os 3 termistores e fazer aparecer no LCD conforme eu demonstrei no exemplo.  

Acho que você poderia criar uma variavel de controle (int n=0) e no loop você verifica ela por meio de um IF, executa a ação e depois altera seu valor.

Por exemplo

if(n==0){
lcd.print("Quarto temp: ");
lcd.print(Temp1);
n=1;
delay(2000);
}else if(n==1){
lcd.print("Cozinha temp: ");
lcd.print(Temp2);
n=2;
delay(2000);
}else if(n==2){
lcd.print("Sala temp: ");
lcd.print(Temp3);
n=0;
delay(2000);
}

Pode usar case tambem. O intuito desse codigo que eu postei é só pra você entender a ideia, a implementação fica a seu gosto

Ok João, mas como eu inicio o LCD e os três sensores no Sketch? 

#include /span>LiquidCrystal.h>
#include <Thermistor.h> 

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

Thermistor temp(0); 
Thermistor temp(1);

Thermistor temp(2);

if(n==0){
lcd.print("Quarto temp: ");
lcd.print(Temp1);
n=1;
delay(2000);
}else if(n==1){
lcd.print("Cozinha temp: ");
lcd.print(Temp2);
n=2;
delay(2000);
}else if(n==2){
lcd.print("Sala temp: ");
lcd.print(Temp3);
n=0;
delay(2000);
}

Não conheço muito bem a bibioteca Thermistor.h, mas acredito que seja assim
#include <LiquidCrystal.h>
#include <Thermistor.h>

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

Thermistor temp1(0);
Thermistor temp2(1);
Thermistor temp3(2);

void setup(){
lcd.begin(16, 2);
}

void loop(){
if(n==0){
lcd.setCursor(0,0);
lcd.print("Quarto");
lcd.setCursor(0,1);
lcd.print("temp: ");
lcd.print(temp1.getTemp());
n=1;
delay(2000);
}else if(n==1){
lcd.setCursor(0,0);
lcd.print("Cozinha");
lcd.setCursor(0,1);
lcd.print("temp: ");
lcd.print(temp2.getTemp());
n=2;
delay(2000);
}else if(n==2){
lcd.setCursor(0,0);
lcd.print("Sala");
lcd.setCursor(0,1);
lcd.print("temp: ");
lcd.print(temp3.getTemp());
n=0;
delay(2000);
}
}

O numero entre parenteses na definição do thermistor é referente a porta em que ele esta conectado, se você ficar do jeito que você disse, você esta atribuindo 3 portas diferentes para um mesmo objeto,o que ocasionaria um erro.
Testa esse codigo que eu mandei, mas lembrando, eu nao tenho muita familiaridade com essa biblioteca então pode conter erros no meu codigo

Vou verificar se esse código vai dar certo, desde já lhe agradeço.

Cara, existe o sensor de temperatura lm35 que é normalmente usado pela turma do arduino que alem de barato é simples de usar,  se não me engano são só 3 pernas, ele lembra o encapsulamento de um transistor, mas não o é,  das 3 pernas uma entra a alimentação vinda do arduino o VCC na outra extremidade vai o GND e no meio sai o resultado,  existem bibliotecas de uso prontas.

Oá Weider, vou utilizar os termistores pois já possuo três unidades.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço