Boa noite!

 Estou começando a desenvolver um projeto de um forno, onde eu gostaria de realizar a medição de temperatura e cronometrar o tempo que demora para a comida ficar pronta. Alguém poderia me ajudar?.. Eu tenho um kit básico de arduino e minha noção é quase 0, estou mesmo querendo fazer para começar a praticar. Obrigado

Exibições: 3394

Responder esta

Respostas a este tópico

José Gustavo, boa tarde!

Desculpa a demora para responder, mas os componentes demoraram pra chegar e eu acabei tendo problemas com a minha internet.

Eu liguei primeiramente o display ( acho que por eu ser iniciante fica mais fácil ir por partes) e até o momento eu estou conforme a imagem. 

O termopar que eu comprei é um Módulo Leitor Temperatura Max6675 + Termopar Tipo K Arduino

Ótimo ! Quanto pagou por ele ? Encontrou no mercado livre ?

O seu módulo é igual ao da Adafruit ? Mande o link e foto do seu módulo e do sensor também. 

Já decobriu a polaridade do sensor ?

Modulo Max6675 Termopar K Temperatura Max 6675 Arduino

Esse módulo é o da Adafruit (não deve encontrar no Brasil) ,mas o outro deve ser similar.

https://www.adafruit.com/product/269

https://github.com/adafruit/MAX6675-library

https://www.maximintegrated.com/en/products/analog/sensors-and-sens...

José Gustavo, boa noite!

Sim, encontrei no mercado livre  "http://produto.mercadolivre.com.br/MLB-804805490-modulo-leitor-temperatura-max6675-termopar-tipo-k-arduino-_JM" com o frete ficou +/- R$50,00. Vou dar uma olhada nos links que o Sr. me mandou, mais uma vez obrigado.

José Gustavo, boa noite!

Desculpa atrapalhar o Sr. mas como eu faria a ligação do módulo do termopar e do lcd no arduino uno? Pois pelo que estou vendo tem apenas uma entrada 5v.

Obrigado!

Boa noite Caio, 

O tutorial de como usar o modulo Termopar é esse : 

(veja se é igual ao seu) Faça testes idênticos ao tutorial ( sem o seu LCD) 

https://learn.adafruit.com/thermocouple/overview

Depois ajunta tudo...

Obrigado, vou tentar fazer algum exemplo que tem no site que o Sr. me passou.

José Gustavo, primeiramente Feliz Natal  para o Sr. e sua família.

Agora com relação ao projeto eu consegui fazer a leitura da temperatura do termopar e colocar no lcd (foto), agora como fiz a primeira parte, estava pensando na segunda linha colocar um cronômetro onde usaria 2 botões para iniciar/pausar e resetar. Se o Sr ou alguém
pudesse me dar alguma ideia ou alguma sugestão de melhoria, com relação a programação como estou aprendendo eu fui pesquisando diversos códigos e fui escrevendo/copiando as partes de acordo com o que eu estava precisando.

Obrigado.

Bom dia, Caio . Parabens pelo avanço!
Estou em viagem de férias. Voltarei dia 2 de janeiro.
Abraços

Oi José Gustavo, boa noite, muito obrigado pela ajuda!
Agora estou indo para a segunda parte, que seria fazer o cronômetro...
Eu andei pesquisando mas ainda não domino muito a programação, então vou pesquisando e tentando juntar os códigos. Até agora eu montei o código abaixo mas só está funcionando a temperatura, se o Senhor ou alguém puder me ajudar. Obrigado

#include "max6675.h"
#include Wire.h
#include LiquidCrystal_I2C.h
#include MsTimer2.h
#define BOTAO 2
LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7,3, POSITIVE);
int thermoDO = 8;
int thermoCS = 9;
int thermoCLK = 10;

unsigned int milissegundos =0, segundos=0, minutos=0, hora=0;
boolean setaCrono = true;
boolean cronoLigado = false;

void ajustaCronometro () {
milissegundos++;
if ( milissegundos == 1000) {
milissegundos = 0;
segundos++;
if (segundos == 60) {
segundos = 0;
minutos ++;
if (minutos == 60){
minutos = 0;
hora ++;
}
if (hora == 2){
hora = 0;
minutos = 0;
segundos = 0;
milissegundos = 0;
}
}
}
setaCrono = true;

}

//Cria o objeto do Termopar e seta os Pinos Digitais
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

//Numero de amostras
int amostragem = 10;

void setup() {
Serial.begin(9600);
// give the MAX a little time to settle
delay(500);
lcd.begin (16,2);
delay(200);

Serial.begin(9600);
pinMode (BOTAO, INPUT);
digitalWrite(BOTAO,1);
MsTimer2::set (10, ajustaCronometro);

}

void loop() {
// basic readout test
float temperatura = 0;

//Inicia a leituira das amostra
for(int index =0; index < amostragem; index++){
temperatura = thermocouple.readCelsius() + temperatura;
delay(200);
}
//Tira a media das leituras
temperatura = temperatura / amostragem;

//Imprime na Serial
Serial.print("C = ");
Serial.println(temperatura);

//Serial.print("F = ");
//Serial.println(thermocouple.readFahrenheit());

//Imprime no LCD os dados
lcd.setCursor(0,0);
// Limpa o Display
lcd.clear();
//Escreve
lcd.print("Temp:");
lcd.setCursor(5,0);
lcd.print(" ");
lcd.print(temperatura);
lcd.print(" Celsius");
delay(10);

if ( (digitalRead (BOTAO)== LOW) && (cronoLigado == false) )
{
cronoLigado = true;
MsTimer2::start();
}
else if ( (digitalRead (BOTAO)== HIGH) && (cronoLigado == true) )
{
cronoLigado = false;
MsTimer2::stop();
}
if (setaCrono) {
Serial.print (hora,DEC);
Serial.print (':');
Serial.print (minutos,DEC);
Serial.print (':');
Serial.print (segundos,DEC);
Serial.print (':');
Serial.println (milissegundos,DEC);
setaCrono = false;

}

}

Bom dia Caio , 

Ao postar sketchs, dê preferência postando em arquivos, ou em sites como

www.pastebin.com, pois postando na área de texto do seu post, caracteres

podem ser perdidos.

http://labdegaragem.com/forum/topics/sugest-o-de-como-postar

Oi José Gustavo, me desculpe e obrigado pela dica.

Segue abaixo o lindo no pastebin do código, não sei se o correto é mandar o link.

http://pastebin.com/j60209cA

Bom dia Caio, 

O procedimento de envio do código pelo PasteBin é esse mesmo.

Ou você pode anexar o arquivo.INO do seu Sketch no tópico também. 

Você esta usando  o módulo RTC DS3231 ? Como fez as ligações ?

Envie o link da sua referência do programa do relógio.

Esses comandos ( Serial.print) estão enviando as informações do relógio para a console serial da IDE, e não para o LCD. Aparece alguma coisa na console ?

  1. if (setaCrono) {
  2.     Serial.print (hora,DEC);
  3.     Serial.print (':');
  4.     Serial.print (minutos,DEC);
  5.     Serial.print (':');
  6.     Serial.print (segundos,DEC);
  7.     Serial.print (':');
  8.     Serial.println (milissegundos,DEC);
  9.     setaCrono = false;

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço