Boa tarde pessoal.

Inicialmente, desculpe a falta de acentuaçao (meu teclado e ingles).

Estou iniciando um projeto de irrigaçao. A parte do arduino e sensores nao vejo como problema.

Minha duvida e como liga-lo para apresentar graficos.

Vou me expressar melhor.

O arduino ficara ligado, e sempre tera um PC ou tablet por perto. A duvida e qual programa usar para fazer o software no pc (ou android) para apresentar os dados que o arduino enviara.

Estive olhando alguns:

Android Studio - Ele facilitou bastante a parte grafica, porem o foco sao botoes, link pra agenda, e outros detalhes comumente usado no celular.

Processing - IDE bem simples, muito semelhante a IDE do arduino, porem toda a parte grafica tem que ser escrita pixel por pixel no codigo. E pra fazer medidor em meia lua, nem tenho noçao de como começar.

A ideia e que na tela apresente barras (uma pra cada sensor, talvez uns 10) que mostre o nivel de humidade.

Alguem usa algum que seja mais abrangente?

Obrigado

Exibições: 3962

Responder esta

Respostas a este tópico

Marcelo me interessei por esse assunto e tentei criar uma interface como essa que você quer usando o processing para aprender um pouco mais sobre processing

Cheguei no seguinte resultado

Isso é controlado por 5 variaveis, uma para cada retângulo e uma com a angulação do gauge.

Esse é o código que usei http://pastebin.com/11mcsfkL

Imhugo, tb faço assim. HEHE. So que esses exemplos, parece que nao tem as caracteristicas todas do gauge no codigo. o Layout dele mesmo, parece que ele chama uma funçao que nao esta presente nesse codigo, ou entao puxa de um servidor na internet. Tentei mexer (tem ate um desses sites que permite mexer e ir vendo as diferenças).

Giliardi, vou pesquisar a respeito do TChart, ja que a linguagem C e a que mexo mais tempo. Mais e facil fazer esses layout nele?

Joao Arthur, confesso que vou copiar seu codigo pra entender a logica do gauge. Acredito que sera de grande ajuda.

Obrigado

Grafico usando interação com banco de dados.Pode ser usado com web service ou desktop.Dados podem vir de qualquer microcontrolador usando cql.

A planta do grafico pode ser desenhada de acordo com demanda.

A maquina virtual foi criada com Free Pascal na IDE Lazarus.

Conheça como funciona o banco de dados http://adltecnologia.blogspot.com.br/

Fazendo uns testes aqui, apareceu duas duvidas. Pesquisei e nao consegui sana-las.

Primeira: Reparei que no codigo postado, foi usado a funcao:

translate(width/2, height/2);

Ela vai deslocar a matriz criando uma referencia por coordenadas onde o ponto (0,0) fica no centro da tela.

Sempre usei sem esse codigo, assim o ponto (0,0) fica no canto superior esquerdo da tela.

Notei que da forma que foi feita no codigo, tem muitas outras funçoes que usam (widht e height), fazendo uma orientaçao pelo centro.

Minha duvida e se continuar usando como uso (colocando os pixels fixos), isso pode influenciar na melhoria do programa, ou entao em alguma aplicaçao onde a tela mude de posiçao (igual os tablets).

Existe uma forma correta?

Segunda: Na funcao do arco, a sintaxe usa garus radianos pra limitar o arco.

  "arc(a,b,c,d,sart,stop);"

onde o start e o ponto de partida e o stop o fim do arco.

No codigo foi usado "PI+THIRD_PI". Dessa forma limita muito.

Tentei sem sucesso usar angulos tranformados pela funcao "radians"

 "float rad = radians(deg);"

 depois:

 "arc(0,250,width/2,height/2,PI,rad);"

Ate coloquei para escrever na tela para conferir os valores e deu certo, so que no arco nao faz.

Estou tentando fazer assim, pois no cofigo vou ter que variar a escala de cores no gauge. Pois o consumo vai variar conforme o clima (tentando economizar na epoca chuva para usar na seca).

obs: desculpe postar 2 respostas, mais o forum estava colocando todo o post como codigo, e cortava o final das linhas.

Marcelo você está se referindo ao código que eu postei certo? Então, sobre o translate, foi só para eu me orientar melhor (escolha pessoal). Como disse isso foi só pra demonstrar e serviu de estudo pra mim, não sei muito sobre processing ainda mas acho que se você fizer do jeito que você disse deve funcionar também. Não sei afirmar qual seria "o mais correto".
Sobre as cores do gauge, chegando em casa eu vou tentar fazer isso e se tiver algum resultado eu posto aqui

Marcelo fiz o teste utilizando a função radians e obtive o resultado esperado.

No exemplo que você deu "arc(0,250,width/2,height/2,PI,rad);" atente-se apenas para utilizar um angulo (em graus) maior que 180 pois o circulo começa por PI. 

Se você substituir rad por PI+rad poderá utilizar os ângulos normalmente.

Utilizei as seguintes instruções

stroke(0,255,0);
arc(0, 100, width/2, height/2, PI, PI+radians(25));
stroke(255,255,0) ;
arc(0, 100, width/2, height/2, PI+radians(25), PI+radians(100));
stroke(255,0,0) ;
arc(0, 100, width/2, height/2, PI+radians(100), TWO_PI);

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço