Como programar e controlar um Arduino com Python

Infelizmente, é impossível programar diretamente um Arduino em Python, mas você pode controlá-lo via USB usando um programa em Python. Veja como.

Infelizmente, é impossível programar diretamente um Arduino em Python, mas você pode controlá-lo via USB usando um programa em Python.  Veja como.
Propaganda

Python tomou o mundo da codificação pela tempestade. Juntamente com o surgimento dessa nova linguagem, a cena da eletrônica DIY também floresceu. Placas de desenvolvimento e computadores de placa única de empresas como Arduino O que é o Arduino eo que você pode fazer com ele? O que é o Arduino e o que você pode fazer com ele? O Arduino é um pequeno dispositivo eletrônico notável, mas se você nunca usou um antes, o que exatamente eles são eo que você pode fazer com um? Leia mais e Raspberry Pi Raspberry Pi: O tutorial não oficial Raspberry Pi: O tutorial não oficial Se você é um proprietário atual Pi que quer aprender mais ou um potencial proprietário deste dispositivo de tamanho de cartão de crédito, este não é um guia que você quer para faltar. Leia mais mudaram a maneira como as pessoas criam eletrônicos fabricados em casa. Não seria incrível se você pudesse programar um Arduino com Python?

Não há sentimento melhor do que combinar duas coisas legais. Infelizmente, é impossível programar diretamente um Arduino com Python, já que as placas não têm opção de interpretação onboard da linguagem. O que é possível, no entanto, é o controle direto do USB usando um programa Python.

Este artigo irá mostrar-lhe como configurar um Arduino UNO (embora qualquer Arduino placa compatível Arduino Guia de compra: Qual placa você deve obter? Arduino Guia de compra: Qual placa você deve ter? Existem tantos tipos diferentes de placas Arduino lá fora, você seria perdoado por estar confuso.Que você deve comprar para o seu projeto? Deixe-nos ajudar, com este guia de compra Arduino! Leia mais pode trabalhar aqui) para ser programado e controlado a partir da linha de comando usando programas em Python. Este tutorial foi escrito para o Windows 10, mas também funciona para Mac e Linux. Você pode até usar esse fluxo de trabalho para controlar um Arduino diretamente de um Raspberry Pi Home Automation Guide Com Raspberry Pi e Arduino Home Automation Guide Com Raspberry Pi e Arduino O mercado de automação residencial é inundado com sistemas de consumo caros, incompatíveis entre si e de instalação dispendiosa . Se você tem um Raspberry Pi e um Arduino, você pode basicamente conseguir a mesma coisa em ... Leia Mais para a melhor experiência dupla-down-DIY.

Configurando seu Arduino para Python

Para o projeto de hoje, estaremos usando um Arduino Uno, junto com a interface pyFirmata para Python. Você pode usar praticamente qualquer placa compatível com o Arduino para isso, embora no momento da escrita apenas o Arduino Uno, Mega, Due e Nano sejam suportados pela interface pyFfirmata. Se você já é um guru de Python, você pode adicionar seu próprio suporte de placa ao pyFirmata - certifique-se de atualizar seu GitHub se você fizer isso!

programa e controle arduino com python

Se você ainda não fez isso, instale o Arduino IDE. Se você é completamente novo para o mundo dos microcontroladores, o nosso guia para iniciantes Arduino Introdução ao Arduino: um guia para iniciantes Introdução ao Arduino: um guia para iniciantes Arduino é uma plataforma de prototipagem eletrônica de código aberto baseada em hardware flexível e fácil de usar e software. É destinado a artistas, designers, amadores e qualquer pessoa interessada em criar objetos ou ambientes interativos. Leia mais irá ajudá-lo a obter tudo no lugar.

Conecte sua placa Arduino e abra o IDE. Certifique-se de ter a placa e a porta corretas selecionadas no menu Ferramentas . Carregue o esboço de exemplo StandardFirmata e faça o upload para o quadro. Isso permitirá que você controle o Arduino diretamente, desde que ele esteja conectado ao computador via USB. Desde que o esboço seja enviado para sua placa sem erros, você está pronto para seguir em frente.

Controle de linha de comando e Python

Usaremos o Python 3.4 para controlar nosso Arduino, já que o módulo que você irá instalar especifica isso como a última versão compatível. Qualquer versão anterior a isso deve funcionar bem e versões posteriores foram relatadas para funcionar. Você pode baixar o Python 3.4 para Windows 10 no site da Python Software Foundation. Se você deseja executar várias versões do Python, nosso guia para ambientes virtuais Python Aprenda como usar o ambiente virtual do Python Aprenda como usar o ambiente virtual do Python Se você é um desenvolvedor de Python experiente, ou está apenas começando, aprendendo como A configuração de um ambiente virtual é essencial para qualquer projeto Python. Leia mais será capaz de ajudá-lo.

Depois de instalar o Python, queremos adicioná-lo à variável PATH do seu sistema. Isso nos permitirá executar o código Python diretamente da Linha de Comando sem precisar estar no diretório em que foi instalado. Você pode fazer isso abrindo o Painel de Controle, procurando por Ambiente e clicando em Editar as variáveis ​​de ambiente do sistema . Na parte inferior da janela, selecione Variáveis ​​de ambiente . Isso trará esta janela:

programa e controle arduino com python

Se você já vê o PATH na lista, clique em editar e adicione seu diretório Python e Python / Scripts . Se você não tiver uma variável PATH, clique em new e adicione-a. Note que o Python foi instalado diretamente no C: \ aqui. Se você instalou em outro lugar, precisará modificá-lo para refletir isso. Clique em OK de volta na cadeia de janelas, e você está quase pronto para controlar seu Arduino com o Python!

A graxa mágica

Você precisará de uma peça final do quebra-cabeça para fazer o Python falar muito bem com o nosso Arduino. Isso vem na forma de uma interface Python chamada pyFirmata . Esta interface, criada por Tino de Bruijn está disponível para download no github, embora você possa instalá-la diretamente na linha de comando digitando:

pip install pyfirmata 

Tudo bem, deve instalar e ficar assim:

programa e controle arduino com python

Se falhar, vá adicionando Python à seção Variável de Ambiente e verifique se você deu o caminho certo para o seu diretório Python.

Fazendo acontecer

Agora tudo está configurado e você pode criar um programa em Python para o seu Arduino testá-lo. Abra uma IDE de sua escolha. Usaremos os atalhos de teclado mais úteis do Eclipse 8 para usuários IDE iniciantes do Eclipse 8 Atalhos de teclado mais úteis para usuários iniciantes do IDE Eclipse Por ser amigável para iniciantes como o Eclipse IDE (interface), você deve aprender esses atalhos de teclado. Leia mais hoje, mas você pode facilmente usar qualquer editor de texto Text Editors vs. IDEs: Qual é o melhor para programadores? Editores de texto versus IDEs: Qual é o melhor para programadores? Escolher entre um IDE avançado e um editor de texto mais simples pode ser difícil. Oferecemos algumas dicas para ajudá-lo a tomar essa decisão. Leia mais, ou até mesmo um IDE na nuvem Codenvy IDE: um IDE on-line para Ruby, HTML, Java, Python e muito mais Codenvy IDE: um IDE on-line para Ruby, HTML, Java, Python e muito mais Leia mais.

Crie um novo script e salve-o como blink.py . Quebrando a tradição com o programa LED piscando padrão, você vai criar um programa que solicita ao usuário a quantidade de vezes que o LED pisca antes de executá-lo. É um programa curto, que você pode baixar aqui se quiser ir direto a ele, mas vamos dividi-lo.

Em primeiro lugar, você vai querer importar o que você precisa do módulo pyFirmata, juntamente com o módulo Python Time padrão.

 from pyfirmata import Arduino, util import time 

Agora você vai querer configurar a placa Arduino. Este artigo pressupõe que você esteja usando uma placa Arduino Uno, embora várias outras placas Arduino sejam suportadas. Consulte o pyithmata github para detalhes sobre o suporte da placa.

Verifique qual porta COM você está usando no Arduino IDE e insira-o em seu código como o quadro de variáveis.

 board = Arduino("COM3") 

Agora você configurará o prompt do usuário. Aqueles familiarizados com o Python reconhecerão tudo aqui. Você imprime uma pergunta na tela usando a função de entrada e armazena a resposta como uma variável. Depois que o usuário fornecer um número, o programa informa quantas vezes o LED piscará.

 loopTimes = input('How many times would you like the LED to blink: ') print("Blinking " + loopTimes + " times.") 

Para fazer o LED piscar o número apropriado de vezes, use um loop for . Se você é novo no Python 10 Exemplos básicos do Python que o ajudarão a aprender rápido 10 Exemplos básicos do Python que ajudarão você a aprender rápido Este artigo de exemplos básicos de Python é para aqueles que já têm alguma experiência de programação e simplesmente desejam fazer a transição para o Python que possível. Leia mais, tome cuidado com o recuo, pois diferentemente de outras linguagens, os espaços fazem parte da sintaxe. Note que o pino 13 é o LED integrado para o Arduino Uno, você precisará modificar isso se a sua placa for diferente.

 for x in range(int(loopTimes)): board.digital[13].write(1) time.sleep(0.2) board.digital[13].write(0) time.sleep(0.2) 

Você converterá a variável loopTimes em um inteiro aqui, pois a entrada do usuário será armazenada automaticamente como uma string. Nesta simples demonstração, estamos assumindo que o usuário irá inserir um valor numérico. Qualquer outra entrada, como 'oito', lançará um erro.

Salve seu script e abra o Prompt de Comando .

Luzes piscando e outras revelações

Tudo está pronto para ir, tudo que você precisa fazer é navegar para onde o script está e executá-lo. Faça isso digitando cd [caminho para o diretório do script] e, em seguida, digitando python.py .

Estando tudo bem, seu programa iniciará com um pequeno atraso à medida que o Arduino for inicializado, solicitará um número e depois piscará várias vezes usando o LED onboard.

A saída do programa deve ficar assim:

programa e controle arduino com python

Assim que você pressionar enter após o número escolhido de piscadas, o Arduino deverá executar suas ordens.

Começos pequenos

Este projeto tem sido um início barebone para se comunicar entre Python e uma placa Arduino. Essa abordagem é muito diferente do fluxo de trabalho usual de upload de scripts para o próprio Arduino, mas abre uma maneira totalmente nova de trabalhar com a plataforma, especialmente se você gosta da linguagem de programação Python.

Se você usa um servidor Linux 12 Melhores sistemas operacionais para servidores Linux e quem deve usá-los 12 Melhores sistemas operacionais para servidores Linux e quem deve usá-los Criando um servidor? O Linux é ideal, geralmente oferecendo permissões aprimoradas, maior flexibilidade e estabilidade. Mas qual você deve escolher? Confira os 12 melhores sistemas operacionais de servidores Linux e quem deve usá-los. Leia mais em casa, esse método de comunicação com as placas Arduino poderia estender esse servidor a um sistema completo de automação residencial DIY. Combinando scripts Python controlando o microcontrolador com um circuito de automação DIY Idéias do projeto Arduino para um projeto de Automated Home Arduino Idéias para uma casa automatizada Não seria ótimo para regar sua estufa sem sair da cadeira? Um Arduino pode ser usado como o componente chave de alguns projetos de automação residencial - aqui estão cinco! Leia mais, sua caixa de armazenamento NAS pode assumir um novo conjunto de funções úteis.

Para torná-lo a melhor experiência de bricolage, por que não construir sua própria caixa NAS? Precisa de armazenamento em rede? Aqui está como construir seu próprio NAS Box Precisa de armazenamento de rede? Aqui está como construir seu próprio NAS Box NAS significa Network Attached Storage. Como o Windows tornou-se mais fácil de usar com dispositivos conectados à rede, e os preços do hardware caíram, esse termo começou a ser usado no mercado consumidor. Hoje há uma grande variedade ... Leia mais e use-a para controlar também seus aparelhos? Imagine como seria legal apertar o play no seu Plex - o impressionante centro de mídia - o impressionante guia de mídia Se você tem muitos filmes salvos localmente e programas de TV, você precisa instalar o Plex. E este é o único guia para começar a usar o Plex que você precisará ler. Leia mais servidor e deixe as luzes desligarem-se automaticamente!

Você já está controlando o Arduino usando Python? Existem soluções surpreendentes que ainda não sabemos? Deixe-nos saber na seção de comentários abaixo!

In this article