- Materiais requisitados:
- Instalando Python em seu computador:
- Obtendo PySerial em Python:
- Nosso primeiro programa Arduino Python:
- Controlando LED com Python e Arduino:
O Arduino sempre foi uma plataforma de aprendizagem / desenvolvimento poderosa e fácil de usar quando se trata de desenvolvimento de hardware de código aberto. No mundo moderno de hoje, todo hardware é alimentado por uma linguagem de programação de uso geral de alto nível para torná-lo mais eficaz e fácil de usar. Uma dessas linguagens é o Python. Python é uma linguagem de programação interpretada, orientada a objetos e de alto nível com semântica dinâmica com estruturas de dados incorporadas de alto nível, combinadas com tipagem dinâmica e vinculação dinâmica, tornam-na muito atraente para o Desenvolvimento Rápido de Aplicativos.
Combinar o poder do Arduino e do Python abrirá portas para muitas possibilidades, já que o python tem uma produtividade aumentada com sua capacidade de interagir com outras plataformas como openCV, Matlab etc. Portanto, neste tutorial aprenderemos como podemos instalar o python em nosso computador e como usá-lo com o Arduino para alternar o LED integrado do Arduino.
Então vamos começar….
Materiais requisitados:
- Arduino Uno (ou qualquer placa Arduino)
- Computador com conexão à Internet
Instalando Python em seu computador:
Obviamente, o primeiro passo neste tutorial seria instalar o Python em nosso computador. As etapas mencionadas abaixo são aplicáveis apenas para usuários do Windows que executam sistemas operacionais de 32 ou 64 bits. O procedimento de instalação para MAC e Linux é diferente.
- Clique em 32-bit Python-2.7.9 e isso irá instalar o Python IDLE de 32 bits em seu computador. Não baixe a versão de 64 bits ou versões atualizadas, pois elas não fornecem suporte para nossas bibliotecas do Arduino. Mesmo se seu computador estiver operando em 64 bits, você pode usar o próprio Python de 32 bits.
- Abra o arquivo exe baixado e siga as instruções. Não altere o diretório no qual o python está sendo instalado. Será C: \ Python27 por padrão e deixará como está.
- Enquanto a instalação ocorre, você pode receber um aviso do seu antivírus (se houver). Nesse caso, clique em permitir.
É isso aí! O python foi instalado com sucesso em nosso computador. Você pode verificá-lo pesquisando “Python IDLE” na caixa de pesquisa do Windows e abrindo-o.
Quando aberto, você deverá obter a seguinte tela. Esta janela é chamada de Python Shell e iremos nos referir a ela como “ Python shell ” a partir de agora.
Essa tela é chamada de Python Shell. Você pode codificar diretamente aqui e obter a saída na mesma tela ou criar um novo arquivo e escrever o programa lá e verificar o programa aqui. Mais tarde entraremos nos detalhes da criação de um programa python, por enquanto vamos verificar se o python está funcionando.
Para isso, basta digitar “ imprimir (1 + 1) ” e pressionar enter. Você deve ver o resultado sendo impresso conforme mostrado abaixo.
Obtendo PySerial em Python:
A próxima etapa é instalar o pyserial. PySerial é um módulo Python API que é usado para ler e escrever dados seriais para Arduino ou qualquer outro microcontrolador.
Clique em Pyserial Windows para baixar o PySerial. O download resultante será um arquivo exe que pode ser instalado diretamente. Não altere nenhuma configuração durante a instalação. Deixe-o no diretório padrão e nas configurações padrão.
Agora, vamos verificar se o PySerial está instalado corretamente. Para fazer isso, abra o Python Shell novamente e digite
import serial . Se a biblioteca foi instalada com sucesso, você não deve receber nenhuma mensagem de erro conforme mostrado na imagem abaixo. Se você receber algum erro, poste-o na seção de comentários e tentaremos resolvê-lo.
Este tutorial pressupõe que você esteja familiarizado com o Arduino e tenha experiência no upload de projetos para o Arduino. Portanto, vamos pular diretamente para o nosso programa Python. Se você é um iniciante com Arduino, verifique nossos Projetos Arduino e comece com LED piscando com Arduino.
Nosso primeiro programa Arduino Python:
Como dito anteriormente, controlaremos o LED da placa Arduino embutido usando o script Python. Vamos começar com o código do Arduino.
Programa para Arduino:
O programa completo para este tutorial do Arduino python é fornecido no final desta página. Leia mais para saber como funciona.
Dentro da função de configuração , inicializamos a comunicação serial a 9600 baud rate e declaramos que usaremos o led embutido como saída e o diminuiremos durante o início do programa. Também enviamos uma mensagem de boas-vindas ao python via impressão serial, conforme mostrado abaixo:
void setup () {Serial.begin (9600); // inicializa o COM serial em 9600 baudrate pinMode (LED_BUILTIN, OUTPUT); // faça o pino do LED (13) como saída digitalWrite (LED_BUILTIN, LOW); Serial.println ("Oi !, sou o Arduino"); }
Dentro da função de loop , lemos todos os dados que chegam em série e atribuímos o valor à variável “dados”. Agora, com base no valor desta variável (“dados”), alternamos o led embutido conforme mostrado abaixo.
void loop () {while (Serial.available ()) {data = Serial.read (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); else if (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Programa para Python:
O programa Python completo para este tutorial é fornecido no final desta página. Leia mais para saber como escrever e usar o mesmo.
- Abra seu Python Shell (Python IDLE) e clique em Arquivo-> Novo
- Isso abrirá um novo arquivo de texto onde você pode digitar em seu programa.
- Antes de digitar qualquer coisa vamos salvar o arquivo, por Ctrl + S. Digite qualquer nome e clique em salvar. Isso salvará automaticamente seu arquivo na extensão “.py”.
- Agora, digite o programa ou cole o código Python fornecido no final desta página. A explicação para o mesmo é dada abaixo e finalmente execute o programa.
Em nosso programa, o primeiro passo seria importar a biblioteca serial e de tempo. A biblioteca serial, como dito anteriormente, será usada para ler e gravar dados seriais e a biblioteca de tempo será usada para criar atrasos em nosso programa. Essas duas bibliotecas podem ser importadas em nosso programa usando as duas linhas a seguir:
importar serial #Serial importado para tempo de importação de comunicação serial #Required to use delay functions
A próxima etapa seria inicializar um objeto serial usando nossa biblioteca serial. Neste programa, nomeamos nosso objeto serial como “ArduinoSerial” . Nesta linha, temos que mencionar o nome da porta COM à qual nosso Arduino está conectado e a que taxa de transmissão está operando, conforme mostrado abaixo.
ArduinoSerial = serial.Serial ('com18', 9600)
Nota: É muito importante mencionar o nome correto da porta COM. Ele pode ser encontrado usando o gerenciador de dispositivos em seu computador.
Assim que o objeto serial for inicializado devemos segurar o programa por dois segundos para que a comunicação serial seja estabelecida. Isso pode ser feito usando a linha abaixo:
tempo.sono (2)
Agora podemos ler ou escrever qualquer coisa de / para nossa placa Arduino.
A linha a seguir irá ler qualquer coisa vinda do Arduino e irá imprimir na janela do shell
print ArduinoSerial.readline ()
Você também pode atribuir o valor a uma variável e usá-lo para cálculos.
A linha a seguir gravará o valor do parâmetro na placa Arduino.
ArduinoSerial.write ('1')
Esta linha gravará '1' no Arduino. Você pode enviar qualquer coisa, de decimais a strings, usando a mesma linha.
Agora, voltando ao nosso programa, dentro do loop infinito, temos as seguintes linhas
var = raw_input () #obter entrada do usuário imprimir "você digitou", var #imprimir a entrada para confirmação if (var == '1'): #se o valor for 1 ArduinoSerial.write ('1') #enviar 1 print ("LED ON") time.sleep (1) if (var == '0'): #se o valor é 0 ArduinoSerial.write ('0') #send 0 print ("LED OFF") time.sleep (1)
A linha var = raw_input obterá qualquer valor digitado no script Shell e atribuirá esse valor à variável var .
Posteriormente, se o valor for 1, ele imprimirá '1' em série no Arduino e se for 0, ele imprimirá '0' em série no Arduino. O código em nosso programa Arduino (discutido acima), alternaremos o LED com base no valor recebido.
Assim que o programa completo estiver concluído, o seu script deverá ser semelhante a este
Agora clique em Executar -> Executar Módulo ou pressione F5. Isso pode solicitar que você salve o programa e então o executará.
Controlando LED com Python e Arduino:
O funcionamento deste projeto é bastante simples. Faça upload do programa para o Arduino e verifique se ele está conectado à mesma porta COM mencionada no programa python. Em seguida, inicie o programa Python conforme mencionado acima.
Isso iniciará um script de shell Python, conforme mostrado abaixo. A janela à esquerda é a janela do shell mostrando a saída e a janela à direita é o script que mostra o programa.
Como você pode ver, a string “Hi !, I am Arduino” inserida no programa Arduino é recebida pelo Python e exibida em sua janela de shell.
Quando a janela do shell pede para inserir valores, podemos inserir 0 ou 1. Se enviarmos 1, o LED na placa Arduino ligará e se enviarmos 0, o LED em nossa placa Arduino desligará. Mostrando uma conexão bem-sucedida entre nosso programa Arduino e Python.
Há dois programas fornecidos abaixo, um para ser carregado e executado no Arduino e o segundo deve ser executado no Python Shell no Windows.
Espero que você tenha entendido o projeto e conseguido colocá-lo em funcionamento. Caso contrário, poste seu problema no comentário abaixo e ficarei feliz em ajudá-lo. Em nosso próximo projeto, aprenderemos o que mais pode ser feito com Python e Arduino, explorando profundamente outros módulos Python como Vpython, gamepython etc. Até então, fique atento….