27 พฤษภาคม 2559

อาร์ดุยโน : ฮาร์ดแวร์

จากตอนที่แล้ว จากคนที่ไม่รู้จักมาก่อนเลยว่า "อาร์ดุยโน" มันคืออะไร มาในครั้งนี้ ครูก็จะพาสำรวจว่ามันมีอะไรบ้าง จะเรียกว่าพาเล่นก็ได้ แต่เป็นการเล่นแบบลูบๆ คลำๆ ส่วนที่สัมผัสได้กันก่อน ใครที่มีความรู้มาแล้วใจเย็นๆ ก่อนนะครับ พามือใหม่หัดขับ ค่อยๆ ทัวร์ไปเรื่อยๆ

เริ่มจากการอ้างตำรามาตรฐาน เขาบอกว่า ระบบคอมพิวเตอร์ ประกอบไปด้วย 3 ส่วน คือ ฮาร์ดแวร์ ซอฟท์แวร์ และข้อมูล (บางตำราก็รวมเอา "คน" เข้าไปด้วย) อาร์ดุยโนของเราก็เป็นเช่นนั้นเหมือนกัน มันจะสมบูรณ์ได้มันก็ต้องมีทั้งสามส่วนนี้เช่นเดียวกัน ซึ่งเราจะเริ่มเรียนรู้ในส่วนที่เป็นฮาร์ดแวร์กันก่อน

ส่วนที่เป็นฮาร์ดแวร์ของอาร์ดุยโน ก็คือ แผงวงจร หรือแผ่นวงจร หรือบอร์ด ของมันนั่นเอง ซึ่งรูปร่างหน้าตาของมันก็แตกต่างไปตามชนิดหรือรุ่นที่มีอยู่อย่างหลากหลาย ซึ่งที่ครูฟิสิกส์จะนำมาใช้ในครั้งนี้ก็คือ Arduino Uno R3 ดังรูป (บอร์ดที่เห็นในภาพนี้เป็นบอร์ดที่ผลิตในประเทศจีนนะครับ บางคนเรียกมันว่า อาร์ดุยโนปลอม แต่จะอย่างไรก็ตาม มันทำงานได้เหมือนกัน แล้วที่สำคัญราคาถูก )



อาร์ดุยโนรุ่นนี้จะใช้ตัวชิปที่ชื่อว่า ATMega328P ซึ่งในภาพอาจจะมองเห็นป้ายชื่อมันไม่ชัดนัก แต่ครูได้ลากเส้นชี้ให้เห็นแล้ว รุ่นนี้มีช่องเสียบสาย USB เพื่อเชื่อมต่อกับคอมพิวเตอร์ตั้งโต๊ะ หรือพีซีด้วย  มีช่องเสียบอะแดปเตอร์สำหรับการใช้แหล่งจ่ายไฟฟ้าแยกจาก USB (ซึ่งอะแดปเตอร์ตัวนี้เราต้องหาซื้อเอง ไม่ได้มีมาพร้อมบอร์ด)

การเชื่อมต่อกับอุปกรณ์รอบๆ ตัวมัน จะใช้ลวดโลหะเสียบเข้าไปตามช่องเสียบที่เรียงอยู่เป็นแถวด้านข้าง ช่องเสียบเพื่อการเชื่อมต่อ โดยแบ่งออกเป็นช่องเสียบสำหรับอุปกรณ์ที่ทำหน้าที่เป็นตัวรับข้อมูลเข้าหรือตัวส่งข้อมูลออกภาคดิจิทัล  14 ขา (ต่อไปครูจะใช้คำทับศัพท์ว่า "อินพุท" สำหรับตัวรับข้อมูลเข้าและ "เอาท์พุท" สำหรับตัวส่งข้อมูลออกเลยนะครับ) และอินพุท สำหรับแอนะล็อก 6 ขา แล้วก็มีช่องเสียบพิเศษซึ่งมีหน้าที่เฉพาะอย่างอีกจำนวนหนึ่ง ช่องเสียบทั้งหมดนี้มีไว้ก็เพื่อเป็นจุดที่ใช้รับ-ส่งข้อมูลกับอุปกรณ์ต่างๆ รอบๆ อาร์ดุยโน

เข้าใจสเปคของ ATMega328P

ลองป้อนข้อมูล ATMega328P ไปที่ช่องของกูเกิ้ล เราจะพบข้อมูลคล้ายๆ อย่างนี้ ซึ่งจะบอกค่าเฉพาะบางอย่างของมัน



นี่คือเรื่องแรกที่เราควรเรียนรู้ครับ คือ อ่านสเปคให้ออก ซึ่งครูจะแนะนำเฉพาะตัวสำคัญๆ เท่านั้นนะครับ

ในคอลัมน์ซ้ายมือ คำว่า Parameter เป็นการอ้างถึงขนาดหรือค่าต่างๆ ของหน่วยย่อยที่อยู่ภายในชิป ส่วน Value หมายถึง ตัวเลขที่บอกค่าในหน่วยย่อยนั้น

Flash (kBytes): 32 kBytes 

Flash หรือ Flash Memory หมายถึง หน่วยความจำแบบแฟลช ซึ่งเป็นหน่วยความจำชนิดหนึ่งที่สามารถเขียนและอ่านได้ ในขณะที่ไม่มีไฟฟ้าเลี้ยงวงจรมันก็สามารถเก็บข้อมูลไว้ได้ ถ้าจะว่าไปแล้วมันก็เหมือนกัน sd-card หรือแผ่นเก็บข้อมูลที่เราใช้ในโทรศัพท์มือถือรุ่นใหม่ๆ ที่เราใช้เก็บรูปภาพนั่นเอง ค่า 32 kBytes หมายถึงขนาดของความจุข้อมูลของมัน 32x1024=32,768 bytes นั่นเอง (น้อยมากๆ เลยใช่ไหมครับ เทียบไม่ได้เลยกับหน่วยเก็บข้อมูลที่มีอยู่ในโทรศัพท์มือถือเราที่เราใช้ ซึ่งเก็บได้หลายจิ๊กกะไบท์)

Pin Count : 32

หมายถึง จำนวนช่องเสียบหรือขาที่เชื่อมต่อกับอุปกรณ์รอบๆ ตัว ซึ่งมี 32 ช่อง

Max. Operating Freq. (MHz): 20  

หมายถึง ความถี่สัญญาณนาฬิกา หรือบางทีก็เรียกสั้นๆ ว่า คล็อก (clock) ค่านี้ยิ่งมีค่ามากแปลว่ามันยิ่งมีความเร็วในการประมวลผลมากตามไปด้วย ในที่นี้เราจะเห็นค่า 20 เมกะเฮิร์ตซ์ ซึ่งเป็นค่ามากที่สุดที่ชิปประมวลผลรุ่นนี้จะสามารถรับได้ ในทางปฏิบัติผู้ออกแบบเขาจะให้ใช้งานที่ 16 MHz คือ ใช้ไม่เต็มกำลังนัก เป็นไปได้ว่าผู้ออกแบบไม่ต้องการให้ชิปร้อนเร็วและมากเกินไปขณะทำงาน ซึ่งจะมีผลต่ออายุการใช้งานของตัวชิปด้วย

CPU : 8 bit-AVR

เป็นคำย่อของหน่วยประมวลผล ตัวเลข 8 bit หมายถึง จำนวนบิทหรือสายสัญญาณที่ CPU จะประมวลผล หรือจะพูดอีกอย่างหนึ่งว่า มันจะประมวลผลข้อมูลครั้งละ 8 บิทในแต่ละรอบการทำงานก็ได้ ส่วน AVR มาจากคำว่า Advanced Virtual RISC เป็นคำที่อธิบายไปแล้วอาจจะยากไปสำหรับระดับที่เรากำลังคลานเตาะแตะแบบนี้ เอาเป็นว่ามันเป็นรูปแบบของการออกแบบตัวประมวลผลแบบหนึ่งก็แล้วกัน ว่ากันว่ามันง่ายต่อการเข้าถึงและพัฒนา แล้วก็เหมาะกับมือใหม่อย่างเราๆ

เอาแค่นี้ก่อน ทีนี้ถ้าคลิกตรงคำว่า + more ก็จะเจอสเปคอีกหลายสิบบรรทัด เอาเฉพาะที่สำคัญๆ ก็แล้วกันนะครับ

SRAM (kBytes): 2

หมายถึง หน่วยความจำแบบชั่วคราว อ่าน/เขียน ได้ และเก็บข้อมูลได้ขณะที่มีไฟฟ้าเลี้ยงวงจรอยู่เท่านั้น ถ้าต้องการให้ข้อมูลนี้คงอยู่แม้ไม่ได้มีไฟฟ้าเลี้ยงวงจรก็ต้องสำเนามันไปไว้ที่หน่วยความจำแฟลช ในชิปตัวนี้ มันมีความจุ 2 kBytes หรือ 2048 ไบท์

EEPROM (Bytes): 1024

หมายถึง ส่วนความจำแบบถาวร ที่อ่านได้เพียงอย่างเดียวเท่านั้นในขณะที่บอร์ดทำงาน แต่มันก็สามารถลบและเขียนใหม่ได้ ด้วยวิธีการที่คู่มือระบุมา

คงหมดแล้วล่ะ ที่สำคัญๆ ที่เราควรรู้จัก สำหรับตัวชิป ATMega328P

สิ่งที่ควรรู้จักเพิ่มเติมเกี่ยวกับบอร์ดอาร์ดุยโนตัวนี้

CH340G

เป็นชิปที่ทำหน้าที่ในการติดต่อสื่อสารกับเครื่องคอมพิวเตอร์ผ่านพอร์ท USB ตัวนี้แหละที่ทำให้บางคนบอกว่า บอร์ดนี้เป็นอาร์ดุยโนปลอม เพราะว่าตัวบอร์ด Made in Italy นั้นจะใช้ชิป FTDI หรือ ATMega8U2 หรือ ATMega16U2 แล้วแต่รุ่นเป็นตัวติดต่อกับพอร์ท USB ของคอมพิวเตอร์  แต่ตัวที่ว่าปลอมนี้ใช้ CH340G ซึ่งทำให้ราคาถูกลงมาก แต่ถ้ามันทำงานได้เหมือนกัน ครูฟิสิกส์ว่า จะไปสนใจมันทำไม (แรงมั๊ย! ) บางคนอาจเป็นกังวลใจว่า เฮ้ย!  แล้วมันไปละเมิดลิขสิทธิ์เขาหรือเปล่า คำตอบ คือ เปล่าเลย โปรเจคต์ของ อาร์ดุยโน เป็นโอเพ่นซอร์ส ทั้งฮาร์ดแวร์/ซอฟท์แวร์ ใครจะเอาไปต่อยอดไปพัฒนาต่อก็ได้ ขอให้อยู่ในเงื่อนไขคือ ต้องเป็นโอเพ่นซอร์สต่อไป เพราะฉะนั้นนี่ไม่ใช่ของปลอมหรอกครับ ถ้าจะเรียกให้เหมาะ ครูว่าน่าจะเรียกว่า บอร์ดที่เลียนแบบอาร์ดุยโน น่าจะถูกต้องกว่า (ประเภทของบอร์ด ครูจะได้พูดถึงอีกที เพราะสับสนกันพอสมควร)

ถ้าอยากเห็นตัวชิปนี้ ก็ดูรูปข้างบน ตัวที่อยู่เหนือขึ้นไปจาก ATMega328P วางในแนวขวาง ถัดลงมาด้านล่างจากพอร์ท USB

ในส่วนของฮาร์ดแวร์ สำหรับมือใหม่คลานเตาะแตะ ครูจะแนะนำเพียงเท่าที่จำเป็นก่อน เข้าใจบ้าง ไม่เข้าใจบ้าง ตอนนี้อย่าเพิ่งเครียด เอาให้คุ้นๆ ชื่อก่อนก็ยังดี เพราะตอนต่อๆ เผื่อมีกล่าวถึง ก็จะได้คุ้นๆ  ว่าเคยเจอกันมาแล้ว เนื้อหาจะได้ปะติดปะต่อ

ขอจบเนื้อหาในส่วนฮาร์ดแวร์เพียงเท่านี้ก่อน คราวหน้าครูจะแนะนำในส่วนที่เรียกว่า ซอฟท์แวร์ ที่ใช้ในอาร์ดุยโน อย่าลืมติดตามนะครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น