คำถามติดแท็ก arduino-ide

สำหรับคำถามเกี่ยวกับ IDE อย่างเป็นทางการ IDE แบบโอเพนซอร์สช่วยให้เขียนโค้ดและอัปโหลดไปยังบอร์ด Arduino ได้อย่างง่ายดาย ทำงานบน Windows, Mac OS X และ Linux

20
IDEs อื่นสำหรับ Arduino คืออะไร
Arduino IDE พื้นฐานขาดความซับซ้อนมากมายที่มีอยู่ใน IDE อื่น ๆ เช่นการเติมโค้ดการยุบโค้ดการจัดระเบียบโฟลเดอร์ ฯลฯ มี IDE อื่น ๆ ที่อนุญาตการเขียนโปรแกรมใน C หรือ C ++ และปรับปรุงในด้านเหล่านี้หรือไม่?

9
C ++ กับภาษา Arduino?
อะไรคือข้อดีของแต่ละภาษาเมื่อใช้ Arduino? ฉันคิดว่านี่เป็นคำถามทั่วไปที่ดี แต่ฉันจะเพิ่มอีกเล็กน้อยเกี่ยวกับสาเหตุที่ฉันถามว่ามีใครต้องการให้คำแนะนำแก่ฉันหรือไม่ ฉันมีประสบการณ์ในภาษาที่ได้รับการประมวลผลล่วงหน้าเช่น JavaScript, PHP และเล่นซอกับภาษาอย่าง Java และ Visual Basic กล่าวอีกนัยหนึ่งฉันรู้เทคนิคการเขียนโปรแกรมและการวางแนววัตถุคลาสสิกและต้นแบบ แต่ไม่มีอะไรเกี่ยวกับการสื่อสารโดยตรงกับฮาร์ดแวร์ ฉันทำอ็อคโทคอปเตอร์และฉันคิดว่าวิธีการเชิงวัตถุจะง่ายที่สุด (ซอฟต์แวร์จะมีคุณสมบัติมากมาย ... ) แต่ฉันไม่เคยเขียนใน C ++ เนื่องจากนี่เป็นเว็บไซต์ถามตอบที่ควรช่วยเหลือผู้อื่นคำถามทั่วไปที่นำเสนอในตอนแรกจึงมีความสำคัญมาก แต่ฉันขอขอบคุณสำหรับความคิดเห็นใด ๆ เกี่ยวกับสถานการณ์ของฉัน
81 c++  arduino-ide 

3
ทำไมการเริ่มต้นมอนิเตอร์แบบอนุกรมเริ่มร่างใหม่
หากฉันอัปโหลดภาพร่างใด ๆ ที่ส่งข้อมูลอนุกรมฉันจะเห็นไฟแฟลช TX / RX ทันทีที่อัปโหลดภาพร่าง ถ้าฉันเริ่มการตรวจสอบแบบอนุกรมร่างจะปรากฏขึ้นเพื่อเริ่มต้นใหม่ ร่างขั้นต่ำเปลือยที่แสดงพฤติกรรมนี้: void setup() { Serial.begin(9600); Serial.println("Setup"); } void loop() { Serial.println("Loop"); delay(1000); } ทดสอบกับบอร์ดหลายรุ่นรวมถึง IDE และ Mac และ Windows ตัวอย่างผลลัพธ์ - มันกลับไปที่ "ตั้งค่า" เมื่อฉันเปิดมอนิเตอร์อนุกรม: ทำไมนี้

2
เหตุใดฉันจึงไม่สามารถประกาศคลาสในแท็บอื่นใน Arduino IDE ได้
ฉันต้องการย้ายโค้ดของฉันออกเป็นแท็บที่สองใน Arduino IDE เพื่อให้การจัดระเบียบดีขึ้น ตอนแรกฉันแค่ลองขยับฟังก์ชั่นเท่านั้นและมันก็ใช้ได้ดี ฉันสามารถเรียกใช้ฟังก์ชั่นจากsetup()ฟังก์ชั่นในแท็บหลักของฉันและไม่มีปัญหาในการรวบรวมหรืออัพโหลด อย่างไรก็ตามฉันพยายามใส่ทั้งคลาสลงในแท็บที่สองและทันใดนั้นมันก็ไม่ทำงานอีกต่อไป ตัวอย่างเช่น: แท็บ 1: TestClass obj; void setup() { obj.init(); } void loop() { //... } แท็บ 2: class TestClass { public: void init() { //... } }; เมื่อฉันพยายามรวบรวมสิ่งนี้มันทำให้ฉันมีข้อผิดพลาดดังต่อไปนี้: tab1:1: error: 'TestClass' does not name a type tab1.ino: In function 'void setup()': tab1:5: error: …

3
โปรแกรม Arduino จะทำงานเมื่อทำงานเป็นรูทเท่านั้น
การอัพโหลดภาพร่างอย่างง่ายดูเหมือนว่าจะทำงานเมื่อฉันเรียกใช้โปรแกรม Arduino ในฐานะรูท ( sudo) ฉันต้องการเรียกใช้ในฐานะผู้ใช้ทั่วไป มีใครประสบปัญหาเดียวกันก่อนและแก้ไขหรือไม่ นี่คือสิ่งที่ฉันได้รับจากlsusb: $ lsusb Bus 002 Device 022: ID 2341:0043 Arduino SA Uno R3 (CDC ACM) และระบุโปรแกรม Arduino /dev/ttyACM0เป็น นี่คือการอนุญาต: $ ls -l /dev/ttyACM0 crw-rw---T 1 root dialout 166, 0 Mar 14 22:03 /dev/ttyACM0 นี่คือผลลัพธ์จาก id groups=1000(abhiram),20(dialout),24(cdrom),25(floppy),29(audio), 30(dip),44(video),46(plugdev),105(scanner),110(bluetooth),112(netdev) เมื่อฉันอัปโหลดภาพร่างจากตัวอย่างในฐานะผู้ใช้ทั่วไปฉันพบข้อผิดพลาดนี้: avrdude:stk500_recv(): programmer not responding ข้อเสนอแนะใด …

5
การแปลงที่เลิกใช้แล้วจากค่าคงที่สตริงเป็น 'char *'
ข้อผิดพลาดนี้หมายความว่าอย่างไร ฉันไม่สามารถแก้ปัญหาในทางใดทางหนึ่ง คำเตือน: การแปลงที่ไม่สนับสนุนจากค่าคงที่สตริงเป็น 'char *' [-Wwrite-strings]

2
CLion + Arduino
โปรดช่วยฉันตั้งค่า Clion + Arduino Clion มีปลั๊กอิน Arduino ที่ฉันติดตั้ง นี่คือคำแนะนำบางอย่างเกี่ยวกับ Github แต่ฉันก็ไม่กังวลcmakeและสิ่งอื่น ๆ ที่พูดถึงในการเรียนการสอน ฉันใช้ Arduino IDE มาก่อนสำหรับโปรเจ็กต์ง่าย ๆ ตอนนี้ใน CLion ฉันสามารถสร้างโครงการ Arduino แต่การเติมข้อความอัตโนมัติไม่ทำงาน ใช้งานได้จริง แต่ใช้กับ C จริงไม่ใช่สำหรับรหัส Arduino ดังนั้นถ้าคุณสามารถอธิบายให้เหมือนคนงี่เง่าที่สมบูรณ์สิ่งที่ฉันควรเปลี่ยนเพื่อให้การเติมข้อความอัตโนมัติของ Arduino ทำงานได้

4
ตั้งโปรแกรม ATMega328P และใช้งานได้โดยไม่ต้องมีบอร์ด Arduino
ฉันต้องการใช้ ATMega328P สำหรับโครงการของฉันฉันหวังว่าจะทำโดยไม่มีบอร์ด Arduino ฉันรู้กับ Arduino IDE และบอร์ด Arduino ฉันสามารถเขียนโปรแกรมไมโครคอนโทรลเลอร์ อย่างไรก็ตามจะเป็นไปได้ไหมถ้าฉันได้ตั้งโปรแกรมและดีบั๊กโปรแกรมด้วยบอร์ด Arduino IDE + Arduino เพื่อถอดไมโครคอนโทรลเลอร์ออกจากบอร์ด Arduino และใช้ ATMega328P แยกกันโดยไม่มีบอร์ด ถ้าใช่การกำหนดค่าเพิ่มเติมที่ฉันควรทำคือ ATMega328P เพื่อทำงานอย่างถูกต้องบน breadboard?

1
Arduino IDE #ifdef
ฉันใช้ Arduino IDE ของฉันเพื่ออัปโหลดภาพร่างของฉันไปยัง Arduino หรือ ATTiny หรือ ATmega328 ดังที่คุณทราบว่าอุปกรณ์แต่ละเครื่องสามารถมี pinout ที่แตกต่างกัน คอมไพเลอร์ Arduino รองรับifdefหรือไม่ขึ้นอยู่กับบอร์ดที่ฉันเชื่อมต่ออยู่หรือไม่? ตัวอย่างเช่น #ifdef Attiny85 a=0; b=1; c=2; #else // arduino a=9; b=10; c=11; #endif

4
ESP8266 Arduino IDE เทียบกับ Lua
ฉันวางแผนที่จะซื้อ ESP8266 ฉันจำเป็นต้องเรียนรู้ Lua ให้เล่นด้วยจริงหรือไม่? ฉันเคยเห็นบางคนใช้กับ Arduino IDE มาตรฐาน คุณต้องการเฟิร์มแวร์ที่กำหนดเองเพื่อใช้ Arduino IDE แทน Lua หรือไม่? Arduino IDE นั้นดูดีกว่าสำหรับฉันเพราะฉันรู้จักไวยากรณ์แล้ว มีข้อเสียในการใช้ Arduino IDE แทน NodeMCU กับ Lua หรือไม่?

4
กำลังเขียนโปรแกรม C นอก Arduino IDE?
ฉันชอบความคิดในการใช้ Arduino IDE สำหรับโครงการที่เรียบง่ายและสำหรับการเริ่มต้นกับ Arduino แต่ฉันทามติที่ฉันได้รับมาจนถึงตอนนี้ก็คือสำหรับผู้ที่เพิ่งเริ่มใช้ Arduino และ / หรือการเขียนโปรแกรมทั่วไป ความเข้าใจของฉันคือมันเป็นไปได้ที่จะเขียนโปรแกรม C ตั้งแต่เริ่มต้นนอกเหนือจาก Arduino IDE อย่างสมบูรณ์แล้วใช้เครื่องมือเช่น AVRDUDE เพื่ออัปโหลดไปยัง Arduino MCU ตัวเลือกนี้แม้ว่าจะน่าสนใจและน่าสนใจทำให้ฉันมีข้อกังวลเล็กน้อย: ห้องสมุด Arduino ใดที่จะต้องนำเข้า / เชื่อมโยงโดยโปรแกรม "raw C" ดังกล่าว ฉันคิดว่าเมื่อโปรแกรมที่ใช้ Arduino IDE ดำเนินการdigitalWrite(...)มันเรียก C lib จริง ๆซึ่งอาจมาจาก Arduino ภายใต้ประทุน ฉันกังวลเกี่ยวกับการทำให้แน่ใจว่า "libs พื้นฐาน" เหล่านี้ทั้งหมดได้รวมอยู่ในโปรแกรม C ของฉัน คิด? มีอะไรอีกที่ "หายไป" จากการบินเดี่ยวและออกไปข้างนอก Arduino …
12 arduino-ide  library  c 

2
ทำไมไฟล์ '.ino` ต้องอยู่ในโฟลเดอร์ชื่อเดียวกัน?
ฉันพยายามจัดระเบียบโครงการที่ซับซ้อนมากและฉันต้องการวางโค้ดจริงทั้งหมดในโฟลเดอร์ชื่อsrc(ซอร์ส) แต่ฉันต้องการเก็บ.inoไฟล์หลักไว้เป็นmain.ino(มันจะอยู่ในsrc) จากนั้นเมื่อฉันพยายามที่จะเปิดรหัส IDE บอกว่าจะต้องมีในโฟลเดอร์ชื่อmain.inomain ทำไมนี้ ฉันเข้าใจข้อความแสดงข้อผิดพลาด แต่ทำไมการตั้งชื่อไฟล์ใน Arduino จึงเป็นเช่นนั้น มีวิธีในการเปลี่ยนแปลงหรือไม่?

1
ดูเหมือนว่าฉันไม่สามารถรับข้อมูลไปยัง ArduinoStudio บนจอมอนิเตอร์ Ubuntu ได้ที่ 14.04
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Arduino Stack Exchange ปิดให้บริการใน2 ปีที่ผ่านมา ฉันใช้ Arduino Starter Kit ดังนั้นฉันจึงมี Uno R3 และผ่านตัวอย่างที่ฉันพยายามอ่านข้อมูลอุณหภูมิจากคอนโทรลเลอร์ของฉันใน Arduino Studio ในสาระสำคัญปัญหาของฉันสามารถลดลงไป void setup() { Serial.begin(9600); } void loop() { Serial.print("stuff"); } ซึ่งฉันคาดว่าจะพิมพ์ "สิ่ง" บนหน้าจออนุกรมต่อไป (ในทางปฏิบัติผมทำงานนี้รหัสที่แน่นอน แต่ทั้งหมดอุณหภูมิอ่านไปในความรู้สึกที่ไม่เกี่ยวข้องกับปัญหาของฉันฉันเพียงแค่การกล่าวขวัญมันเพราะฉันสามารถสังเกตเห็นว่าไฟ LED Mye สว่างขึ้นเมื่ออุณหภูมิสูงขึ้นเพื่อให้ฉันรู้รหัสจะถูกอัปโหลด และทำงานบน Duo) ฉันไม่เห็นข้อผิดพลาดใด ๆ ในคอนโซลสตูดิโอและถ้าฉันเชื่อมต่อโดยใช้gtktermหรือscreenฉันสามารถดูข้อมูลที่ถูกส่งไปได้ ผมใช้ Ubuntu 14.04 และฉันได้เชื่อมต่อผ่าน USB /dev/ttyACM3บน …

2
ความแตกต่างระหว่าง / dev / ttyACM0 และ / dev / ttyS0 (พอร์ต Arduino IDE ภายใต้ Linux)
ฉันใช้ Arduino IDE เพื่ออัพโหลดภาพร่างไปยัง Arduino Uno ของฉัน ระบบปฏิบัติการของฉันคือ Linux Ubuntu 14.04 LTS Arduino IDE มีสองพอร์ตโดยค่าเริ่มต้นสำหรับการสื่อสารกับ Arduino Uno: /dev/ttyACM0 /dev/ttyS0 ความแตกต่างระหว่างสองพอร์ตเหล่านี้คืออะไร? "ACM0" และ "S0" หมายถึงอะไร มีไฟล์กำหนดค่าในโครงสร้างโฟลเดอร์ OS ที่อธิบายพารามิเตอร์ของพอร์ตเหล่านี้หรือไม่? ฉันรู้ว่าเมื่อฉันเลือก/dev/ttyACM0ฉันสามารถส่งข้อมูลไปยัง Arduino Uno ของฉันได้ /dev/ttyS0แต่มันไม่ทำงานเมื่อฉันเลือก ฉันแค่อยากเข้าใจว่าพอร์ตเหล่านี้คืออะไรกันแน่

4
พอร์ตอนุกรมที่เข้ากันได้ของ Arduino ไม่แสดง Mac OSX
ฉันซื้อบอร์ด Freaduino ที่เข้ากันได้กับ Arduino atmega8 (ฉันเลือกประเภทบอร์ดเป็น Arduino ng หรือ atmega8 ที่เก่ากว่า) ฉันติดตั้ง Arduino IDE บน Mac OS X และไดรเวอร์ FTDI แต่พอร์ตอนุกรมของฉันมีลักษณะเช่นนี้เมื่อฉันเชื่อมต่อบอร์ด: และเมื่อฉันพยายามอัปโหลดโปรแกรมนี่เป็นข้อผิดพลาดที่ฉันได้รับ: ใครสามารถบอกฉันว่าอะไรคือความผิดพลาด? ฉันไร้เดียงสา UPDATE : ปัญหาคือฉันไม่ได้ติดตั้งไดรเวอร์อย่างถูกต้อง (ฉันเดา) ฉันถอนการติดตั้งและติดตั้งใหม่และทำงานได้อย่างสมบูรณ์ ยังทำให้การสอน YouTube เกี่ยวกับการเดียวกัน http://youtu.be/BwatajQO_88
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.