Eu não sou muito habilidoso com a linguagem C e queria saber se existe uma maneira pela qual o python possa ser usado para programar um Arduino. Provavelmente, isso exigiria um IDE diferente para poder depurar os scripts eles mesmos.
programming
python
JVarhol
fonte
fonte
Respostas:
Vai ser extremamente difícil fazer com que qualquer tipo de script Python seja executado diretamente no Arduino. O motivo é que é uma linguagem interpretada; portanto, você precisará do intérprete a bordo, além do script de texto sem formatação. Provavelmente não haverá memória suficiente para tudo isso.
Sua melhor aposta provavelmente seria encontrar uma maneira de compilar um script Python para código de máquina nativo (que é como o C / C ++ funciona). Acredito que existem projetos para fazer algo assim em outras plataformas, mas (até onde eu sei) nenhum que faça isso com sucesso no Arduino ainda.
Você pode encontrar informações mais úteis sobre esta questão no Stack Overflow: Existe uma maneira de "compilar" o código Python em um Arduino (Uno) .
fonte
Sim, é (um pouco) possível programar o Arduino usando Python. Um desses projetos no Github é a API de prototipagem do Python Arduino v2 . Ele fornece funcionalidades muito básicas, como E / S digital e E / S analógica.
Isso pode ser usado para projetos muito simples.
* Este projeto é um pouco complicado em "programar" a placa usando a conexão serial. Ele passa os comandos pela conexão serial para um esboço em execução no quadro que "executa" o comando Python.
fonte
Há um projeto que traz uma máquina virtual Python para microcontroladores, incluindo o Arduino Mega .
Aqui está uma citação do Ardunio Mega README , que dá uma idéia de como isso poderia ser (no entanto, eu não testei isso!):
fonte
Eu usei pyserial com grande sucesso no controle dos pinos no arduino. Sua estação de trabalho (laptop, etc) executa um script python que se comunica em tempo real com o arduino.
Não é o mesmo que executar o script diretamente no arduino, mas eu estava fazendo um pouco mais do que eu pensava que o arduino poderia suportar (algumas análises de música, bater em uma API REST, etc.).
fonte
Outra opção a considerar é o Arduino Yun . Além do chip AVR que a maioria dos Arduinos possui, ele também inclui um chip MIPS executando Linux. Como é linux, você pode executar facilmente o código python, e qualquer pacote python puro pode ser facilmente instalado.
No entanto, toda a interessante capacidade de entrada / saída está no chip AVR, não no chip MIPS. Projetos como Autobahn e LininoIO resolvem esse problema executando um programa especial no chip AVR que executa operações de E / S sob instruções do chip MIPS.
fonte
Sabemos que esse é um problema em aberto na programação do Arduino e no mundo incorporado em geral. Existem várias soluções disponíveis no mercado, como o MicroPython, mas a maioria delas é dedicada a placas específicas e não permite manter o sistema em tempo real. Estamos trabalhando em uma solução! O VIPER é uma máquina virtual Python para Arduino DUE e todas as arquiteturas ARM de 32 bits que são executadas em cima de um sistema operacional em tempo real. Isso significa que você pode desenvolver scripts Python que podem ser executados pelo Arduino DUE, UDOO, Spark (todas as placas) e também nas novas placas do núcleo ST. Além disso, se você precisar de alto desempenho e tiver experiência em C, poderá desenvolver módulos em tempo real para VIPER que podem ser chamados e gerenciados pelos scripts Python.
Você pode ver o VIPER em ação aqui http://bit.ly/kickviper
fonte
Você pode aprender com C (AVR) como os sensores funcionam, mas isso requer muito mais tempo. O código IDE do Arduino e o código Python para Arduino usam as funções do código C para simplificar as coisas. O Python e o Arduino IDE, se usam o Firmata, usam a comunicação serial e você pensa que codifica a si próprio.
fonte
Sim. O Python pode ser usado para programar um Arduino, simplesmente importando pyfirmata, que pode fazer a interface do arduino com o Python.
fonte
Receio que o IDE do Arduino não use a linguagem C / C ++. É derivado do Processing IDE e possui uma sintaxe bastante semelhante a C / Java.
fonte