Bahasa pemrograman yang didukung untuk program Arduino?

17

Saya ingin mulai bermain dengan Arduino.

Saya telah membaca bahwa C dan C ++ adalah bahasa resmi tetapi saya juga menemukan cara lain untuk berkomunikasi menggunakan Python atau Java misalnya.

Bahasa pemrograman mana yang didukung untuk memprogram Arduino?
Apakah ada batasan menggunakan Python atau Java?

systempuntoout
sumber
Untuk pertanyaan tentang pemrograman Arduino, silakan lihat papan StackExchange yang didedikasikan untuk Arduino .
Nick Alexeev

Jawaban:

14

Saran saya, tetap menggunakan bahasa Arduino C ++ yang diturunkan atau gunakan C / C ++ mentah. Ini cocok untuk mikrokontroler. Tapi, jika Anda suka bahasa esoterik:

Toby Jaffey
sumber
Saya telah membaca bahwa ketika Anda membeli perisai, biasanya dikirim dengan pustaka C yang digunakan untuk menghubungkannya dengan program arduino. Bisakah perpustakaan ini diimpor juga dalam bahasa-bahasa esoterik yang diusulkan itu?
systempuntoout
4
Dengan beberapa pekerjaan porting, ya. Untuk bahasa yang ditafsirkan, Anda dapat memindahkan driver perisai ke juru bahasa dan menambahkan panggilan. Untuk bahasa yang dikompilasi, Anda bisa menambahkan driver perisai ke runtime.
Toby Jaffey
8

Anda dapat menggunakan bahasa yang Anda rasa lebih nyaman, maka Anda dapat mencari cara untuk mengkompilasi dalam mesin kode Arduino. Misalnya saya menggunakan Go Lang dan saya menggunakan gobot.io untuk membuatnya berfungsi ...

Ada Cylon.js jika Anda ingin memprogram dalam JavaScript atau Artoo untuk pengembang Ruby.

Sebenarnya C adalah yang paling umum karena IDE arduino bekerja dengannya.

Careuno Merchan
sumber
Tidak, C ++ adalah yang paling umum.
Ignacio Vazquez-Abrams
yang paling umum adalah C.
Careuno Merchan
Ini terlihat seperti C, tetapi ini benar-benar bagian dari C ++. Sebagai demonstrasi, coba gunakan __flashdalam sketsa Arduino. Ini tidak akan berfungsi karena Arduino IDE menggunakan kompiler C ++, sedangkan program serupa yang menggunakan kompiler C akan dikompilasi dengan benar.
Ignacio Vazquez-Abrams
1

Anda agak bingung. Saya akan tetap dengan lingkungan c / c ++ arduino untuk arduino. Java, Python, Processing digunakan pada pc untuk menjalankan komunikasi dengan Arduino, mereka bukan lagu untuk Arduino. Satu batasan bagi mereka adalah bahwa mereka tidak berlari di Arduino.

russ_hensel
sumber
8
Saya pikir mungkin Anda yang bingung. Arduino tidak menjalankan kode yang ditafsirkan, itu dikompilasi. Kode dapat dikompilasi dari bahasa tingkat tinggi yang memiliki kompiler untuk perangkat keras.
brianary
Saya kedua @ brianary, jawaban ini salah dan harus tidak diterima untuk menghindari pembaca yang membingungkan. Mikrokontroler menjalankan kode yang dikompilasi seperti mikroprosesor, bahasa tingkat tinggi apa pun dapat digunakan jika seseorang mengambil kesulitan membuat kompiler untuk platform Anda. Beberapa bahasa seperti Java dan python tidak perlu dikompilasi dan mungkin memerlukan penerjemah, tetapi sebagai program standar seseorang mungkin telah membuat satu untuk platform Anda.
Tuan Mystère
Siapa bilang arduino menjalankan kode juru bahasa. Tentu saja Arduino dapat menjalankan bahasa apa pun yang ada untuk kompiler, tetapi ia dapat menginterpretasikan kode apa pun yang mengganggu seseorang untuk menulis penerjemah. Saya belum meneliti ini. Saya hanya merekomendasikan tetap dengan lingkungan c / c ++ standar, dan mencatat bahwa dengan komunikasi pc bisa menjalankan "bahasa pc".
russ_hensel
"Jika seseorang mengambil kesulitan membuat kompiler untuk platform Anda". jawaban kuncinya. Sayangnya lingkungan Arduino adalah C / C ++
Gabe Nemeth