¿Qué lenguajes de programación son compatibles para programar Arduino?

17

Me gustaría comenzar a jugar con Arduino.

He leído que C y C ++ son los lenguajes oficiales, pero también he encontrado otra forma de comunicarme usando Python o Java, por ejemplo.

¿Qué lenguajes de programación son compatibles para programar Arduino?
¿Hay alguna limitación al usar Python o Java?

systemmpuntoout
fuente
Para preguntas sobre la programación de Arduino, consulte la placa StackExchange dedicada a Arduino .
Nick Alexeev

Respuestas:

14

Mi consejo, quédate con el lenguaje Arduino derivado de C ++ o usa C / C ++ sin formato. Es ideal para microcontroladores. Pero, si te gustan los idiomas esotéricos:

Toby Jaffey
fuente
He leído que cuando compra un escudo, generalmente se envía con una biblioteca C que se utiliza para interactuar con el programa arduino. ¿Se pueden importar estas bibliotecas también en esos idiomas esotéricos propuestos?
systempuntoout
44
Con algo de trabajo de portabilidad, sí. Para los idiomas interpretados, puede transferir el controlador del escudo al intérprete y agregar llamadas. Para un lenguaje compilado, puede agregar el controlador del escudo al tiempo de ejecución.
Toby Jaffey
8

puede usar el lenguaje que le resulte más cómodo, luego puede buscar una forma de compilar en la máquina de código arduino. Por ejemplo, uso Go Lang y uso gobot.io para hacerlo funcionar ...

Existe Cylon.js si desea programar en JavaScript o Artoo para desarrolladores de Ruby.

En realidad, C es el más común porque el IDE de arduino funciona con él.

Careuno Merchan
fuente
No, C ++ es el más común.
Ignacio Vazquez-Abrams
el más común es C.
Careuno Merchan
Se ve como C, pero en realidad es el subconjunto C-como de C ++. Como demostración, intente usar __flashen un boceto de Arduino. No funcionará porque el IDE de Arduino usa un compilador de C ++, mientras que un programa similar que usa el compilador de C se compilará correctamente.
Ignacio Vazquez-Abrams
1

Estás un poco confundido Me quedaría con el entorno c / c ++ arduino para el arduino. Java, Python, Processing se utilizan en la PC para ejecutar comunicaciones con el arduino, no son idiomas para el arduino. Una limitación para ellos es que no se ejecutan en el arduino.

russ_hensel
fuente
8
Creo que puede ser usted quien está confundido. El arduino no ejecuta código interpretado, está compilado. El código se puede compilar desde cualquier lenguaje de alto nivel que tenga un compilador para el hardware.
brianary
Segundo @brianary, esta respuesta es incorrecta y no debe aceptarse para evitar confundir a los lectores. Los microcontroladores ejecutan código compilado al igual que los microprocesadores, se puede usar cualquier lenguaje de alto nivel si alguien se tomó la molestia de crear un compilador para su plataforma. Algunos lenguajes como Java y Python no están necesariamente compilados y pueden requerir un intérprete, pero como programa estándar, alguien puede haber creado uno para su plataforma.
Señor Mystère
Quién dijo que el arduino ejecuta el código de intérprete. Por supuesto, el arduino puede ejecutar cualquier idioma para el que haya un compilador, pero puede interpretar cualquier código que alguien se moleste en escribir un intérprete para él. No he investigado esto. Simplemente recomendé seguir con el entorno estándar de c / c ++, y noté que con las comunicaciones la PC podría ejecutar un "lenguaje de PC".
russ_hensel
"si alguien se tomó la molestia de hacer un compilador para su plataforma". La respuesta clave. Desafortunadamente, el entorno Arduino es C / C ++
Gabe Nemeth