Quero programar o ESP32 no VS code usando ESP-IDF
Objetivo: Software para ESP 32,
Tema: IoT
Componentes
1: display 16X2 ligado em I2C pino SDA ao pino 22 ESP 32 e o pino SCL ao pino 21 do ESP32
2: termistor NTC 10 k, ligado em um divisor de tensão 5 Vcc sinal ligado ao pino GPIO25.
3: Led ligado ao pino GPIO2.
4: teclado de 5 botões, Inc, dec, before, next e sel.
Função
Controle de mosturação, fervura tempos em minutos; e fermentação de cerveja artesanal em
dias;
Antes de iniciar o dispositivo o usuário deve entrar no menu para inserir a receita da
cerveja que deseja fazer de acordo com a sequencia abaixo:
MENU:
1 – NOME DA RECEITA:
2 – TEMPERATURA INICIAL DA ÁGUA - °C;
3 – TEMPERATURA DE MOSTURAÇÃO - °C;
4 – TEMPO DE MOSTURA – MINUTOS;
5 – TEMPERATURA DE FERVURA - °C;
6 – TEMPO DE FERVURA TOTAL – MINUTOS;
7 – QUANTIDADE DE VEZES QUE IRÁ COLOCAR OS LUPULOS;
8 – TEMPO DO 1°, 2°, .......N° TEMPOS;
9 – QTD. DE DIAS DE FERMENTAÇÃO, TOTAL;
10 – DIA EM QUE IRÁ INICIAR A MATURAÇÃO;
11 – TEMPERATURA DE FERMENTAÇÃO - °C;
12 – TEMPERATURA DE MATURAÇÃO - °C;
Ao inserir a receita o dispositivo perguntará ao usuário se o mesmo deseja salvar,
SALVAR = SEL, e ao salvar os valores inserido, os dados deverão ser salvos em alguma memória
não volátil (se possível), ela deverá permanecer na memória enquanto não concluir a última
etapa da receita (MATURAÇÃO) ou quando inserir uma nova receita.
Ao salvar a receita antes de iniciar o processo de fabricação de cerveja o dispositivo
pedirá a confirmação para iniciar a 1° etapa, INICIAR AQUECIMENTO, ao confirmar a 1° etapa o
dispositivo ligará a saída de aquecimento relé (PID) controlando a temperatura da água até a
temperatura de SP.
Ao final de cada etapa o dispositivo acionara o alarme de modo intermitente (1 HZ)
aguardando a confirmação do usuário para iniciar a etapa seguinte mantendo sempre a
temperatura da etapa em conclusão, sempre avisando o final da etapa e solicitando a
confirmação para iniciar a etapa seguinte.
Funcionamento das etapas
Exemplo:
Receita xyz;
SP água aquecida = 60°C;
SP mostura = 66°C;
Tempo mosturação = 60 minutos;
SP mashout = 70°C;
Tempo mashout = 10 minutos;
SP fervura = 98°C;
Tempo fervura = 98°C;
2 lupulos;
1° lúpulo = 50 minutos;
2° lúpulo = 5 minutos;
Temperatura de fermentação = 16°C;
Tempo de fermentação = 12 dias;
Temperatura de maturação = 1°C;
Tempo de maturação = 30 dias;
Ao iniciar o aquecimento a água irá aquecer da temperatura ambiente até a de 60°C e
quando essa temperatura for atingida o dispositivo liga um alarme sonoro e mostra a
mensagem no display, 1° linha “ÁGUA AQUECIDA” 2° linha “ AGUARDANDO INICIAR”.
Ao iniciar o dispositivo, o memso controla a temperatura até alcançar a temperatura
de 60 °C até 66°C e ao atingir a esta temperatura inicia-se a contagem do tempo de
mosturação, 60 minutos, ao final deste tempo o dispositivo ligará o alarme e mostra a
mensagem “FIM DE MOSTURAÇÃO” “INICIAR MASHOUT”.
Ao iniciar o mashout o dispositivo eleva a temperatura para 70°C e atingindo esta
temperatura iniciasse a contagem do tempo de 10 minutos (regresso) ao final o alarme é
acionado e a mensagem no display é escrita “FIM DE MASHOUT” “INICIAR FERVURA”.
Ao iniciar a fervura o dispositivo controla a temperatura para alcançar o valor de SP =
98°C e quando for atingida iniciasse a contagem do tempo 60 minutos (regresso), durante esta
contagem e os tempos de lúpulos forem alcançados o dispositivo alarma e avisa no display
“INSERIR LÚPULO 1” o usuário confirma e o alarme desliga, ao alcançar o fim do tempo de
fervura o aquecimento é deligado e o alarme é acionado e no display a mensagem “FIM DE
PROCESSO” “RESFRIAR MOSTO”.
Ao desligar o alarme no final da fervura, o dispositivo fica aguardando o usuário a
iniciar a fermentação, no display “INICIAR A FERVURA” e ao confirmar o início de fermentação
o controlador inicia o controle da geladeira on-off (saída 2) SP fermentação e inicia a contagem
progressiva dos dias de fermentação, quando atingir o tempo de fermentação o dispositivo
inicia a maturação descendo a temperatura para SP maturação e contando o tempo de
maturação que quando chegar ao final o dispositivo no display mostra a mensagem “CERVEJA
PRONTA”.
Como estaremos trabalhando com um ESP-32 desejo que ele envie as informações
para um dispositivo móvel, temperatura e tempo, pretendo fazer o APP com o APP inventor,
dados a serem enviados:
1 – NOME DA RECEITA:
2 – TEMPERATURA INICIAL DA ÁGUA - °C;
3 – TEMPERATURA DE MOSTURAÇÃO - °C;
4 – TEMPO DE MOSTURA – MINUTOS;
5 – TEMPERATURA DE FERVURA - °C;
6 – TEMPO DE FERVURA TOTAL – MINUTOS;
7 – QUANTIDADE DE VEZES QUE IRÁ COLOCAR OS LUPULOS;
8 – TEMPO DO 1°, 2°, .......N° TEMPOS;
9 – QTD. DE DIAS DE FERMENTAÇÃO, TOTAL;
10 – DIA EM QUE IRÁ INICIAR A MATURAÇÃO;
11 – TEMPERATURA DE FERMENTAÇÃO - °C;
12 – TEMPERATURA DE MATURAÇÃO - °C;