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
Tags:
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
o 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.
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 ?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por