Publish : 6 JANUARY 2023เนื้อหาในบทความนี้ - เพิ่มเติมจากบทความเดิม - File Systems - ความเร็วอ่าน/เขียน - การเลือก SD Card มาใช้งาน - ไฟล์ csv - การใช้งาน Arduino บันทึกไฟล์ csv
- การเปิดไฟล์ csv - การเปิดไฟล์ csv ด้วย Microsoft Excel - การเปิดไฟล์ csv ด้วย Google Sheets
- ข้อสังเกตในการเปิดไฟล์ เมื่อ 3 ปีก่อน (แต่ความรู้สึกเหมือนเพิ่งเขียนไปได้ไม่นาน) ผู้เขียนได้เขียน Tutorial การใช้งาน SD Card เอาไว้ ซึ่งก็คงใช้งานกันได้แล้วนะครับ แต่เนื่องด้วยบางครั้งการนำข้อมูลไปใช้งาน ย่อมต้องนำไปวิเคราะห์และประมวลผล ซึ่งส่วนมากก็จะใช้ Excel ในการทำงานตรงนี้ ซึ่งจากตัวอย่างที่เคยเขียนไปนั้นจะบันทึกเป็นไฟล์ Notepad ต้องคัดลอกหรือพิมพ์ข้อมูลใหม่กันวุ่นวายเสียเวลา แต่จริง ๆ ก็มีวิธีทำให้จบจาก Arduino เลย ไหน ๆ ก็ไหน ๆ แล้ว Tutorial แรกของปี 2023 ก็ขอหยิบเรื่องเก่ามาเสริมและเพิ่มเติมกันเบา ๆ ก่อนครับเพิ่มเติมจากบทความเดิม ก่อนไปเรื่องหลักของบทความนี้ ขอแวะเพิ่มเติมเรื่องที่บทความเก่าไม่มีกันก่อนครับ File Systems File Systems หรือระบบไฟล์ เป็นวิธีการจัดเก็บและเรียกใช้ข้อมูลแบบต่าง ๆ ในระบบปฏิบัติการ ซึ่งเป็นระบบที่ควบคุมการจัดเก็บและเรียกใช้ข้อมูล หากไม่มี File Systems ระบบก็จะไม่รู้ว่าไฟล์ใดมีจุดเริ่มต้นและจุดสิ้นสุดตรงไหน การอ่านข้อมูลก็จะมั่วผิดพลาดไปหมด ในคอมพิวเตอร์เรามักจะพบกับ File Systems แบบต่าง ๆ คือ NTSC, FAT16, FAT32, exFAT และ EXT ซึ่งใน SD Card ก็มี File Systems เช่นกัน ดังนี้ SD หรือ SDSC - Standard Capacity เป็น SD Card ในยุคแรก ๆ มีความจุเริ่มตั้งแต่ระดับ MB (ผู้เขียนเคยมีขนาด 16MB) และสูงสุดเพียง 2GB ใช้ระบบไฟล์แบบ FAT16 และในยุคหลัง ๆ ก็ได้มีการเปลี่ยนเป็น FAT32 บ้าง แต่ปัจจุบันหาได้ยากมากแล้วเนื่องจากความจุต่ำมากสวนทางกับไฟล์ที่มีขนาดใหญ่ขึ้น รวมถึง SD ความจุสูงมีราคาถูกลง ทำให้ความนิยมลดลงไป (ยี่ห้อที่มีชื่อ ผู้เขียนหาซื้อไม่ได้แล้วครับ) SDHC - High Capacity เป็น SD Card ที่มีการพัฒนาให้มีความจุสูง ปัจจุบันหาซื้อได้ทั่วไปในราคาถูก SD Card ชนิดนี้ใช้ระบบไฟล์ FAT32 และจะมีความจุตั้งแต่ 2GB ถึง 32GB SDXC - Extended Capacity ขยายจาก HC ให้มีความจุสูงขึ้น โดยจะใช้ระบบไฟล์ exFAT มีความจุตั้งแต่ 32GB ไปจนถึง 2TB SDUC - Ultra Capacity ตามชื่อ Ultra ที่แปลว่าเกินไป เป็น SD Card ที่เกินมาจาก SDXC ไปอีก ซึ่งมีความจุตั้งแต่ 2TB ถึง 128TB ใช้ระบบไฟล์ exFAT เช่นเดียวกับ SDXC ความเร็วอ่าน/เขียน เนื่องจาก SD Card นั้นใช้การรับส่งข้อมูลแบบ Serial จึ่งมีความเร็วในการรับส่งข้อมูลแบบจำกัด ซึ่งการพัฒนาก็จะทำให้ความเร็วสูงขึ้นเรื่อย ๆ ในสมัย SDSC เราจึงมักดูกันที่ Class ซึ่งก็จะคุ้นเคยกันกับคำว่า Class 1, Class 4, Class 10 ซึ่งในปัจจุบันความเร็วในการอ่านเขียนของ SD Card รุ่นใหม่ ๆ นั้นสามารถทำได้ทะลุ Class 10 กันอยู่แล้ว ใน SDHC และ SDXC จะมีการใช้ Ultra High-Speed bus และมีการบอกเป็น UHS ดังนี้ UHS-I มีความเร็วอ่าน/เขียน 50 MB/s ถึง 104 MB/s UHS-II มีความเร็วอ่าน/เขียน 156 MB/s UHS-III มีความเร็วอ่าน/เขียน 312 MB/s ถึง 624 MB/s SD Express เป็นมาตรฐานใหม่ล่าสุด มีความเร็วอ่าน/เขียนที่สูงถึง 985 MB/s การเลือก SD Card มาใช้งาน ในการเลือกใช้งานนั้นแล้วแต่บุคคลเลยครับ แต่ส่วนตัวผู้เขียนนั้นเลือกเดินเข้าร้านไอทีทั่วไปเจ้าไหนก็ได้ มองหาอันที่ "ราคาถูก" และ "ยี่ห้อที่คุ้นหู" ส่วนอย่างอื่นนั้นแทบไม่ต้องคิดเพราะเชื่อว่าซื้อมาทำ Data Logger กันซะมาก (ใครจะใช้กับโมดูล mp3 ว่ากันไปอีกเรื่องนะ) ซึ่งข้อมูลที่ Arduino จะเขียนลงบน SD นั้นมันระดับไม่กี่สิบไบต์ SD ในปัจจุบันนั้นสามารถทำได้แบบเหลือ ๆ ยิ่งความจุนั้นไม่ต้องพูดถึงเลยครับ ที่หาซื้อได้ก็น้อยสุดที่ 32GB แล้ว เหลือมาก ทำ Data Logger เก็บข้อมูลระดับหมื่นค่ายังใช้แค่ไม่กี่ MB เองครับ แต่ที่สำคัญคือเรื่องระบบไฟล์ที่ต้องเป็น FAT16 หรือ FAT32 เท่านั้น ของที่มีขายในปัจจุบันก็เหมือนบังคับกลาย ๆ ว่าต้องซื้อแบบ 32GB มาใช้งาน (หากเกินจากนี้ก็จะเป็น SDXC ซึ่งใช้ระบบไฟล์ exFAT ตรงนี้ผู้เขียนยังไม่เคยทดลองใช้นะครับ แต่คิดว่ามันก็ตระกูล FAT คงได้มั๊ง หรือไป Format เป็น FAT32 ใครเคยใช้งานแล้วได้ผลยังไงช่วยบอกกันด้วยครับ) งานล่าสุดที่ผู้เขียนส่งลูกค้าไปใช้เก็บข้อมูลเวลา อุณหภูมิ ความชื้น ปริมาณแสง ปริมาณยูวี ความเร็วลม ทุก ๆ 5 นาที ลูกค้าไปรันเป็นเดือน ๆ SD ตัวแรกสุดถูกสุดในรูปนี้เอาอยู่และมีพื้นที่เหลืออีกเพียบ (ไม่ได้โฆษณานะครับ บอกแล้วว่าเลือกจากยี่ห้อคุ้นหู+ราคาถูกที่สุด)