Arduino'yu başka dillerde programlamak mümkün mü?


11

Arduino'yu C / C ++ tabanlı olmayan diğer dillerle programlamak mümkün müdür? Bunu yapmak için ne gerekir? Diğer IDE'lerin mevcut olduğunu biliyorum, örnek olarak Python'daki Arduino'yu kodlayabilmek gibi gerçek programlama dillerini merak ediyorum.


IDE'den değil dillerden bahsettiğimi açıklığa kavuşturmak için soruyu düzenledim.
nathangiesbrecht

2
C # sizin ise, Netduino'ya bakın.
Kevin Mark

1
@KevinMark Bir Netduino kullanamayacağı konusunda ufak bir sorun var (örneğin bir Mega'nın ek portlarına ihtiyaç duyuyor).
Polar

@Polar Netduino Go'nun ek bağlantı seçenekleri olduğuna inanıyorum.
Kevin Mark

1
@powtac: String Arduino'ya özgü mü? Acaba neden kodumda bu kadar çok var ...
Polar

Yanıtlar:


5

Standart IDE'yi kullanmak zorunda değilsiniz, Arduino ile geliştirme için alternatif diller kullanmak kesinlikle mümkündür. Günün sonunda, C / C ++ kodu Arduino kartındaki AT çipi için bayt koduna monte edilir. Kullanabileceğiniz bir dil , C / C ++ 'nın daha üst düzey bir versiyonu olan Céu . Sahip olacağınız ana sorun, seçtiğiniz dil için bir derleyici bulmaktır - günün sonunda kendiniz yazabilirsiniz - ancak, bu zaten C / C ++ 'nın samimi bir şekilde bildirilmesini gerektirir. Bu nedenle, muhtemelen en azından şimdilik C / C ++ 'a bağlı kalmak en iyisidir.

DÜZENLEME: Sorunuzu biraz yeniden ifade ettiniz, bu yüzden evet, Arduino'nuzu Python'da programlamak mümkün olurdu (zayıf dil seçimi, ancak bu sadece benim fikrim), ancak nedenlerden dolayı farklı bir IDE / özel derleyiciye ihtiyacınız olacak yukarıda. Ayrıca, Arduino için farklı bir dilde yazılmış kütüphaneleri bağlarken dikkatli olmanız gerekir (hepsi C / C ++ olduğu için).


Arduino'da python çalıştırmak gerçekten mümkün değildir (Arduino Mega hariç). Piton-on-a-chip projesi kompakt piton çalışma zamanı üzerinde çalışıyor ve bu SRAM ~ en azından 8KB gerekiyor.
Connor Wolf

1
Python, küçük, bellek kısıtlı ortamlar için gerçekten uygun değildir.
Connor Wolf

2
@ConnorWolf İki nokta: 1) Python'u örnek olarak kullanmam, söz konusu sorudaki gibi oldu - ben yine de Python'dan hoşlanmıyorum. 2) Teorik olarak, Python'u C'ye dönüştürebilir ve ardından önyükleyicinin üstünde bir Python çalışma zamanı gereksiniminden kaçınabilirsiniz .
Polar

1

Şu anda bir Arduino'yu Assembly / C / C ++ (ve Polar'ın cevabında belirtildiği gibi Céu'dan başka bir şeyde kolayca kodlamanın bir yolu yok gibi görünüyor - ancak bu sadece C ++ 'a çevrilmiş olsa da). Yine de , arduino ile iletişim kurabileceğiniz birçok dil var .

Ancak, teoride imkansız değildir. Sadece çip için bir derleyici yazmanız ve yerleşik işlevleri tanımlamanız ve ardından derlenen kodu seri bağlantı noktası üzerinden iletmeniz gerekir. Veya bir python-c-++ çevirmeni yazabilir ve çalıştırabilirsiniz.

.NET için bir tutkunuz varsa, Netduino'ya göz atmak isteyebilirsiniz . NanoVM adı verilen AVR için de bir Java çalışma zamanı ortamı var gibi görünüyor . BASIC için de dk-basic var . Yine de bunlardan hiçbirini denemedim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.