คำถามติดแท็ก programming

กระบวนการของการออกแบบและการเขียนซอร์สโค้ดเป็นส่วนหนึ่งของโปรแกรม (หรือร่าง) สำหรับ Arduino สำหรับคำถามเกี่ยวกับการอัปโหลดรหัสไปยังบอร์ด Arduino ให้ใช้แท็ก [อัพโหลด] แทน

3
วิธีการเขียนภาพร่างที่เข้ากันได้กับ makefile?
ฉันต้องการเขียนภาพร่างของฉันเพื่อให้ฉันสามารถสร้าง / อัปโหลดโดยใช้ Arduino IDE หรือเลือกที่จะใช้ GCC และ makefile ก็ได้ ฉันรู้เกี่ยวกับการรวมฟังก์ชั่นการประกาศที่ด้านบน แต่มีอะไรอีกที่ต้องทำเพื่อให้ร่างของฉันได้รับการพิจารณา C ++ ที่ถูกต้องโดยคอมไพเลอร์ของฉัน อัปเดต 1 การทำความเข้าใจกับสิ่งที่ Arduino IDE ทำกับไฟล์. iino และ. pde นั้นใช้ได้ แต่ไม่เกี่ยวข้องกับคำถามของฉันดังนั้นนี่จึงไม่ใช่สิ่งที่ซ้ำกัน สิ่งที่ฉันต้องการรู้คือ "ฉันจะเขียนโปรแกรมอย่างไรเพื่อให้ถือว่าถูกต้องทั้งโดย Arduino IDE และ g ++ makefile อย่างเป็นทางการ (?) มีอยู่ที่นี่อธิบายว่าต้องทำอย่างไรถ้าใช้ makefile แทน IDE: # The Arduino environment does preliminary processing on a sketch …

2
MCU ที่ 2 บน UNO R3 สามารถใช้สำหรับการจำลองคีย์บอร์ดหรือไม่?
ติดตามจากส่วนหัว ICSP ที่ 2 สำหรับ Arduino Uno R3 คืออะไร? ฉันสงสัยว่าสิ่งนี้จะถูกแฮ็กเพื่อประโยชน์ของเราได้อย่างไร ตัวอย่างเช่นสามารถเขียนเฟิร์มแวร์ใหม่เพื่อให้ UNO รับรู้เป็นอินพุตเมาส์ / คีย์บอร์ดได้หรือไม่? สิ่งนี้สามารถทำได้หลังจากกระบวนการโหลดเดอร์บูตและปล่อยให้กระบวนการอัปโหลดในชั้นเชิง? เมื่อพิจารณาจาก IO ที่ จำกัด ดูเหมือนว่าฟังก์ชั่นอาจจะถูก จำกัด นอกจากนี้ฉันไม่ทราบว่ามีพื้นที่โค้ดเท่าใด

3
วิธีการวัดการใช้พลังงานโดยรวมของบอร์ด arduino
ฉันมีโครงการที่ฉันกำลังทำงานอยู่ เราได้สร้างกำแพงสีเขียวซึ่งประกอบด้วยพืชบนผนัง ตอนนี้เรามีปั๊มอยู่ที่ด้านล่างซึ่งรดน้ำต้นไม้ทั้งหมด มีบอร์ด Arduino ซึ่งตัดสินใจเมื่อจะวางปั๊ม เปิดเครื่องเป็นแผงโซลาร์เซลล์และกังหันลม เราต้องการทราบว่าเราประหยัดพลังงานได้มากเพียงใดโดยใช้แผงโซลาร์และกังหัน คำถาม: ฉันจะวัดปริมาณพลังงานใน Wh ที่ใช้จาก 00h00 ในวันนั้นได้อย่างไร มีห้องสมุดหรือไม่? หรือไม่สามารถทำได้ด้วย Arduino ขอบคุณมาก. เพื่อเคลียร์บางสิ่ง ไม่ปั๊มไม่ได้รับการเติมเชื้อเพลิงโดยตรงจากขา Arduino เรากำลังใช้ตัวป้องกันมอเตอร์ ใช่มีการสะสมในวงจร พลังงานแสงอาทิตย์และพลังงานลมชาร์จแบตเตอรี่ซึ่งจะส่งผลต่อส่วนประกอบ ฉันต้องการทราบพลังงานทั้งหมดที่ใช้ไปไม่ใช่เฉพาะกับปั๊ม

3
การรักษาเวลาโดยใช้มิลลิวินาที Arduino ไม่ถูกต้องหรือไม่ถูกต้อง?
ฉันใช้ Arduino เพื่อบันทึกข้อมูลบางอย่าง ในร่าง Arduino ของฉันฉันยังใช้millis()ฟังก์ชั่นเพื่อให้ฉันสามารถติดตามเวลาที่แต่ละค่าที่ฉันวัดถูกนำมาใช้ อย่างไรก็ตามฉันสังเกตเห็นว่าเวลาไม่ถูกต้อง ตัวอย่างเช่น 30 วินาทีในชีวิตจริงเท่านั้นออกมาเป็น 10 วินาที (ทำขึ้นตัวอย่าง) ฉันถูกต้องหรือไม่ในการบอกว่าฟังก์ชั่นการหน่วงเวลา Arduino มีผลต่อการใช้เวลาอย่างต่อเนื่องmillis()หรือไม่? กล่าวอีกนัยหนึ่งสมมติว่าฉันมีความล่าช้า 50 มิลลิวินาทีนั่นหมายความว่าmillis()ฟังก์ชั่นจะหยุดในช่วงเวลานั้นเช่นกันจากนั้นจึงดำเนินการต่อไปเรื่อย ๆ ตลอดระยะเวลาของการเชื่อมต่อหรือไม่ ฉันสังเกตเห็นสิ่งนี้เมื่อฉันพยายามพล็อตข้อมูลบางส่วนและพบว่าความถี่ของยอดเขาในข้อมูลของฉันบ่อยเกินไปตามเวลาที่ผ่านไป ดังนั้นฉันต้องการทราบว่านั่นเป็นเหตุผลสำหรับการไม่ตรงตามกำหนดเวลานี้หรือไม่และถ้าเป็นเช่นนั้นฉันจะแก้ไขได้อย่างไรเพื่อให้สามารถเก็บเวลาแต่ละตัวอย่างได้ เพื่อให้บริบทนี่คือร่างของฉัน: #include <eHealth.h> unsigned long time; // The setup routine runs once when you press reset: void setup() { Serial.begin(9600); } // The loop routine runs over …

4
อะไรคือความแตกต่างระหว่างการประกาศตัวแปรภายนอกลูปและการประกาศสแตติกภายในลูป
นี่คือสองวิธีที่ฉันสามารถเก็บตัวแปรนอกลูป (หรือฟังก์ชันใด ๆ ) ก่อนอื่นฉันสามารถประกาศด้วยขอบเขตโกลบอลนอกลูป: void setup() { Serial.begin(9600); } int count = 0; void loop() { Serial.println(count); count++; delay(250); } ฉันยังสามารถประกาศว่ามันคงอยู่ในวง: void setup() { Serial.begin(9600); } void loop() { static int count = 0; Serial.println(count); count++; delay(250); } สิ่งนี้จะมีความแตกต่างอะไรบ้าง?

2
เหตุใดจึงมีเพียง 2 ไบต์เท่านั้น
เมื่อใช้ C / C ++ บนแพลตฟอร์มอื่น ๆintโดยทั่วไปจะเป็นประเภท 4 ไบต์ (หรือมากกว่านั้น) อย่างไรก็ตามบน Arduino มันมีเพียง 2 ไบต์ ทำไมถึงแตกต่าง มันส่งผลกระทบต่อประสิทธิภาพการทำงานหรือไม่ถ้าฉันใช้ 4 ไบต์longแทน

2
จะเกิดอะไรขึ้นเมื่อฉันใช้หมายเลขพินไม่ถูกต้อง
ที่เกี่ยวข้องกับ: จะเกิดอะไรขึ้นหากมีข้อผิดพลาดรันไทม์? คำถามนี้คล้ายกับคำถามข้างต้นอย่างไรก็ตามนี่เป็นสถานการณ์อื่น: int pin = 999; pinMode(pin, OUTPUT); digitalWrite(pin, HIGH); จะเกิดอะไรขึ้นในกรณีนี้? คอมไพเลอร์อาจจับได้ แต่ถ้าคุณใช้หมายเลขสุ่มไอดีจะจับมันได้หรือไม่

4
วิธีย่อขนาดร่างจริง ๆ
ฉันต้องการสร้างภาพร่างที่มีขนาดเล็กที่สุดเพื่อจุดประสงค์ในการทดสอบ ปัญหาคือเมื่อฉันรวบรวมร่าง BareMinimum (ด้วยการเซ็ตอัพและลูปที่ว่างเปล่า) ฉันได้ 466 ไบต์สำหรับ Uno และ 4,242 สำหรับ Leonardo มีวิธีการเขียนรหัสของคุณเองที่ไม่มีฟังก์ชั่นพิเศษใด ๆ (เช่น Timer0 สำหรับmillis()และdelay()) ฉันต้องการที่จะปิดการใช้งานฟังก์ชั่นแป้นพิมพ์ / เมาส์สำหรับ Leonardo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.