เป็นไปได้ไหมที่จะตั้งโปรแกรม Arduino ในภาษาอื่น?


11

เป็นไปได้ไหมที่จะตั้งโปรแกรม Arduino ด้วยภาษาอื่นที่ไม่ได้ใช้ C / C ++? สิ่งที่จะต้องทำเช่นนั้น? ฉันรู้ว่ามี IDE อื่น ๆ ฉันอยากรู้เกี่ยวกับภาษาการเขียนโปรแกรมจริงเช่นความสามารถในการเขียนรหัส Arduino ใน Python เป็นตัวอย่าง


ฉันได้แก้ไขคำถามเพื่อชี้แจงว่าฉันกำลังพูดถึงภาษาไม่ใช่ IDE
nathangiesbrecht

2
ถ้า C # คือสิ่งที่คุณต้องการลองดู Netduino
Kevin Mark

1
@KevinMark มีปัญหาเล็กน้อยที่เขาอาจจะไม่สามารถใช้ Netduino ได้ (เช่นต้องการเพิ่มพอร์ตของ Mega เช่น)
ขั้วโลก

@Polar ฉันเชื่อว่า Netduino Go มีตัวเลือกการเชื่อมต่อเพิ่มเติม
Kevin Mark

1
@powtac String เป็น Arduino เฉพาะหรือไม่ ผมสงสัยว่าทำไมฉันมีจำนวนมากดังนั้นในรหัสของฉันแล้ว ...
Polar

คำตอบ:


5

แน่นอนว่าเป็นไปได้ที่จะใช้ภาษาทางเลือกสำหรับการพัฒนาด้วย Arduino ไม่จำเป็นต้องใช้ IDE มาตรฐาน นี่คือในตอนท้ายของวันรหัส C / C ++ ถูกประกอบเป็นรหัสไบต์สำหรับ AT-chip บนบอร์ด Arduino ภาษาหนึ่งที่คุณสามารถใช้ได้คือCéuซึ่งเป็น C / C ++ เวอร์ชันระดับสูงกว่า ปัญหาหลักที่คุณจะต้องค้นหาคอมไพเลอร์สำหรับภาษาที่คุณเลือก - ในตอนท้ายของวันคุณสามารถเขียนของคุณเอง - อย่างไรก็ตามสิ่งนี้ต้องใช้ความรู้อย่างลึกซึ้งของ C / C ++ ต่อไป ดังนั้นจึงควรติดกับ C / C ++ อย่างน้อยก็ในขณะนี้

แก้ไข: คุณได้ rephrased คำถามของคุณเล็กน้อยดังนั้นใช่มันเป็นไปได้ที่จะตั้งโปรแกรม Arduino ของคุณใน Python (ภาษาที่เลือกไม่ดีแม้ว่าจะเป็นเพียงความคิดเห็นของฉัน) แต่คุณต้องการ IDE / คอมไพเลอร์ที่กำหนดเองที่แตกต่างกันด้วยเหตุผล ข้างบน. นอกจากนี้คุณจะต้องระมัดระวังเมื่อเชื่อมโยงไลบรารีที่เขียนด้วยภาษาอื่นสำหรับ Arduino (เนื่องจากเป็น C / C ++ ทั้งหมด)


มันเป็นไปไม่ได้เลยที่จะรัน python บน arduino (ยกเว้น Arduino Mega, anyways) โครงการpython-on-a-chipทำงานบน python runtime ขนาดกะทัดรัดและต้องการ SRAM อย่างน้อย ~ 8KB
คอนเนอร์ Wolf

1
Python นั้นจริงๆแล้วไม่เหมาะกับสภาพแวดล้อมขนาดเล็กและมีข้อ จำกัด ด้านหน่วยความจำ
Connor Wolf

2
@ConnorWolf สองจุด: 1) การใช้งาน Python ของฉันเป็นตัวอย่างเหมือนในคำถาม - ฉันไม่ชอบ Python อย่างไรก็ตาม 2) ในทางทฤษฎีคุณสามารถแปลง Python เป็น C จากนั้นคุณจะหลีกเลี่ยงความต้องการ Python runtime ที่ด้านบนของ bootloader
ขั้วโลก

1

ดูเหมือนว่ามี ในปัจจุบันไม่มีวิธีใดที่จะเขียนรหัส Arduino ได้อย่างง่ายดายในทุกอย่างยกเว้นแอสเซมบลี / C / C ++ (และCéuตามที่ระบุไว้ในคำตอบของโพลาร์ - แม้ว่านี่จะเพิ่งแปลเป็น C ++) มีหลายภาษาที่คุณสามารถสื่อสารกับ arduinoได้

อย่างไรก็ตามในทางทฤษฎีมันเป็นไปไม่ได้ คุณเพียงแค่ต้องเขียนคอมไพเลอร์สำหรับชิปและกำหนดฟังก์ชั่นในตัวจากนั้นส่งรหัสที่คอมไพล์ผ่านพอร์ตอนุกรม หรือคุณสามารถเขียนนักแปล python-to-c ++ และใช้งานมันได้

หากคุณมีใจชอบสำหรับ NET คุณอาจต้องการที่จะตรวจสอบNetduino ดูเหมือนว่าจะเป็นสภาพแวดล้อมรันไทม์ Java สำหรับ AVR เช่นกันเรียกว่าNanoVM นอกจากนี้ยังมีdk-basicสำหรับ BASIC ฉันไม่ได้ลองสิ่งเหล่านี้เลย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.