Arduino

Sensor de cores TCS35725 – visualizador gráfico

visualizador gráfico

No artigo anterior discorri a respeito desse sensor de cores, utilizando um sketch de exemplo da própria biblioteca. Eu gostaria de ter feito um video mostrando a correspondência em um LED RGB, mas (não por acaso) não encontrei meus LEDs RGB. Então resolvi fazer um programa gráfico pra ler no computador o resultado da leitura do sensor e exibir em um color picker.

Programa em Qt

Para programar interfaces gráficas, eu sempre utilizo o Qt, que é um framework de C++, mas que facilita tanto, mas tanto que nem parece programação C++ de tão simples e tão rápido. Pra ter uma ideia, levei menos de 2 horas para escrever esse programa, mas isso porque dei uma pesquisada antes em quais recursos eu iria utilizar. De código mesmo, o programa tem umas 80 linhas no máximo.

O Qt é multiplataforma, você pode utilizá-lo para programar para Windows, Linux, BSDs, MAC, Android, Raspberry etc. O mais legal é que você pode fazer no seu computador pessoal, executar, testar e depois só compilar na plataforma de destino (ou fazer cross-compiling).

Download

Dê uma passada pelo site do Qt e baixe a versão para Windows, se for sua plataforma. Ainda, você pode baixar um instalador para Linux, ou instalar a partir dos repositórios de sua distribuição.


Existe versão paga se desejar modificar o código do Qt em sí, mas você faz qualquer coisa com a versão opensource.

Programa pronto

Se quiser baixar esse programa de exemplo que fiz, pegue-o em meu repositório no github.

Bugs

Tem dois bugs, um é um pico que de vez em quando dá na cor verde. O outro era esperado, porque eu iniciei a serial dentro do fluxo da janela principal do programa, mas fiz de propósito porque não quis escrever uma thread para essa tarefa simples. Nesse caso, a janela fica bloqueada pela thread da serial, mas como essa tarefa está com o controle da janela, a aplicação de cores na paleta acontece sem maiores complicações.

Recursos utilizados

Só pra ter uma ideia da simplicidade, estou colocando apenas o código da MainWindow com alguns comentários.

Repare que o programa ficou mais ou menos do mesmo tamanho que o programa para o Arduino (falando em linhas de código, claro).

Quer aprender Qt?

Não sou nenhum guru em Qt, mas já fiz coisas interessantes e pensei em fazer videos tutoriais desde o básico, para interagirmos com Raspberry, Arduino, ESP, MIPS etc. Podemos fazer a comunicação por SSH, serial, MQTT etc.

Se tiver interesse, se inscreva em nosso canal no Youtube e deixe seu like ou comentário (ou preferencialmente os dois) para que eu tenha um feedback sobre essa ideia de tutoriais de programação em Qt.

No arduino

No Arduino, utilizei o seguinte código, baseado no sketch de exemplo:

No artigo anterior discorro sobre os detalhes da biblioteca.

Onde comprar o sensor de cores?

Esse sensor de cores está disponível no Baú da Eletrônica, cujo sensor escrevi o tutorial introdutório nesse outro artigo.  Achei ele bem interessante e mesmo sem ter feito um acoplamento, o resultado da detecção está sendo bastante satisfatório!

Video

Fiz um video utilizando os objetos da imagem abaixo:

visualizador gráfico

Da esquerda para a direita, fui colocando os objetos sobre o sensor de cores (à direita da imagem). O resultado você vê nesse video.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/

Sistemas Eletrônicos – https://www.facebook.com/groups/544679592355388/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!