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

Me gustaría empezar a jugar con Arduino.

He leído que C y C++ son los idiomas 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?

Si tiene preguntas sobre la programación de Arduino, consulte la placa StackExchange dedicada a Arduino .

Respuestas (3)

Mi consejo, siga con el lenguaje Arduino derivado de C ++ o use C / C ++ sin procesar. Es ideal para microcontroladores. Pero, si te gustan los lenguajes esotéricos:

He leído que cuando compra un escudo, generalmente se envía con una biblioteca C que se usa para interactuar con el programa arduino. ¿Se pueden importar estas bibliotecas también en esos lenguajes esotéricos propuestos?
Con algún 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.

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.

No, C++ es el más común.
el más común es C.
Parece C, pero en realidad es el subconjunto similar a C de C++ . Como demostración, intente usarlo __flashen un boceto de Arduino. No funcionará porque el IDE de Arduino usa un compilador de C++, mientras que un programa similar que use el compilador de C se compilará correctamente.

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

Creo que puedes ser tú el que 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.
Secundo a @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 necesariamente están compilados y pueden requerir un intérprete, pero como programa estándar, alguien puede haber creado uno para su plataforma.
¿Quién dijo que el arduino ejecuta el código del intérprete? Por supuesto, el arduino puede ejecutar cualquier idioma para el que haya un compilador, pero puede interpretar cualquier código para el que alguien se moleste en escribir un intérprete. No he investigado esto. Solo 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".
"si alguien se tomara la molestia de hacer un compilador para su plataforma". la respuesta clave. Desafortunadamente, el entorno de Arduino es C/C++