Medir temperatura ambiente com JavaFX e Arduino

Medir temperatura ambiente com JavaFX e Arduino



    Este aplicativo se baseia em ler a temperatura ambiente e informar a temperatura pelo software.
Possui a capacidade de armazenar a temperatura de hora em hora e informa se o dia teve
temperaturas altas ou baixas.

Outro ponto positivo que deve ser levado em consideração, é que  possui o modo automático,
quando habilitado possui uma vantagem de ligar um ventilador ou ar-condicionado ...somente 
quando informado em qual temperatura deve ser a padrão.

Por padrão o equipamento so vai der LIGADO pelo relê ,se a temperatura for acima de 30°C
 se a temperatura padrão ou a temperatura de ajuste para o equipamento estiver abaixo de 30°C
 sempre vai estar desligado

Foi um bom desafio criar este aplicativo para gerenciar o arduino pelo java
repare:

Funcionamento:

:inicio
o software armazena qual temperatura deve ser ajustada e e recebida pelo controlador
o software organiza e gera as instruções que deve ser executada pelo controlador
o software envia os dado e instruções para o Controlador

o controlador intercepta estes dados 
o controlador se auto ajusta, 
o controlador executa as instruções 
o controlador cria instruções e dados de temperatura
o controlador envia instruções e dados de temperatura para o software

retorno : inicio

De uma maneira mais fácil de entender ....(é que quando o controlador  informa o software qual é a temperatura atual no momento ,ele tambem  pergunta o que fazer  
 o software java  informa" ligar" se a temperatura estiver acima ou desligar se estiver a baixo da temperatura padrão ou temperatura ajustada).
 
Estatísticas:
Comentarei sobre as estatísticas e probabilidades na próxima atualização , quando estiver disponível
 vai poder ser visualizada Aqui(não disponível ainda).

Terminal Arduino:
O terminal do arduino pode ser simulado no software java.
Serial.begin(9600); abre a comunicação com a porta, para a entrada e saída de dados 
na velocidade de 9600 baudrater com a biblioteca jssc e com milhares de shilds e sensores

vou deixar uma ancora aqui... informarei mais logo abaixo

Terminal JavaFX:
No terminal JavaFX é informado as instruções, erros no software ,dados recebidos,dados enviados e outras informações
As informações geradas no softwares se refere a dados e temperaturas recebidas pelo controlador,
 estas rotinas são criadas e executadas de acordo com os dados que são recebidos em cada loop por segundo.
Os erros de software são comuns, por isso é utilizado a velocidade de 9600 baudrate assim os sensores e shilds tem um tempo de resposta melhor, pra se comunicar com o controlador e o controlador com o software do computador.
A resposta para este erro no terminal são tratado de diversas maneiras.
 Por exemplo quando o erro é gerado por um envio de dados da biblioteca jssc para o arduino
 pode ser tratado assim.
ex.1
...
...


Ex.2
se o error é gerado no arranque da conexao entre computador e controlador
seja por uma porta errada ou por aplicativo finalizado sem fechar a porta de conexao do arduino
o error pode ser tratado assim
...
...

 
ex.3
Neste exemplo quando o software estiver recebendo ou enviando e um EventListener com o controlador .
Pode ser resolvido assim
iniciando evento para enviar e receber dados com arduino.

...
...

continuando...
ex.5 Ancora.
 
Deixei uma ancora acima ,vou aproveitar pra explicar o terminal arduino
o que é simulado no software do javafx
...todos dados que passar pela classe Serial.println() no arduino vai ser imprimido no simulador
sempre que receber um \n\r(\n=quebra linha e \r = ENTER)  escolha uma condição de processamento e imprima no terminalArduino
 mais se ocorrer um erro imprima no TerminalJAVAFX

...
...


Por tanto neste artigo vou apresentar um aplicativo e dispositivo capaz de medir a temperaturas 
tanto do ambiente quanto a temperatura corporal de um animal ou ser humano
 Basta apenas toca-lo com a ponta do dedo.
pode seguir o diagrama eletrico do controlador arduino nano.
A comunicação é feita por uma biblioteca java jssc-2.8.0
se caso ainda não fez uma comunicação com o arduino utilizando o java 
você pode verificar nestes artigos do blog.

se a duvida for enviar vários caracters na mesma comunicação verifique Aqui
se a duvida for enviar apenas 1 caracter por vez verifique Aqui

Vou deixar mais detalhes para a próxima atualização...
este aplicativo esta longe de ser um aplicativo complexo...:)
porem o aplicativo conta com recursos bem legais
como temperatura por toque, gráficos chart, ajuste automático de temperatura e estatísticas do dia.
foi sim muito fácil de fazer porem tenho praticado pouco.
estou trabalhando e estudando muito para poder trazer conteúdos mais ricos  
e apesar de hoje em dia java fx esta se voltando pra o lado dos embarcados como raspberry
e celulares, nos sabemos que os desktops sempre vai ter seu espaço na programação
espere por uma próxima atualização...vai valer muito apena :)


video de apresentação parte 1 e 2
pt1  e pt2                                                   
      





Código do JavaFX: Aqui
Código do Arduino: Aqui
Projeto pronto Aqui
boa leitura.








Comentários