Programando Arduino em Python [PyFirmata]

Olá meu caros amiguinhos do mundo da tecnologia. Hoje quero apresentar para vocês um novo modo de usar sua plaquinha Arduino.

Já é sabido que sou grande fã de Arduino e Python, e agora quero passar para você a mágica de trabalhar com dois juntos de uma maneira muito fácil.

Certa vez, eu queria armazenar os dados de um sensor de temperatura em um banco de dados MYSQL. E queria encontrar uma maneira fácil de conectar o Arduino no computador e também interagir com a placa.

Pesquisando pela WEB encontrei o Pyfirmata (https://pypi.python.org/pypi/pyFirmata). Pyfirmata nada mais é que um interface python para o protocolo Firmata. Mas, que raio é esse tal de protocolo Firmata amiguinhos?

Esse tal de protocolo Firmata é protocolo para comunicação de microcontroladores e software em seu computador. Ou seja, você fazer a integração de software no seu computador com a placa Arduino. Um exemplo que posso dar é um TCC de uma amiga, Jack. No TCC dela ela precisava controlar a intensidade de alguma “coisa muito loca em telecomunicações(que na sei o que é)”. Que em miúdos era controlar a intensidade de corrente em um circuito. Ou seja, usar a porta analógica do Arduino, ligada a um trasistor para variar a corrente. Só que ela precisava fazer uma interface humana para isso! Então, nós desenvolvemos uma aplicação WEB, utilizando We2py, e lá utilizamos o Pyfirmata. Assim, o jovem que queria mudar intensidade da parada de telecomunicações tinha que fazer login nessa aplicação e assim alterar a distância os parâmetros, sem a necessidade de subir em uma antena.

Então vamos para o que interessa amiguinhos! :D

O que você vai precisar para fazer a mágica:

  • Python2.7 (Eu uso mais a versão 2.7, devido ao Web2py)
  • Arduino Uno
  • Pip
  • Pyfirmata

Python 2.7

Python é uma linguagem do CARAIO, bom de mais e apaixonante. Fácil e intuitiva. Onde você tem uma “burduada” de módulos que podem facilitar sua vida. Você deve baixar o Python este link:

https://www.python.org/ftp/python/2.7.12/python-2.7.12.msi

Você pode saber mais sobre a linguagem Python no meu outro Post aqui no LinkedIn. Só acessar o link abaixo.

https://www.linkedin.com/today/post/article/por-que-eu-gosto-de-python-s2-wellington-c-faria?trk=prof-post

Arduino

Levando em consideração que você já tem a plaquinha, você tem que baixar o software do Arduino para rodar os programas na plaquinha. Você pode baixar isso no site www.arduino.cc .

Abra o programa, clica em Arquivos, Exemplos, Firmata, e selecione o StardardFirmata. Quando abrir esse programa, selecione a porta que esta seu arduino e rode ele! Esse programa nada mais que a implementação do protocolo firmata para arduino. Assim outro software poderá interagir com as portas do arduino.

Pip e Pyfirmata

pip é um sistema de gerenciamento de pacotes usado para instalar e gerenciar pacotes de software escritos na linguagem de programação Python. E esse pacote que você vai instalar é justamente o PyFirmata.

Vou considerar que você é um pobre usuário de Windows. Um cara legal, mas um pobre usuário. (Minha tristeza é trabalhar no Windows e programar Java).

Click em iniciar, digite cmd e abra o cmd.

Digite esses comandos: (Dica: quando por digitar os nomes aperte TAB, ele completa o nome e os caminhos) . Resumo do que é feito: CD \ volta a raiz, cd Python27 é a pasta que você instalou no Python e cd Scripts, são programas que ajudam a vida da gente. Lá dentro tem o PIP. Se não tiver, você pode baixar ele nesse link: https://bootstrap.pypa.io/get-pip.py. Abra seu bloco de notas, copie tudo desse link no seu bloco de notas e salve como pip.py . E coloque nessa dentro na pasta SCRIPT, que fica dentro da pasta Python27, lá em C: .

Agora no CMD, digite: pip install pyfirmata

Esse comando instalará o Pyfirmata.

Vamos fazer Piscar o LED 13 da placa!

Agora, vamos abrir o IDLE. Isso é uma IDE python que veio naquele instalador do python que você baixou. Click no seu Iniciar, digite IDLE. Click em File e New File.

Esse programa abaixo, pisc o LED 10 vezes, onde o mesmo fica 1 segundo acesso e 1 segundo apagado.

Agora, copie esse programa lá no arquivo que você criou, clicando em New File.

Amigx, cuidado com a indentação do código. Isso é muito importante em Python. Deixe o código conforme o print abaixo. Use um tab nas linhas abaixo do for.

Jovem, eu não sei que porta que você usou para colocar seu arduino. Mas, você pode conferir na IDE do Arduino. Se tiver em outra porta, altere a linha “board = Arduino(‘COM3’) “ trocando pela porta que você esta usando.

Agora, rode o programa Python! Click em Run e Run Mode. Pronto, você acabou de dar um comando no arduino usando Python. Você pode ver os outro comandos, como por exemplo porta analógicas, em https://github.com/tino/pyFirmata .

Espero que tenha gostado! E espero ter te ajudado em algo. Agora é com você! Coloque sua imaginação para criar coisas fantásticas!

Um grande abraço, Wellington!

Fontes:

[1] https://pypi.python.org/pypi/pyFirmata

[2] https://github.com/firmata/protocol

[3] https://pt.wikipedia.org/wiki/Pip_(gerenciador_de_pacotes)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade