- Requisitos
- Instalando PyFirmata no Arduino usando Raspberry Pi
- Explicação do código
- Fading LED no Arduino usando pyFirmata
Embora Raspberry Pi e Arduino sejam dois hardwares diferentes em termos de aplicativos e estrutura, ambos são considerados duas plataformas de hardware de código aberto concorrentes. Ambos têm uma comunidade e um apoio muito fortes. Hoje vamos mudar um pouco as coisas e mostrar como podemos tirar proveito de ambos. Se você tiver placas de pi do Arduino e do Raspberry, este artigo mostrará como usar o Raspberry pi e o Python para controlar o Arduino.
Usaremos PyFirmata firmware para dar comandos para Arduino usando script python Raspberry Pi. PyFirmata é basicamente um pacote de biblioteca pré-construído do programa python que pode ser instalado no Arduino para permitir a comunicação serial entre um script python em qualquer computador e um Arduino. Este pacote python pode dar acesso para ler e escrever qualquer pino no Arduino. Então, aqui vamos executar o programa python no Arduino usando Raspberry pi.
Portanto, neste tutorial, tiraremos vantagem dessa biblioteca e a usaremos em nossa placa Arduino para controlar o Arduino usando o Raspberry Pi.
Requisitos
- Raspberry Pi com Raspbian OS instalado
- Arduino Uno ou qualquer outra placa Arduino
- Cabo USB Arduino
- CONDUZIU
Neste tutorial, estou usando um monitor externo usando um cabo HDMI para me conectar ao Raspberry Pi. Se você não tiver monitor, pode usar o cliente SSH (Putty) ou o servidor VNC para se conectar ao Raspberry pi usando um laptop ou computador. Se você encontrar alguma dificuldade, siga nosso Guia de introdução ao Raspberry Pi.
Instalando PyFirmata no Arduino usando Raspberry Pi
Para fazer o upload do firmware PyFirmata no Arduino, temos que instalar o IDE do Arduino no Raspberry Pi. Siga estas etapas para instalar:
Etapa 1: - Conecte o Raspberry Pi à Internet. Abra o terminal de comando e digite o seguinte comando e pressione Enter
sudo apt - get - y install arduino python - serial mercurial
Espere alguns minutos, isso vai demorar. Este comando instalará o Arduino IDE em seu Raspberry Pi.
Etapa 2: - Agora, instalaremos os arquivos pyFirmata usando o github fornecido:
git clone https://github.com/tino/pyFirmata
Em seguida, execute o seguinte comando:
cd pyFirmata sudo python setup.py install
Etapa 3: - Instalamos todos os arquivos e configurações necessários.
Agora, conecte sua placa Arduino com Raspberry Pi usando o cabo USB e inicie o IDE do Arduino digitando arduino na janela do terminal.
Etapa 4: - Em seguida, digite o comando lsusb para verificar se o Arduino está conectado ao seu raspberry pi.
No IDE do Arduino, acesse as ferramentas e escolha sua placa e porta serial.
Etapa 5: - Carregue o firmware PyFirmata no Arduino clicando em Arquivo -> Exemplos -> Firmata -> Firmata padrão e clique no botão de upload. Como mostrado abaixo.
Instalamos com sucesso o firmware pyFirmata na placa Arduino. Agora, podemos controlar nosso Arduino usando Raspberry Pi.
Para demonstração, piscaremos e apagaremos um LED no Arduino escrevendo códigos Python no Raspberry Pi.
Explicação do código
Para a parte de codificação, você deve ler a documentação do pyFirmata para melhor compreensão. Usaremos funções pyFirmata para escrever nosso código. Você pode encontrar a documentação do pyFirmata seguindo o link.
Então, vamos começar a escrever o código
Abra seu editor de texto favorito no Raspberry Pi e importe a biblioteca pyFirmata.
importar pyfirmata
Defina o pino no Arduino para conectar o LED
led_pin = 9
Agora, temos que escrever o nome da porta serial na qual a placa Arduino está conectada usando a função pyfirmata.Arduino () e então criar uma instância atribuindo a porta na variável da placa .
board = pyfirmata.Arduino ("/ dev / ttyACM0") print "Código em execução”
Em enquanto laço, fazer levou pino de alta e baixa usando board.digital.write () função e demora, utilizando board.pass_time () função.
enquanto Verdadeiro: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Nosso código está pronto, salve este código colocando a extensão .py no nome do arquivo.
Abra o terminal de comando e digite python blink.py para executar o código na placa Arduino. Certifique-se de que sua placa Arduino esteja conectada à placa Raspberry Pi usando um cabo USB.
Agora, você pode ver o LED piscando na placa Arduino.
O código completo para LED piscando usando pyFirmata é fornecido no final.
Fading LED no Arduino usando pyFirmata
Agora, escreveremos o código para atenuar o LED para torná-lo mais familiarizado com as funções pyFirmata. Este código é tão fácil quanto o anterior. Você deve usar dois loops for , um para aumentar o brilho e outro para diminuir o brilho.
Neste código, definimos os pinos de maneira diferente, como led = board.get_pin ('d: 9: p'), onde d significa pino digital . Esta é uma função da biblioteca pyFirmata. Leia a documentação para mais detalhes.
O código completo para LED com desvanecimento usando pyFirmata é fornecido no final.
Agora, você pode adicionar mais sensores ao seu sistema e torná-lo mais legal, verifique nossos outros projetos do Arduino e tente construí-los usando Raspberry pi e script python.