Arduinoを他の言語でプログラミングすることは可能ですか?


11

C / C ++ベースではない他の言語でArduinoをプログラミングすることは可能ですか?そのためには何が必要ですか?他のIDEが利用可能であることは知っていますが、例として、PythonでArduinoをコーディングできるように、実際のプログラミング言語に興味があります。


IDEではなく言語について話していることを明確にするために、質問を編集しました。
nathangiesbrecht 2013

2
C#を使用する場合は、Netduinoをチェックしてください。
ケビンマーク

1
@KevinMark彼がNetduinoを使用できないかもしれないというわずかな問題があります(たとえば、Megaの追加ポートが必要です)。
ポーラー

@Polar Netduino Goには追加の接続オプションがあると思います。
ケビンマーク

1
@powtac文字列はArduino固有ですか?なぜ私は自分のコードにそれほど多くのものが含まれるのか不思議に思います
Polar

回答:


5

Arduinoでの開発に代替言語を使用することは間違いなく可能です。標準のIDEを使用する必要はありません。これは、結局のところ、C / C ++コードがArduinoボード上のATチップのバイトコードにアセンブルされるためです。使用できる言語の1つは、C / C ++の上位バージョンであるCéuです。あなたが持つ主な問題は、選択した言語のコンパイラを見つけることです-結局のところ、あなたはあなた自身のものを書くことができます-しかし、これにはとにかくC / C ++の親密な知識が必要です。したがって、少なくとも当面はC / C ++を使用するのがおそらく最善です。

編集:あなたは質問を少し言い換えたので、そうです、あなたのArduinoをPythonでプログラミングすることは可能です(言語の選択の誤り、それは私の意見ですが)が、理由のために別のIDE /カスタムコンパイラが必要になります上記。また、Arduino用に異なる言語で記述されたライブラリをリンクする場合は注意が必要です(すべてC / C ++であるため)。


ArduinoでPythonを実行することは実際には不可能です(とにかく、Arduino Megaを除きます)。パイソン・オン・チッププロジェクトは、コンパクトなPythonランタイムに取り組んでいる、それはSRAMの少なくとも〜8キロバイトを必要とします。
Connor Wolf

1
Pythonは、メモリ限られている小規模な環境には適していません。
Connor Wolf

2
@ConnorWolf 2つのポイント:1)例としてのPythonの使用は、問題のとおりでした-とにかくPythonが嫌いです。2)理論的には、PythonをCに変換し、ブートローダーのにPythonランタイムを置く必要をなくすことができます。
ポーラー

1

そこのように見えます、現在簡単にコード何でArduinoのが、アセンブリ/ C / C ++にどのような方法ではありません(とCEUポーラーの答えで述べたように-これはちょうど++ Cに変換されますが)。ただし、arduino通信できる言語はたくさんあります。

しかし、理論的には不可能ではありません。チップ用のコンパイラーを作成して組み込み関数を定義し、コンパイルされたコードをシリアルポート経由で送信するだけです。または、python-to-c ++トランスレータを記述して、それを動作させることもできます。

.NETが好きな方は、Netduinoをチェックしてみてください。NanoVMと呼ばれるAVR用のJavaランタイム環境もあるようです。BASIC用のdk-basicもあります。しかし、私はこれらのいずれも試していません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.