Чи можливо запрограмувати Arduino іншими мовами?


11

Чи можливо запрограмувати Arduino на інших мовах, які не базуються на C / C ++? Що потрібно для цього? Я знаю, що інші IDE доступні, мені цікаво фактичні мови програмування, як, наприклад, можливість кодувати Arduino в Python, як приклад.


Я відредагував питання, щоб уточнити, що я кажу про мови, а не про IDE.
nathangiesbrecht

2
Якщо C # - це ваша річ, перевірте Netduino.
Кевін Марк

1
@KevinMark Існує невелика проблема, що він може не мати можливості використовувати Netduino (потрібні, наприклад, додаткові порти Меги).
Полярний

@Polar Я вважаю, що Netduino Go має додаткові можливості підключення.
Кевін Марк

1
@powtac Рядок специфічний для Arduino? Цікаво, чому у мене тоді так багато в коді ...
Полярний

Відповіді:


5

Однозначно можна використовувати альтернативні мови для розробки з Arduino, просто не обов'язково використовуючи стандартний IDE. Це так, як наприкінці дня код C / C ++ збирається в байт-код для AT-чіпа на платі Arduino. Мовою, якою ви могли скористатися, є Céu , версія C / C ++ вищого рівня. Основне питання, яке у вас виникне, - це знайти компілятор на вашу мову вибору - наприкінці дня ви зможете написати свою власну - однак, для цього все-таки потрібне інтимне знання C / C ++. Тому, мабуть, найкраще дотримуватися C / C ++, принаймні поки що.

EDIT: Ви трохи перефразували своє запитання, так що так, можна було б запрограмувати Arduino на Python (поганий вибір мови, хоча це лише моя думка), але вам знадобиться інший IDE / спеціальний компілятор з причин вище. Крім того, вам слід бути обережними, пов'язуючи бібліотеки, написані на іншій мові для Arduino (оскільки вони всі C / C ++).


Це дійсно НЕ можливо запустити пітона на Arduino (крім Arduino Mega, в будь-якому випадку). Проект python-on-a-chip працює на компактному режимі виконання пітона, і йому потрібно щонайменше ~ 8 КБ SRAM.
Вонор Коннор

1
Python насправді, дійсно не підходить для невеликих середовищ, обмежених пам'яттю.
Коннор Вольф

2
@ConnorWolf Два моменти: 1) Моє використання Python як приклад було таким, як було в питанні - я все одно не люблю Python. 2) Теоретично ви можете перетворити Python в C, і тоді ви уникнете необхідності виконання Python у верхній частині завантажувача.
Полярний

1

Схоже, в даний час немає жодного способу легко зашифрувати Arduino нічим, крім Assembly / C / C ++ (і Сеу, як згадується у відповіді Поляра - хоча це просто перекладено на C ++). Однак існує багато мов, на яких можна спілкуватися з ардуїно .

Однак теоретично це неможливо. Вам просто потрібно написати компілятор для мікросхеми і визначити вбудовані функції, а потім передати скомпільований код через послідовний порт. Або ви можете написати перекладача python-to-c ++ і примусити його працювати.

Якщо у вас є схильність до .NET, ви можете перевірити Netduino . Здається, середовище виконання Java для AVR також називається NanoVM . Існує також dk-basic для BASIC. Я не пробував жодного з них, хоча.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.