LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Projectos em desenvolvimento => Tópico iniciado por: Pisciano em 21 de Fevereiro de 2014, 20:23

Título: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Pisciano em 21 de Fevereiro de 2014, 20:23
Boas.

A ideia é construir uma mini estação meteorológica (humidade e temperatura) e apresentar essa informação num LCD, utilizando o arduino Mega.

Posteriormente, irei acrescentar aquisição de dados com gravação num cartão SD, para que essa informação possa ser apresentada no Excel para análise.

Para além dos dados de humidade e temperatura, também será guardado no cartão SD, a hora a que foram obtidos, com a utilização de um RTC com o ds1307.

Tanto o esquema como o código para o arduino (Sketch) irão ser totalmente partilhados e facultados para quem quiser.

Gostava que dessem ideias, sugestões, que façam perguntas, etc. (Sejam chatos à vontade)
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Pisciano em 21 de Fevereiro de 2014, 21:05
Lista de material:

Compatible Arduino Mega2560
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg.dxcdn.com%2Fproductimages%2Fsku_201396_1.jpg&hash=f1f894a5620c7b26c07f464d763122e55340261a)

Sensor de Humidade/Temperatura - DHT11
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg.dxcdn.com%2Fproductimages%2Fsku_121350_1_small.jpg&hash=61228abe1b0d657bd8280eee7931515e68b2b3b9)


Display LCD TFT - ITDB02-2.8 com o controlador ILI9325DS
(https://d3s5r33r268y59.cloudfront.net/7332/products/thumbs/1646-2013-11-30-15-20-08-ITDB02_FACE.png.2560x2560_q85.png)


1º Ponto Importante:

Não posso pegar no display e coloca-lo directamente no arduino.
O display dispõe de 40 pinos, mas não são todos usados.
Poderia tentar fazer a ligação do arduino e do display através de fios, mas parece-me uma solução inconveniente. Bastaria um fio não fazer bem contacto para que o sistema não funcione correctamente. E teria que ter cuidado com a alimentação de 5V e de 3,3V sob risco de queimar o display.

A solução que encontrei para este ponto foi comprar um shield (a baixo preço) que permitisse ligar o display ao arduino:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.famosastudio.com%2Fimage%2Fcache%2Fdata%2FITDB02%2520Arduino%2520MEGA%2520Shield-1-500x500.jpg&hash=c008f682bde60f4d931fc052101a12cee3a9c34e)

Com esta compra, "ganhei" um RTC que vem com o shield.
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: almamater em 22 de Fevereiro de 2014, 13:15
Tb tenho um TFT desses e uma shield dessas. Como existem muitos pinos que ficam livres e com a shield não conseguimos aceder aos mesmos, entre a shield e o Arduino Mega coloquei uma placa (intermédia) e nela retirei os pinos não usados e os que são precisos para o TFT não mexi.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FQCj3nces.jpg&hash=1e6448616172655153af730abf27b0f648d5d02e) (http://i.imgur.com/QCj3nce.jpg)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FyitB8oAs.jpg&hash=540e4f026f94d0b87cb56b4b36161d4e797ee8a3) (http://i.imgur.com/yitB8oA.jpg)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2Fm2QsmhTs.jpg&hash=ed5685a42309dc1b5da923d5b348603cf1d9ca77) (http://i.imgur.com/m2QsmhT.jpg)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FhRpvusvs.jpg&hash=3c71b08a7701bd9aea09b6f1c1ab7b4ad8e1d768) (http://i.imgur.com/hRpvusv.jpg)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2Ftig5pBhs.jpg&hash=a85a0e3916abb7764395a2632a8489ace92292a4) (http://i.imgur.com/tig5pBh.jpg)
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Pisciano em 22 de Fevereiro de 2014, 13:58
O que normalmente tenho usado para continuar a ter acesso aos pinos do Arduino não utilizados são headers:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fskpang.co.uk%2Fcatalog%2Fimages%2Farduino%2Fprototype_header%2Fheader_arduino.jpg&hash=0c778cd746c3513a04ae13da606bc70c1ac9f6b9)

Coloco-os onde são necessárias as ligações do shield ao arduino, ficando com altura suficiente para ligar fios directamente no arduino, nos pinos ainda disponíveis.

Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: senso em 22 de Fevereiro de 2014, 14:12
No caso desse shield para o lcd, se lhe meteres desses headers maiores, não consegues montar o lcd no shield.
É preferivel usar um ecrã com comunicação via SPI, muito menos fios e com o Atmega a 16Mhz o SPI pode funcionar a 8Mhz.
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: StarRider em 23 de Fevereiro de 2014, 18:01
Boas,

Este projecto só mesmo por "carolice" pois a relação custo/desempenho perde sempre em comparação
com uma solução comercial.

De qualquer forma pelo menos é um "tema" pouco visto no forum, e que pode evoluir para algo mais
completo ... só critico a utilização do arduino, mas esse é um "mal" que infelizmente tem vindo a dominar
este forum.

Abraços,
PA
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: dio123 em 23 de Fevereiro de 2014, 18:15
Usar ou nao arduino é muito relativo. Para quem está aprender e a dar os primeiros passos é ideal.

Grande parte dos projectos em relação custo/desempenho ficam sempre a perder com soluções comerciais. Acho o que o mais importante  é  apreender com eles.

Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: dropes em 23 de Fevereiro de 2014, 20:03
Acho que é um bom projecto, pessoalmente alterava muita coisa, usar 40 terminais do micro só para o display é demasiado e usaria um micro dedicado em último caso.
Também mudava o sensor humidade/temperatura pelo SHT21 e retirava o arduino, pelo que vi o @StarRider gosta tanto deles como eu lol
Claro que se não te entenderes com programação, electrónica ou desenho de circuitos, a coisa muda de figura e lá está a utilidade do bicho.
Pelo que estive a ver na ficha técnica, não fala em SPI embora tenha os terminais para isso e fala em comunicação "4 wires" 8 bits...

2.8 module is 2.8" TFT LCD with 65K color 320 x 240 resolutions. The controller of this LCD module is ILI9325DS, it supports 8bit data interface with 4 wires control interface. Moreover, this module includes the touch screen and
SD card socket.

Features
Compatible with 3.3/5V operation voltage level
Compatible with UTFT library
With SD Card Socket


Como o @dio123 referiu trata-se de uma montagem didática, comercialmente não vejo uma que saia mais barata com estas propriedades por isso força @Pisciano, esperamos pelo seu desenvolvimento  ;)
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: StarRider em 23 de Fevereiro de 2014, 21:01
Boas,

É verdade, muito se poderia "bater" no arduino... e vontade não me falta ;), mas não quero ir
para offtopic.

Voltando à vaca fria, em termos de custo que valores foram gastos com esse material ?

Abraços,
PA
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: senso em 23 de Fevereiro de 2014, 21:15
Tirando a parte de as bibliotecas não serem a coisa mais perfeita do mundo, dado que foram feitas para funcionar em conjunto com muitas outras, o hardware em si não tem qualquer problema, não entendo tanta azia com os Arduinos.
Pelo menos permite um fácil acesso á eletrónica e á programação, vale mais começar com hábitos menos bons e ir evoluindo do que o primeiro projecto que se faz é logo a fazer pcb's, soldar chips e depois quando o blinky não corre não sabes se é do código, se da toolchain, se do hardware, com um arduino, compras ligas o cabo usb, e tens logo o led a piscar a dizer que está tudo OK.

Tambem estou farto de outros micros e respectivos programadores serem uma miséria e não ando a chorar a cada post que faço..
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: jmiguelff em 23 de Fevereiro de 2014, 21:29
Eu acho que aquele header de 40 pinos serve também para dar consistência à montagem. Como foi dito de inicio o display não usa aqueles pinos todos.

A escolha do arduino não parece ser má. Não digo que seja uma escolha óptima pois para isso tinha de estar a investigar grande parte dos MCUs de 8-bits e é óbvio que não o vou fazer. Mas para prototipagem rápida é das melhores ferramentas sem dúvida.




Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Sérgio_Sena em 24 de Fevereiro de 2014, 11:16
Para quem está aprender

A aprender o que ?

- electronica? nao precisa de Arduino p nada !
- programacao? tb nao precisa de Arduino p nada !

-  a fazer coisas q podem ser compradas por 100x menos custo na loja, mas q dao gozo fazer, e q ao mesmo tempo nao interessa como se faz mas sim apenas ter um resultado final - go Arduino go

- o Arduino eh um encher de olhos com areia pois o utilizador deste brinquedo do "demo" :D ao fim de algum tempo "pensa" q consegue fazer tudo o q lhe vem ah cabeca...   pura ilusao. o q consegue fazer eh compilar bibliotecas programadas por outros q tirou da net... apenas e soh.



e a dar os primeiros passos é ideal.

os primeiros passos em que?  dah p referir ao texto acima.

Arduino serve essencialmente para ::

- artistas/designers/criativos q teem mais q fazer do a aprender electronica e afins

- engenheiros/empreendedores q teem ideias, verificam a ideia c o Arduino num dia e no resto do tempo fazem o desenvolvimento com electronica e microcontroladores nao-"arduinizados"....

- para pessoal q quer aprender electronica mas q ao mm tempo nao quer estudar e trabalhar para aprender como a coisa se faz na realidade e entao usa o arduino para mascarar estas falhas...


Facam-me o favor de ir p casa e estudar electronica como deve de ser e nao a brincar. Pois a continuacao da brincadeira nao dah emprego no futuro. A nao ser q queiram ser designers/criativos/artistas-da-radio-e-cassete-pirata.


Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: almamater em 24 de Fevereiro de 2014, 11:45
Possa, ao ler o texto do asena não posso deixar de concordar de facto, o Arduino para muitos pode ser a entrada para conseguirmos fazer algo sem ter grandes conhecimentos, pode também ser a rampa para se ganhar depois outros conhecimentos que de outra forma se pensava não ser possível.

Adoro o Arduino porque com ele consegui fazer alguns projectos que de outra forma não iria conseguir, mas sim.. passado um tempo torna-se limitado e o uso de shields e coisas do genero são para projectos muito específicos que se os usarmos para coisas banais e sem muito nexo acabam por ficar caras e depois não fazemos nada com isso e ficam arrumadas num canto. Na realidade tenho a consciência e concordo com a frase "- para pessoal q quer aprender electronica mas q ao mm tempo nao quer estudar e trabalhar para aprender como a coisa se faz na realidade e entao usa o arduino para mascarar estas falhas...", no entanto, também há o pessoal que é para fazer umas brincadeiras e como tal consegue safar-se com 1 Arduino..

Mas o Arduino, pelo que leio por aqui, é algo que os mais 'entendidos', os que de facto estudaram e sabem de electrónica, colocam de lado e usam coisas mais 'hardcore'.
 
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: jmiguelff em 24 de Fevereiro de 2014, 19:32
O asena deve ainda programar em assembly.

Se tu não usas bibliotecas de outras pessoas também não deves arranjar grande emprego sendo que a reutilização de código é um dos princípios mais importantes.

Um cabo de rs232 para usb com chip de ftdi custa quase tanto como um arduino por isso não me parece que o preço esteja desajustado.
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: StarRider em 24 de Fevereiro de 2014, 20:12
O asena deve ainda programar em assembly.

Se tu não usas bibliotecas de outras pessoas também não deves arranjar grande emprego sendo que a reutilização de código é um dos princípios mais importantes.

Um cabo de rs232 para usb com chip de ftdi custa quase tanto como um arduino por isso não me parece que o preço esteja desajustado.

Boas jmiguelff,

Concordo que a reutilização de código, desde o que está em libs comerciais aos código proprietário,  é uma
realidade e prática comum no mundo do "software" mas não é assim no que toca a "firmware".

Como é óbvio existe uma enorme abismo entre a realidade profissional e os projectos amadores que usam
o arduino, não passa pela cabeça de ninguém usar num sistema critico, ou mesmo semi-critico, qualquer tipo
de código que não seja escrito in-house.

... peço desculpa pelo offtopic.

Abraços,
PA
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Sérgio_Sena em 24 de Fevereiro de 2014, 21:02
O asena deve ainda programar em assembly.

Se tu não usas bibliotecas de outras pessoas também não deves arranjar grande emprego sendo que a reutilização de código é um dos princípios mais importantes.

Um cabo de rs232 para usb com chip de ftdi custa quase tanto como um arduino por isso não me parece que o preço esteja desajustado.


Pois claro que programo em assembler, qualquer desenvolvimento de sistemas embebidos necessita de alguma pontual programacao em baixo nivel, para conseguir fazer o q o C/C++ nao consegue ao nivel do hardware.

Como nao sabes nada da minha vida, vou deixar passar esse comentario acerca do emprego, parece-me q estahs um pouco desmotivado e aborrecido com a tua propria situacao.
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: jmiguelff em 24 de Fevereiro de 2014, 21:16
StarRider concordo contigo.

Acrescento só que sistemas críticos trazem também um preço crítico. :D

asena tu é que mandaste o pessoal ir estudar electrónica a sério ou não iria ter emprego. Mas realmente tens razão e fui um bocado duro demais. Peço desculpa por isso.

Continuo achar o Arduino uma plataforma completamente viável. Cada um utiliza as ferramentas que quiser, desvalorizar um projecto por ter utilizado um Arduino é que acho errado. (Até pode ter sido todo programado em assembly)
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Pisciano em 24 de Fevereiro de 2014, 23:51
A partilha deste projecto tem o intuito didáctico e é pensado para um público alvo que começa a dar os primeiros passos na electrónica e que não tem qualquer base de programação. (tipicamente jovens de 14/15 anos a frquentar o 10ºano nos cursos profissionais da área da electrónica).

A versão final e completa deste projecto já foi realizada e implementada há mais de 1 ano, por mim, com fins comerciais, no controlo de uma estufa de secagem de plantas aromáticas, com aquecimento por resistências com controlo On/Off e Proporcional, desumidificação, reaproveitamento de ar, com 6 sensores de temperatura, 3 sensores de humidade, controlo de velocidade de um ventilador industrial.

O Arduino é um kit bonitinho, documentado, onde normalmente outros componentes (shields) encaixam correctamente, com preços relativamente acessíveis (ebay), com muita informação e gente disponível nos fóruns para ajudar nas dúvidas.

Do meu ponto de vista, poderia estar a realizar este projecto com qualquer microcontrolador de 8 bits, tal como a versão final foi produzida, mas o feedback que tenho do público alvo, é que se sentem muito mais confortáveis e confiantes a trabalhar com algo que está pronto a programar e electricamente mais seguro.

E este método tem funcionado. Os alunos que agora estão no 12º ano, começaram no 10º ano com o arduino, e estão agora a programar em C em Pic32 na criação de robôs.

Voltando ao tópico...

Preços do material utilizado até ao momento:
Meeeno MEGA2560 - 11,80€
DHT11 - 2,20€
ITB02 Mega shield (com RTC) - 6€
Display - 20€ (tinha pressa por outro projecto e comprei-o numa loja em Lx, mas arranjava a 12€ pela net).

Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Pisciano em 25 de Fevereiro de 2014, 00:10
Entretanto, numa versão de teste, em vez do display de 2.8'', liguei um display alfanumérico I2C de 2003 que tinha aqui numa gaveta.

Batron BTHQ 21605AV-03 com o processador PCF2119

Pelo que vi na net, não é dos displays mais usados juntamente com o arduino, o que me obrigou a ter que alterar ligeiramente as bibliotecas existentes para displays a comunicar por I2C.

até ao momento, está tudo a funcionar conforme esperado. (ver anexo)

Como já está num ponto em que é possível verificar o seu correcto funcionamento, está em anexo o código (não organizado) para arduino, e um ficheiro zipado com a biblioteca LCDI2C.
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: jmiguelff em 25 de Fevereiro de 2014, 10:31
Parabéns pelo projecto.

Offtopic:

Era fixe ter uma parte do fórum só com projectos dos utilizadores e até repositório para código. (Não sei se isto já existe)
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: dio123 em 25 de Fevereiro de 2014, 11:39
A area "projectos concluídos", é  onde supostamente fica os projectos finalizados e o código fica em anexo.
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Pisciano em 25 de Fevereiro de 2014, 11:59
Tarefa seguinte:

Alterar o código da lib UTFT.
http://henningkarlsen.com/electronics/library.php?id=51 (http://henningkarlsen.com/electronics/library.php?id=51)

Esta livraria funciona, e foi pensada para funcionar, em condições aceitáveis, com um largo número de LCD's. Cada LCD tem um controlador interno, quase sempre não visível, que é o responsável por todo o funcionamento. A livraria UTFT transfere as funções do nosso microcontrolador para esse controlador do LCD.

Assim, ao usar a versão disponível da UTFT, é o mesmo que estar a carregar mais de 20KB de código quando só se vai utilizar 4K desse código, e por isso parece-me rentável investir um pouco de tempo a mexer na biblioteca.
Esses mais de 20KB devem-se ao facto de a UTFT carregar informação e as funções para todos os controladores dos displays.

O LCD que tenho, tem o controlador ILI9325D. http://www.displayfuture.com/Display/datasheet/controller/ILI9325D.pdf (http://www.displayfuture.com/Display/datasheet/controller/ILI9325D.pdf)

O que vou fazer é mudar o nome da biblioteca original e retirar/desactivar tudo o que não tenha a ver com o meu controlador. (Não recomendo que façam isto, se não souberem bem o que estão a fazer)
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Njay em 25 de Fevereiro de 2014, 14:54
Muito bem, sim sr. Claro que como produto comercial não teria a menor hipótese como já aqui foi referido, mas este trata-se obviamente de um projecto didático. Mas ainda assim há projectos que se fazem por outros motivos que não sejam o didático nem o comercial; por exemplo o simples facto de não haver no mercado aquilo que se quer, caso em que o custo passa a ser secundário.

Continua Pisciano! (faz-me é só o favor de dizer o termo correcto, que é "biblioteca", e não "livraria" :), se puderes alterar os teus posts era bom para não perpetuarmos esse erro comum)
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Pisciano em 25 de Fevereiro de 2014, 17:24
Sim, a tradução de library é biblioteca.

Talvez pelo som, tenho usado várias vezes a palavra menos correcta. Alias, uso as duas palavras.

Vou tentar ser mais cuidadoso.

Citar
Mas ainda assim há projectos que se fazem por outros motivos que não sejam o didático nem o comercial; por exemplo o simples facto de não haver no mercado aquilo que se quer, caso em que o custo passa a ser secundário.

Aceito sugestões. :)
Título: Re: Mini estação meteorológica -AtMega2560+ DHT11 + LCD TFT 2.8
Enviado por: Pisciano em 25 de Fevereiro de 2014, 21:03
Entretanto, liguei o LCD de 2.8'' após ter feito as alterações na biblioteca UTFT. Aproveitei e também mexi na Utouch (biblioteca disponível para controlo da parte táctil do display)

Configurei o RTC e já sei a quantas ando :) (ver anexo)

E também já configurei o leitor de cartões SD que vinha com o LCD. (ver anexo)

(O aspecto que apresento nos anexos considero-o neutro: nem gosto nem deixo de gostar)

Como o objectivo é puramente lúdico e didáctico, gostava que tivesse um aspecto simpático, descontraído, apelativo, mas sem ser berrante.
Por isso aceito ideias e sugestões.
(Sim, o LCD tem um mau contacto que faz aparecer uma linha branca) :P