สารบัญ:
วีดีโอ: การส่งข้อมูลจาก Arduino ไปยัง Excel (และพล็อต): 3 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันได้ค้นหาวิธีที่ฉันสามารถพล็อตการอ่านเซ็นเซอร์ Arduino ของฉันได้แบบเรียลไทม์ ไม่เพียงแค่พล็อต แต่ยังแสดงและจัดเก็บข้อมูลสำหรับการทดลองและการแก้ไขเพิ่มเติม
วิธีแก้ปัญหาที่ง่ายที่สุดที่ฉันพบคือการใช้ excel แต่มีข้อแตกต่าง
โปรแกรมที่ไม่ต้องการ EXCEL เพื่อพล็อตข้อมูล สามารถพบได้ที่นี่
www.instructables.com/id/Plot-Live-Arduino-Data-and-Save-It-to-Excel/
นอกจากนี้ หากคุณพบว่าคำแนะนำนี้น่าสนใจ บางทีคุณอาจจะชอบอีกอันที่ฉันทำ (เกี่ยวกับการแสดงการอ่านเซ็นเซอร์ Arduino แบบสดบน Nokia 5110 LCD):
www.instructables.com/id/Arduinonokia-lcd-…
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
สำหรับสิ่งนี้คุณจะต้อง:
-Windows (ทดสอบบน xp)
-Arduino IDE
-Microsoft office (ทดสอบเมื่อ 2010)
-PLX-DAQ (ส่วนขยายสำหรับ excel)
-Arduino (ทดสอบกับ UNO แล้ว แต่บอร์ดไหนๆ ก็ใช้ได้)
ฉันคิดว่าคุณมี Arduino, Windows, Arduino IDE และ Excel แล้ว นี่คือลิงค์สำหรับดาวน์โหลด PLX-DAQ:
www.parallax.com/downloads/plx-daq
คุณต้องดาวน์โหลดและติดตั้งเท่านั้นจึงจะทำงานได้ดี หลังการติดตั้ง จะสร้างโฟลเดอร์ชื่อ PLX-DAQ บนเดสก์ท็อปของคุณโดยอัตโนมัติ ซึ่งคุณจะพบทางลัดชื่อ PLX-DAQ Spreadsheet
เมื่อคุณต้องการใช้ Arduino เพื่อส่งข้อมูลไปยัง excel เพียงแค่เปิดทางลัด
ขั้นตอนที่ 2: Arduino Part
เมื่อเราได้ดาวน์โหลดและติดตั้งทั้งหมดแล้ว มาเริ่มกันที่ส่วน Arduino กันเลย
นี่คือเทมเพลตพื้นฐานที่ฉันสร้างขึ้นซึ่งจะแสดงเวลาในคอลัมน์ A และการวัดเซ็นเซอร์ของคุณในคอลัมน์ B
แน่นอนว่านี่เป็นเพียงเทมเพลตพื้นฐาน ซึ่งค่อนข้างตรงไปตรงมา และคุณสามารถปรับแต่งให้เหมาะกับความต้องการของคุณได้
ฉันได้เพิ่มคำอธิบายในโค้ด Arduino เพื่อให้คุณ (และหลังจากที่ไม่ได้ใช้งานมาระยะหนึ่งแล้ว) รู้ว่าโค้ดส่วนใดทำหน้าที่อะไร
นี่คือภาพร่าง:
// เริ่มต้นในบรรทัดที่ 0 เสมอ และเขียนสิ่งที่เขียนถัดจาก LABEL
การตั้งค่าเป็นโมฆะ () {
Serial.begin(9600); // ยิ่งเลขมากยิ่งดี
Serial.println("CLEARDATA"); //ล้างข้อมูลที่เหลือจากโครงการก่อนหน้า
Serial.println("LABEL, Acolumn, Bcolumn, …"); // เขียน LABEL เสมอ ดังนั้น excel รู้ว่าสิ่งต่อไปคือชื่อของคอลัมน์ (แทนที่จะเป็น Acolumn คุณสามารถเขียน Time ได้ เป็นต้น)
Serial.println("RESETTIMER"); // รีเซ็ตตัวจับเวลาเป็น 0
}
วงเป็นโมฆะ () {
Serial.print("DATA, TIME, TIMER, "); // เขียนเวลาในคอลัมน์แรก A และเวลาตั้งแต่การวัดเริ่มต้นในคอลัมน์ B
Serial.print (Adata);
Serial.print(Bdata);
Serial.println(…); //อย่าลืมเพิ่ม println ให้กับคำสั่งสุดท้ายเพื่อให้รู้ว่าต้องเข้าไปในแถวถัดไปในการรันครั้งที่สอง
ล่าช้า (100); //เพิ่มการหน่วงเวลา
}
แน่นอนว่าถ้าคุณอัปโหลดรหัสนี้ รหัสจะไม่ทำงานด้วยตัวมันเอง!
คุณต้องเพิ่มสูตรสำหรับ Adata, Bdata และ …. เทมเพลตนี้ใช้สำหรับอ้างอิงเท่านั้น เพื่อให้คุณทราบวิธีใช้โปรแกรม เพียงเพิ่มฟังก์ชัน Serial.read() ตั้งชื่อว่า Adata, Bdata และ … และมันน่าจะใช้ได้
ขั้นตอนที่ 3: การส่งข้อมูลไปยัง Excel
แน่นอน PLX-DAQ มีฟังก์ชันมากกว่า ซึ่งคุณสามารถสำรวจได้ด้วยตัวเองโดยอ่านคำแนะนำในโฟลเดอร์ rar ที่คุณดาวน์โหลด
หากคุณต้องการให้ excel จัดทำกราฟข้อมูลของคุณ แต่ไม่ต้องกังวลใจที่จะอ่านคำแนะนำ นี่คือสิ่งที่คุณสามารถทำได้:
- ใช้รหัส (แก้ไข) จากคำสั่งของฉัน
- เชื่อมต่อ Arduino ของคุณตามปกติ
- ห้ามเปิด Serial MONITOR ใน Arduino IDE หากเปิดขึ้นมาจะไม่สามารถใช้งานกับ excel ได้
- เปิดทางลัดไปยังสเปรดชีต PLX-DAQ ของคุณ
-excel จะแจ้งว่า “แอปพลิเคชันนี้กำลังจะเริ่มต้น ActiveX…” เพียงคลิกตกลง
- หน้าต่างใหม่ที่ชื่อว่า Data Acquisition for Excel จะปรากฏขึ้น
- เลือกพอร์ต usb ที่ Arduino ของคุณเชื่อมต่ออยู่ (หากใช้งานไม่ได้ในตอนแรก ให้ไปที่รายการพอร์ต)
- ที่มันบอกว่า Baud เพียงเลือกหมายเลขที่คุณใส่ในรหัสของคุณที่ Serial.begin() ในกรณีของฉันที่จะเป็น 9600
-สร้างกราฟเปล่า
- เลือกคอลัมน์ข้อมูลที่คุณต้องการบนกราฟสำหรับแกน x และ y (วิธีการทำอาจแตกต่างกันเล็กน้อยขึ้นอยู่กับเวอร์ชันของ excel ของคุณ แต่ไม่ยากเกินไปที่จะเข้าใจ)
- คลิกรวบรวมข้อมูลบน PLX-DAX และควรเริ่มรวบรวมข้อมูล
-excel จะพล็อตข้อมูลเมื่อส่งจาก Arduino ไปยัง excel แบบเรียลไทม์
คุณสามารถเปลี่ยนลักษณะของกราฟได้ ทั้งนี้ขึ้นอยู่กับว่าคุณต้องการให้กราฟของคุณแม่นยำเพียงใด คุณสามารถตรวจสอบส่วนของกราฟได้อย่างใกล้ชิดโดยปิดการรวบรวมข้อมูล คลิกขวาที่แกน x หรือ y แล้วตั้งค่าให้เป็นเฟรมที่เล็กกว่า (ปกติจะตั้งเป็นอัตโนมัติ)
คุณยังสามารถคลิกขวาบนเส้นโค้งที่เชื่อมจุดต่างๆ บนแผนภูมิของคุณ แล้วเลือกสีและความหนาของเส้นโค้งได้อีกด้วย
นั่นเป็นเพียงพื้นฐาน ฉันหวังว่าฉันได้ช่วยคุณสองสามคนด้วยการเขียนสิ่งนี้ ฉันรู้ว่าต้องใช้เวลาพอสมควรในการค้นหาสิ่งนี้และทำให้มันใช้งานได้
ป.ล. หากคุณชอบคำแนะนำนี้บางทีคุณอาจชอบอีกอันที่ฉันทำ: