È possibile programmare un Arduino in altre lingue?


11

È possibile programmare un Arduino con altre lingue che non sono basate su C / C ++? Cosa sarebbe richiesto per farlo? So che sono disponibili altri IDE, sono curioso di conoscere i veri linguaggi di programmazione, come essere in grado di codificare Arduino in Python, come esempio.


Ho modificato la domanda per chiarire che sto parlando di lingue, non dell'IDE.
nathangiesbrecht,

2
Se C # fa per te, dai un'occhiata a Netduino.
Kevin Mark,

1
@KevinMark C'è il leggero problema che potrebbe non essere in grado di utilizzare un Netduino (ad esempio, ha bisogno delle porte aggiunte di un Mega).
Polar

@Polar Credo che Netduino Go abbia opzioni di connettività aggiuntive.
Kevin Mark,

1
@powtac String è specifico per Arduino? Mi chiedo perché ne ho così tanti nel mio codice allora ...
Polar

Risposte:


5

È sicuramente possibile utilizzare lingue alternative per lo sviluppo con Arduino, semplicemente non necessariamente utilizzando l'IDE standard. Questo è come, alla fine della giornata, il codice C / C ++ è assemblato in codice byte per il chip AT sulla scheda Arduino. Una lingua che potresti usare è Céu , una versione di livello superiore di C / C ++. Il problema principale che avrai è trovare un compilatore per la tua lingua preferita - alla fine, potresti scriverne uno tuo - tuttavia, ciò richiede comunque una conoscenza intima del C / C ++. Pertanto, è probabilmente meglio attenersi a C / C ++, almeno per il momento.

EDIT: hai leggermente riformulato la tua domanda, quindi sì, sarebbe possibile programmare il tuo Arduino in Python (scarsa scelta della lingua, anche se questa è solo la mia opinione), ma avresti bisogno di un IDE diverso / un compilatore personalizzato per i motivi sopra. Inoltre, dovresti fare attenzione quando colleghi librerie scritte in una lingua diversa per Arduino (poiché sono tutte C / C ++).


In realtà non è possibile eseguire Python su Arduino (tranne Arduino Mega, comunque). Il progetto python-on-a-chip sta lavorando su un runtime python compatto e necessita di almeno ~ 8 KB di SRAM.
Connor Wolf,

1
Python è davvero, davvero non adatto per i piccoli ambienti, con memoria limitata.
Connor Wolf,

2
@ConnorWolf Due punti: 1) Il mio uso di Python come esempio era com'era nella domanda - non mi piace comunque Python. 2) Teoricamente, potresti convertire Python in C e quindi evitare la necessità di un runtime Python sopra il bootloader.
Polar

1

Sembra che al momento non ci sia modo di codificare facilmente un Arduino in tutto tranne che in Assembly / C / C ++ (e Céu come menzionato nella risposta di Polar - sebbene questo sia appena tradotto in C ++). Tuttavia, ci sono molte lingue da cui è possibile comunicare con Arduino .

Tuttavia, in teoria non è impossibile. Devi solo scrivere un compilatore per il chip e definire le funzioni integrate, quindi trasmettere il codice compilato tramite la porta seriale. Oppure puoi scrivere un traduttore da python a c ++ e farlo funzionare.

Se hai un debole per .NET, potresti voler dare un'occhiata a Netduino . Sembra che ci sia un ambiente di runtime Java anche per l'AVR, chiamato NanoVM . C'è anche dk-basic per BASIC. Non ho provato nessuno di questi, però.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.