Comunicando Arduino e Python - PySerial e Comunicação Serial.

Oi Galera! Tudo bem? 

Eu estou encantado com a linguagem de programação Python. A facilidade e organização desse linguagem são fenomenal. Já fiz comunicação Arduino com Java, usando serial, mas nem se compara utilizando a linguagem Python(Biblioteca Pyserial), é muito fácil e lindo. Então, vou compartilhar esse conhecimento com vocês. Para que vocês serem feliz como o Fernando Masanori e estou sendo. Recentemente, organizamos um evento no Inatel, o PythonDay e conheci essa linguagem e virei fã de carterinha. As bibliotecas da Python são simples de usar e podem render projetos fenomenais utilizando o Arduino.

Para rodar esse exemplo você vai precisar instalar no seu PC o Python e biblioteca Pyserial.

Você pode baixar o Python esse link: https://www.python.org/downloads/ . Eu utilizo a versão 2.7. E Pyserial aqui: http://pyserial.sourceforge.net/

Contextualizando:

A aplicação que vamos fazer é o seguinte: Vamos enviar do Arduíno vários dados de sensores que serão armazenados em um aquivo TXT no Computador.

A ideia é seguinte: Para enviar um dado de um sensor, você enviará do Arduino assim: $TempAr-25.44# $UmidAr-55#. O $ indica o começo da transmissão de dados pelo Arduino e o # representa o final. Desta forma, você pode enviar qualquer dado como: $ESSEsaoTODOSosDADOSnaoIMPORTAoTAMANHOdesdeSAIBAMOSoCOMEÇOeFIM#.

Assim você armazenará um identificador(TempAr,UmidiAr) e o valor do sensor. Com isso, você pode "navegar" nesse aquivo e pegar os dados só de umidade e/ou temperatura e plotar um gráfico, por exemplo. Ou simplesmente listar os dados. (De uma olhada no matplotlib e na função split, acho que pode te inspirar).

Esse é Programinha em Python:

Para Windows deve-se substituir '/dev/ttyUSB0' por 'COM4', por exemplo. Olhe sempre qual porta seu Arduino está conectado. (Olhe no rodapé da IDE Arduino)

Download: exemplo.py

Programinha em Arduino:

Referências:

[1]  Pythonclub. Disponível em: "http://pythonclub.com.br/" Acesso em 6 de Dezembro 2104. 

[2]  Python Software Fundation, Disponível em: "https://www.python.org/"Acesso em 6 de Dezembro 2104. 

[3]  Arduino - Serial, Disponível em: "http://arduino.cc/en/reference/serial" Acesso em 6 de Dezembro 2104. 

[4] Arduino sem C,  Disponível em: "https://garoa.net.br/wiki/Arduino_sem_C" Acesso em 6 de Dezembro 2104. 

Exibições: 10019

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Gerliane Chaves em 28 junho 2017 às 11:48

Olá, sou iniciante em python e quero trabalhar justamente com essa comunicação entre ele e arduino. Então, eu devo criar um programa direto no arduino e depois reescrever em python pra fazer essa comunicação, é isso? Ou eu posso escrever diretamente em python. Como faço pra passar isso pro Arduino?

Comentário de GEORGES CLAYTON DE OLIVEIRA SANT em 24 outubro 2016 às 22:35

Boa noite Wellington, também estou encantado com essa linguagem e estou tentando programar junto ao Arduino. Vamos ver se consigo alguma coisa kkkk

abraço.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço