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
Tags:
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 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);
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por