Como vão galera???
Hoje estou aqui para mostrar a vocês um projeto que usa uma interface Java para controle de PWM e leitura de temperatura do LM35.
Antes de apresentar o projeto a vocês, devemos seguir uma regra de uso correto do sensor de temperatura LM35.
No Blog de Wellington Cássio, mostra exatamente como deve ser usado o LM35 com o mínimo possivel de erro em sua leitura.
Ele está mostrando aqui como faz:
http://labdegaragem.com/profiles/blogs/como-usar-corretamente-o-lm35
Primeiramente vou mostrar como ficou a interface de controle:
A combo é para selecionar a porta serial para o Arduino.
O Botão para acionar a comunicação entre o computador e a placa.
No lado esquerdo o controle que vai de 0 à 100% do controle de PWM.
Por último, o label que mostra a temperatura vindo do LM35.
O logotipo do Arduino pra a janela não fica tão sem graça...
Abaixo mostra a ligação dos componentes:
Atentem-se para a ligação do divisor de tensão para enviar 1,1Volts para o pino AREF do Arduino que é a referência de tensão para leituras analógicas.
Tipo:
Um exemplo que eu mostro abaixo é do Blog de Wellington Cássio para mostrar a leitura do LM35:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
const int sensor=1;
float temperatura;
void setup()
{
lcd.begin(16,2);
analogReference(INTERNAL); // Referencia de 1.1V UNO (1.1/1024=0,913mv) 0,913mv de precisão ou seja 0,09ºC( INTERNAL1V1 Arduino Mega)
}
void loop()
{
temperatura=0;
for(int i=0;i<1000;i++)
{
temperatura=temperatura+analogRead(sensor);
}
temperatura=temperatura/1000; //Media de mil leituras
temperatura=temperatura*(1.1/1024);//Converte valor lido para tensão
temperatura=temperatura*100;//Converte para Graus = temperatura/(1/10mv)
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.print(temperatura);
}
Atentem-se no seguinte caso. Eu estou usando Linux, por isso para vocês que usam Windows, deverão mudar o arquivo SerialEnumPorts.java, vocês devem mudar a seguinte string:
COM0("/dev/ttyUSB0"), // para linux
Irá ficar assim para Windows:
COM0("COM0"),
COM1("COM1"),
COM2("COM2"),
COM3("COM3"),
COM4("COM4"),
COM5("COM5"),
COM6("COM6"),
COM7("COM7"),
COM8("COM8");
Atenten-se para isto.
E também para a imagem que deve ser especifico o caminho. Está no arquivo ImagemEnumCaminho.java.
Mude o caminho especifico para a imagem.
IMAGEM("/home/tony/workspace/Catolica/imagens/catolica.png");
Estou usando está imagem para logo do Arduino.
Vocês poderão colocar qualquer imagem desde, que seja do mesmo tamanho desta ao lado.
Mudem o nome do logo é arduino.jpeg por isso, mudem o código de acordo com o que está abaixo:
IMAGEM("/home/tony/workspace/Catolica/imagens/arduino.jpeg");
Isso caso vocês queiram usar a mesma imagem que eu.
Abaixo o código fonte completo no gitHub:
https://gist.github.com/456789123/e079f59100d1a298de59
Ai vai o video dele funcionando:
https://www.youtube.com/watch?v=c8q24iVzhck&feature=youtu.be
Comentar
Valeu José Geraldo P. Souza. Lembrando que pode adicionar botões para ligar um rele ou qualquer outra coisa.
Colocar vários sensores. Enfim... O céu é o limite.
Boa tarde Francisco Lucena Gomes Jr. A saída de PWM que eu estou usando é o pino 11 saida PWM.
Eu estou usando o Arduino Duemilanove. Bem antiguinho. Ai você pode dar uma olhada no programa no gitHub:
Bom Douglas. Eu ainda não conheço o Arduino MEGA. O conselho que eu dou é olha o DATASHEET do Atmega que ele usa.
Excelente programa!
Boa tarde Cristiano. Não entendi uma coisa, onde está a parte do sketch que o Arduino controla a saída PWM?
Muito bom Christiano! Você saberia me dizer qual é a frequência máxima do PWM que se consegue atingir no arduino Mega?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)