สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ต่อสายบอร์ดและมาตรความเร่ง
- ขั้นตอนที่ 2: โปรแกรม Flash ไปยัง Arduino Nano
- ขั้นตอนที่ 3: ติดตั้ง Java Runtime Environment เพื่อเรียกใช้แอปพลิเคชันไคลเอนต์บนพีซี
- ขั้นตอนที่ 4: ติดตั้งแอปพลิเคชันไคลเอนต์เพื่ออ่านพิกัดจาก Arduino และติดตามสถิติ
- ขั้นตอนที่ 5: การสอบเทียบมาตรความเร่ง
- ขั้นตอนที่ 6: การวิเคราะห์พิเศษ
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันต้องการเสนอโครงการ Arduino ที่เรียบง่าย แต่มีประโยชน์จริง ๆ ให้คุณติดตามเหตุการณ์เวลาโดยพลิกแกดเจ็ตคิวบ์อัจฉริยะ พลิกไปที่ "งาน" > "เรียนรู้" > "งานบ้าน" > "พักผ่อน" แล้วระบบจะนับเวลาที่คุณใช้ไปกับกิจกรรมนั้น ไทม์คิวบ์สร้างขึ้นจากตัวตรวจวัดความเร่งของ Arduino Nano และ ADXL345 ที่วางไว้ในกล่องขนาดที่เหมาะสม ซึ่งคุณสามารถวาดสัญลักษณ์หรือชื่อกิจกรรมได้ ในตอนท้ายของวันคุณสามารถตรวจสอบสถิติได้ ฉันหวังว่ามันจะกระตุ้นให้ฉัน "เรียนรู้" มากขึ้น
มีผลิตภัณฑ์ที่คล้ายกันมากมายในตลาดเช่น TimeFlip.io, Timeular.com, ZEI คุณสามารถลองโครงการ DIY ดีๆ จาก Adafruit https://learn.adafruit.com/time-tracking-cube อย่างไรก็ตาม ฉันเสนอให้คุณทำให้มันง่ายขึ้นมาก ในการติดตามข้อมูลเวลา คุณไม่จำเป็นต้องเชื่อมต่ออินเทอร์เน็ตไร้สายหรือบลูทูธกับบริการคลาวด์ Time Cube ขับเคลื่อนและเชื่อมต่อกับพีซีด้วยสาย USB บนคอมพิวเตอร์ คุณต้องเรียกใช้แอปพลิเคชันจาวาของฉันซึ่งฟังข้อความซีเรียลจาก Arduino และแสดงเวลาที่ใช้ไปทั้งหมด
แหล่งที่มาของโปรแกรมที่จำเป็นทั้งหมดและคำแนะนำที่ไม่ละเอียดบางอย่างที่คุณสามารถหาได้ในโครงการ GitHub ของฉัน:
เสบียง
1. Arduino Micro หรือ Nano แบบนั้น
2. มาตรความเร่ง ADXL345:
3. กล่องกระดาษแข็ง / กล่องลูกบาศก์พลาสติก
4. สาย USB
ขั้นตอนที่ 1: ต่อสายบอร์ดและมาตรความเร่ง
เซ็นเซอร์ ADXL345 เป็นมาตรความเร่งแบบ 3 แกน ซึ่งสามารถวัดแรงของการเร่งความเร็ว และเมื่ออยู่นิ่ง คุณยังสามารถอ่านทิศทางของเซ็นเซอร์ได้อีกด้วย คุณต้องต่อสาย Arduino Nano หรือ Micro board และ ADXL345 accelerometer เหมือนในรูป
ฉันจะไม่อธิบายในรายละเอียดว่าตัวตรวจวัดความเร่ง ADXL345 ทำงานอย่างไร ข้อมูลที่จำเป็นทั้งหมดที่ฉันพบในบทความที่ดีมากเกี่ยวกับการเชื่อมต่อ accelerometers กับ arduino และการเขียนโปรแกรม:
ขั้นตอนที่ 2: โปรแกรม Flash ไปยัง Arduino Nano
ในขั้นตอนนี้เราต้องอัปโหลดโปรแกรมจาก Arduino studio ไปยังบอร์ด Arduino Arduino nano จะสามารถอ่านพิกัด XYZ จากมาตรความเร่งและส่งไปยังพอร์ตอนุกรมในแพ็กเก็ตข้อมูลบางประเภทเช่น
คุณสามารถดาวน์โหลดแหล่งข้อมูลที่จำเป็นทั้งหมดได้จากหน้าโครงการ GitHub ของฉัน (เป็นไฟล์เก็บถาวรเดียว):
1. แกะไฟล์ zip ที่ดาวน์โหลดมาไว้ในโฟลเดอร์เช่น c:\program\tcube และเปิดไฟล์ tcube\arduino\tcub\tcub.ino ใน Arduino studio
2. เชื่อมต่อบอร์ด Arduino กับพีซีโดยใช้สาย USB
3. จากเครื่องมือ -> บอร์ด: เลือก "Arduino Nano" (หรือบอร์ดอื่นที่คุณวางแผนจะใช้)
4. หากคุณใช้โคลน Arduino จีนบางตัว คุณควรเลือกจาก Tools->Processor->ATmega328P (Old Loader)
5. เลือกพอร์ตที่เชื่อมต่อจาก Tools->Port ->COM3 (ในกรณีของฉัน)
6. อัปโหลดโปรแกรมไปยัง arduino
7. จากนั้นระบบจะส่งแพ็กเก็ตข้อมูลไปยังพอร์ตอนุกรม USB ทันที
8. เพื่อทดสอบว่าทุกอย่างทำงานได้ดีหรือไม่ คุณสามารถเปิด "Serial Monitor" ใน Arduino Studio คุณควรเห็นแพ็กเก็ตที่สร้างขึ้นในแต่ละวินาที เช่น …… (ซึ่งหมายถึงพิกัดจริงของมาตรความเร่ง)
ขั้นตอนที่ 3: ติดตั้ง Java Runtime Environment เพื่อเรียกใช้แอปพลิเคชันไคลเอนต์บนพีซี
ก่อนที่เราจะดำเนินการต่อ คุณต้องตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Java Runtime Environment (JRE) บนคอมพิวเตอร์ของคุณแล้ว
แอปพลิเคชันไคลเอนต์ที่ฉันสร้างขึ้นเพื่อรับข้อความจาก Arduino และสถิติรวมนั้นเขียนด้วยภาษาการเขียนโปรแกรม Java และต้องใช้ JRE เพื่อเรียกใช้แอปพลิเคชัน Java คุณควรติดตั้ง JRE8 เป็นอย่างน้อย ฉันแนะนำให้คุณดาวน์โหลดเวอร์ชัน x64 สำหรับ Windows โปรดดาวน์โหลดจากเว็บไซต์ Oracle
ขั้นตอนที่ 4: ติดตั้งแอปพลิเคชันไคลเอนต์เพื่ออ่านพิกัดจาก Arduino และติดตามสถิติ
ถึงเวลาเตรียมและเปิดใช้แอปพลิเคชันไคลเอนต์บนพีซีของคุณ ซึ่งจะเชื่อมต่อกับพอร์ต USB เพื่อฟังและติดตามสถิติเวลา
หากคุณคุ้นเคยกับ Java คุณสามารถดาวน์โหลดและรวบรวมแหล่งที่มาของแอปพลิเคชัน Java Time Cube จากโครงการ GitHub ของฉัน อย่างไรก็ตาม ภายในไฟล์เก็บถาวรโปรเจ็กต์แบบเต็มที่คุณดาวน์โหลดมานั้นมีการคอมไพล์แล้วและพร้อมใช้งาน tcube.zip ของแอปพลิเคชันที่เก็บถาวรซึ่งคุณต้องแตกไฟล์ไปยังบางโฟลเดอร์ (อาจเป็น c:\programs\tcube)
หากคุณเรียกใช้ไฟล์ run.bat ควรเริ่มแอปพลิเคชันซึ่งจะพยายามเริ่มการเชื่อมต่อกับพอร์ต COM ที่ใช้งานอยู่ซึ่งใช้โดยบอร์ด Arduino ในทันที (Windows จะรู้จัก Arduino ที่เชื่อมต่อกับ USB เป็นพอร์ต COM เสมือน)
หากทุกอย่างได้รับการกำหนดค่าอย่างถูกต้อง คุณจะเห็นตัวนับเวลาทำงานตามกิจกรรมบางอย่างทันที และโดยการพลิกลูกบาศก์ คุณจะสามารถติดตามกิจกรรมต่างๆ ได้ หน้าต่างแอปพลิเคชันแสดงบันทึกเหตุการณ์ และคุณสามารถดูข้อผิดพลาดในการเชื่อมต่อที่อาจเกิดขึ้นได้
ขั้นตอนที่ 5: การสอบเทียบมาตรความเร่ง
อาจเกิดขึ้นได้ว่าคุณควรปรับเทียบ Time Cube ของคุณเพราะมาตรความเร่งของคุณไม่ตรงเหมือนกับของฉัน เพียงเปิดไฟล์ app.properties และแก้ไขช่วงสำหรับพิกัดของแต่ละด้านลูกบาศก์ตามพิกัดจริงที่คุณจะเห็นในหน้าต่างบันทึกแอปพลิเคชันสำหรับแต่ละด้านลูกบาศก์
หรือคุณสามารถทดลองการวางแนวและค้นหาตำแหน่งมาตรความเร่งให้เหมือนกับของฉัน
ขั้นตอนที่ 6: การวิเคราะห์พิเศษ
แอปพลิเคชันจาวาของฉันค่อนข้างเรียบง่ายและแสดงเวลาที่ใช้ต่อแต่ละกิจกรรมในระหว่างวัน หากคุณต้องการมีการวิเคราะห์เพิ่มเติม คุณสามารถใช้ Microsoft Excel เพื่อการวิเคราะห์เพิ่มเติมได้
แอปพลิเคชันสร้างไฟล์ time-log.csv ในรูปแบบ CSV ซึ่งมีเหตุการณ์ทั้งหมดที่ส่งจาก Arduino เนื่องจากเหตุการณ์ถูกสร้างขึ้นในแต่ละวินาที คุณสามารถทำการวิเคราะห์วันโดยละเอียดใน MS Excel เพื่อสร้างแผนภูมิ กราฟ และการวิเคราะห์เพิ่มเติมที่ดี
ในโฟลเดอร์ที่คุณดาวน์โหลดจากโครงการ GitHub ของฉัน คุณจะพบไฟล์ log_analytics.xlsx excel ที่สร้างแผนภูมิวงกลมโดยใช้ข้อมูลจากไฟล์ time-log.csv คุณต้องอัปเดตแผนภูมิด้วยตนเองโดยกดปุ่ม "รีเฟรชทั้งหมด" ใน Excel