Quais linguagens de programação são suportadas para programar o Arduino?

17

Eu gostaria de começar a brincar com o Arduino.

Eu li que C e C ++ são as linguagens oficiais, mas também encontrei outra maneira de se comunicar usando Python ou Java, por exemplo.

Quais linguagens de programação são suportadas para programar o Arduino?
Existem limitações usando Python ou Java?

systempuntoout
fonte
Para perguntas sobre a programação do Arduino, consulte o quadro StackExchange dedicado ao Arduino .
Nick Alexeev

Respostas:

14

Meu conselho, fique com a linguagem Arduino derivada de C ++ ou use C / C ++ bruto. É ideal para microcontroladores. Mas, se você gosta de idiomas esotéricos:

Toby Jaffey
fonte
Eu li que quando você compra um escudo, ele geralmente é enviado com uma biblioteca C, usada para fazer a interface com o programa arduino. Essas bibliotecas também podem ser importadas nas linguagens esotéricas propostas?
Systempuntoout
4
Com algum trabalho de portabilidade, sim. Para idiomas interpretados, você pode portar o driver do escudo no intérprete e adicionar chamadas. Para um idioma compilado, você pode adicionar o driver do escudo ao tempo de execução.
Toby Jaffey
8

você pode usar o idioma que achar mais confortável e procurar uma maneira de compilar na máquina de código do arduino. Por exemplo, uso Go Lang e gobot.io para fazer isso funcionar ...

Existe o Cylon.js se você deseja programar em JavaScript ou Artoo para desenvolvedores Ruby.

Na verdade, C é o mais comum porque o IDE do arduino trabalha com ele.

Careuno Merchan
fonte
Não, C ++ é o mais comum.
Ignacio Vazquez-Abrams
o mais comum é C. #
Careuno Merchan 11/11
Ele olha como C, mas é realmente o subconjunto C-like de C ++. Como demonstração, tente usar __flashum esboço do Arduino. Não funcionará porque o IDE do Arduino usa um compilador C ++, enquanto um programa semelhante usando o compilador C será compilado corretamente.
Ignacio Vazquez-Abrams
1

Você está um pouco confuso. Eu ficaria com o ambiente c / c ++ arduino para o arduino. Java, Python, Processing são usados ​​no PC para executar comunicações com o arduino, não são linguagens para o arduino. Uma limitação para eles é que eles não rodam no arduino.

russ_hensel
fonte
8
Eu acho que pode ser você que está confuso. O arduino não executa código interpretado, é compilado. O código pode ser compilado a partir de qualquer linguagem de alto nível que tenha um compilador para o hardware.
Brianary
Segundo @brianary, esta resposta está errada e não deve ser aceita para evitar confundir os leitores. Os microcontroladores executam código compilado da mesma forma que os microprocessadores; qualquer linguagem de alto nível pode ser usada se alguém tiver o trabalho de criar um compilador para sua plataforma. Algumas linguagens como Java e python não são necessariamente compiladas e podem exigir um intérprete, mas como um programa padrão, alguém pode ter criado um para sua plataforma.
Mister Mystère
Quem disse que o arduino executa o código do intérprete. É claro que o arduino pode executar qualquer idioma para o qual haja um complemento, mas pode interpretar qualquer código que alguém se incomode ao escrever um intérprete para ele. Eu não pesquisei isso. Eu apenas recomendei manter o ambiente c / c ++ padrão e observei que, com as comunicações, o PC poderia executar uma "linguagem de PC".
#
"se alguém se deu ao trabalho de criar um compilador para sua plataforma". a resposta principal. Infelizmente, o ambiente do Arduino é C / C ++
Gabe Nemeth