Boa tarde Srs.
Como não entendo de programação (mais sou fução) resolvi abrir este tópico para um experimento que estou tentando desenvolver no Arduino.
O circuito:
o código: (este que é o problema) que, como juntei umas partes aqui a unica coisa que imprime no display é uma figura parecido com uma flor.
Gostaria que imprimisse a temperatura.
Vi num site e achei interessante os digitos são grandes vou postar também.
Quando iniciei com o display Nokia ele dava uns bugs de erro ao tentar gravar com o Arduino 1.0.5 porém descobri uma biblioteca e fiz uns ajustes.
Ai vai o código que gostaria de usar (do site) e a imagem do display.
No aguardo e vamos faze-lo funcionar mais não me apertem que não sei muito sobre programação como disse, vamos por partes.
Obrigado.
JA
Tags:
As respostas para este tópico estão encerradas.
José,
No print das telas das suas bibliotecas eu vi que você está usando a LCD5110_Basic. Retire esta pasta e coloque a pasta LCD5110_Graph.
Feche a IDE do arduino e abra novamente compilando o seu código.
Se você não tem esta biblioteca, baixe e descompacte o arquivo LCD5110_Graph.rar deste link:
http://www.henningkarlsen.com/electronics/library.php?id=47
Lembre-se que só deve ter o diretório LCD5110_Graph com as pasta examples, hardware e os demais arquivos dentro deste.
José,
Na linha onde está o comando:
myGLCD.InitLCD();
Coloque o parametro entre os parenteses com o valor do contraste de de 0 a 127.
Comece com o meio que é 64 e vai ajustando:
myGLCD.InitLCD(64);
Caso não funcione, reveja a ligação dos pino do LCD com o Arduino. As vezes pode ser algum mau contato, ou ligação errada.
DEPOIS DE TANTO PERTUBAR O WAGNER (OBRIGADÃO MESMO WAGNER) VOCÊ FOI MEU INCENTIVADOR PARA NÃO PARAR O PROJETO MESMO NA PRIMEIRA RESPOSTA ACHEI QUE FOSSE ME ABANDONAR, MAIS DEPOIS FOI ME AJUDANDO COM AS DICAS. VALEU MESMO.
OLHEM AI O RESULTADO:
VOU POSTAR O CÓDIGO E O ESQUEMA PARA QUEM TIVER O INTERESSE EM MONTAR.
ABRAÇOS E OBRIGADO PELA AJUDA ATÉ O PRÓXIMO PROJETINHO.
WAGNER FIZ ASSIM:
void setup()
{
Serial.begin(9600);
for (int i = 0; i < nlecturas; i++)
{
lecturas[i]=0;
}
myGLCD.InitLCD();
myGLCD.setContrast(30);
myGLCD.drawRoundRect(0,0,83,47); //dibujamos un rectangulo con bordes redondos
myGLCD.drawLine(0,15,83,15);//dibujamos una linea.
}
MAIS VOU TESTAR DO JEITO QUE VC FALOU
José,
Ficou muito legal.
Tanto faz usar InitLCD(30) como setContrast(30).
Fique a vontade pra perguntar. Acho que este espaço é para incentivar o desenvolvimento de projetos.
Até,
Wagner
Valeu Wagner é isso aí eu contribuo muito com um outro fórum de eletricidade, sou eletrotécnico e apaixonado por eletrônica, temos de aprender e também ensinar, a Vida é mesmo assim, nem os ensinamentos levamos para baixo da terra, então se você puder compartilhar que faça neste plano.
Wagner, não sei se devemos fechar esta discução e abrir uma outra, ou prosseguir neste mesmo post,
Eu vi não me lembro onde, terei de fuçar novamente aqui meus arquivos, que este código não tem muita precisão, onde a variação de temperatura (pude observar no display) varia muito, ou seja ex 23.9 para 24.4C. Tentarei achar e qualquer coisa eu posto aqui.
PS.: Realmente fiz os dois modos e funcionaram iguais (depois quando eu ficar bom na programação vou saber o porque), mais ou menos eu desconfio mais quero aprender um pouco mais para não falar besteira. One=1=hum
Valeu
Opa opa,
Tem algo que não está cheirando bem.
Quando ligo ao pc através do cabo USB fica permanentemente em 24.9 C e quando ligo através de uma bat 9V fica em 23.9V.
Se pegar um isqueiro e esquentar o LM blz sobe rapidinho, a mesma coisa fiz colocando a montagem do proto no congelador (chegou a 1 C),
Depois destas varições volta a 24.9C (tenho aqueles termometros China) 2 deles, e funcionam muito bem e a temperatura neste dia naquele exato momento era de 26,7 graus (valor medido pelos 2 termometros).
O que mais me deixou encucado foi que ele vai a este valor de 24.9 e só sai se esquentar demasiado ou esfriar.
Será que esta formula está certa ?
Tem coisa errada ai não ?
Abraços.
José Antonio
Olá Jose,
Não acredito que a fórmula esteja errada, se a alimentação fornecida ao circuito é de 5V regulados pelo Arduino, então a fórmula deve funcionar pra qualquer tipo de alimentação.
O LM35 fornece com exatidão, valores temperatura com variações de 0,25ºC ou até mesmo 0,75ºC dentro da faixa de temperatura de –55ºC à 150ºC.
Entretanto podemos ter flutuação nos pinos análógicos, por conta de mau contato na protoboard, interferência eletromagnética, etc.
Portanto, tenha certeza que as ligações estão bem firmes, principalmente, quando mexer na protoboard para mudar o tipo de alimentação.
A porta usb do seu computador fornece uma tensão de 5v com corrente máxima de 500mA.
Qual é a corrente fornecida por esta bateria de 9V?
O seu circuito pede corrente total igual a soma das correntes consumidas pelo Arduino+LCD5110(com backlight ligado!)+LM35.
Teste a troca de alimentação nas seguintes situações:
1 - não mude a protoboar de local;
2 - verificando as ligações antes;
3 - desligue o backligth do LCD para diminuir o consumo.
Pode ser uma destas situações ou mais de uma junta que está causando a variação de 1 grau.
Se o seu projeto pede uma precisão melhor, você deveria utilizar uma placa de circuito onde soldar os componentes ou usar um shield com sensor de temperatura soldado nele. Sensor de temperatura digital também evita interferências.
A todos que ajudaram o tópico, meu muito obrigado. Em especial Wagner Bastos.
Vamos para o próximo desafio.
José Antonio
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por