Apakah mungkin memprogram Arduino dalam bahasa lain?

11

Apakah mungkin untuk memprogram Arduino dengan bahasa lain yang tidak berbasis C / C ++? Apa yang diperlukan untuk melakukannya? Saya tahu bahwa IDE lain tersedia, saya ingin tahu tentang bahasa pemrograman yang sebenarnya, seperti bisa memberi kode Arduino dengan Python, sebagai contoh.

nathangiesbrecht
sumber
Saya telah mengedit pertanyaan untuk menjelaskan bahwa saya sedang berbicara tentang bahasa, bukan IDE.
nathangiesbrecht
2
Jika C # adalah urusan Anda, periksa Netduino.
Kevin Mark
1
@KevinMark Ada sedikit masalah bahwa ia mungkin tidak dapat menggunakan Netduino (membutuhkan port tambahan dari Mega, misalnya).
Polar
@Polar Saya yakin Netduino Go memiliki opsi konektivitas tambahan.
Kevin Mark
1
String @powtac spesifik untuk Arduino? Saya heran mengapa saya memiliki begitu banyak kode saya ...
Kutub

Jawaban:

5

Sangat mungkin untuk menggunakan bahasa alternatif untuk pengembangan dengan Arduino, hanya saja tidak perlu menggunakan IDE standar. Ini adalah, pada akhirnya, kode C / C ++ dirakit menjadi kode byte untuk AT-chip pada board Arduino. Satu bahasa yang bisa Anda gunakan adalah Céu , versi C / C ++ tingkat tinggi. Masalah utama yang Anda miliki adalah menemukan kompiler untuk bahasa pilihan Anda - pada akhirnya, Anda bisa menulis sendiri - namun, ini membutuhkan pengetahuan yang mendalam tentang C / C ++. Oleh karena itu, mungkin yang terbaik adalah tetap menggunakan C / C ++, setidaknya untuk saat ini.

EDIT: Anda sedikit mengulangi pertanyaan Anda, jadi ya, mungkin untuk memprogram Arduino Anda dengan Python (pilihan bahasa yang buruk, meskipun itu hanya pendapat saya), tetapi Anda akan memerlukan IDE / kompiler khusus yang berbeda untuk alasan itu atas. Juga, Anda harus berhati-hati ketika menghubungkan perpustakaan yang ditulis dalam bahasa yang berbeda untuk Arduino (karena semuanya C / C ++).

Kutub
sumber
Benar-benar tidak mungkin untuk menjalankan python di Arduino (kecuali Arduino Mega, anyways). Proyek python-on-a-chip sedang mengerjakan runtime python yang ringkas, dan membutuhkan setidaknya ~ 8KB dari SRAM.
Connor Wolf
1
Python benar- benar tidak cocok untuk lingkungan kecil yang dibatasi oleh memori.
Connor Wolf
2
@ConnorWolf Dua poin: 1) Penggunaan saya atas Python sebagai contoh adalah seperti dalam pertanyaan - Saya tidak suka Python. 2) Secara teoritis, Anda dapat mengubah Python menjadi C dan kemudian Anda akan menghindari perlunya runtime Python di atas bootloader.
Polar
1

Sepertinya saat ini tidak ada cara untuk dengan mudah kode Arduino dalam apa pun selain Majelis / C / C ++ (dan Céu seperti yang disebutkan dalam jawaban Polar - meskipun ini baru saja diterjemahkan ke dalam C ++). Ada banyak bahasa tempat Anda bisa berkomunikasi dengan Arduino .

Namun, secara teori bukan tidak mungkin. Anda hanya perlu menulis kompiler untuk chip dan menentukan fungsi-fungsi bawaan, dan kemudian mengirimkan kode yang dikompilasi melalui port serial. Atau Anda dapat menulis penerjemah python-ke-c ++ dan membuatnya berfungsi.

Jika Anda memiliki kecenderungan untuk .NET, Anda mungkin ingin memeriksa Netduino . Tampaknya ada lingkungan Java runtime untuk AVR juga, yang disebut NanoVM . Ada juga dk-basic untuk BASIC. Saya belum mencoba semua ini.

Manishearth
sumber