Microcontroller Board ไมโครคอนโทรลเลอร์สร้างโลก

จะว่าไปแล้วผมได้ห่างเหินจากวงการของ micro controller มานานมากๆ ครับ นับได้ก็ตั้งแต่เรียนจบ ป.ตรี ก็ไม่ได้จับมันอีกเลย (หันมาจับ mouse และ keyboard อย่างเดียว) และเคยมีความคิดที่จะไปให้ห่างๆ จาก hardware พวกนี้ครับ เพราะด้วยเหตุผลอย่างหนึ่งคือ ยิ่งอยู่กับมันมากเท่าไหร่ รอบๆ อณาบริเวณที่ผมอาศัยอยู่มันจะรกมากเท่านั้น 555+ นี่ยังไม่นับกับการต้องอดหลับอดนอนดึกๆ ดื่น เพราะว่าต่อวงจรอีกเยอะแยะมากมาย ไหนจะต้องมาทนดมกลิ่นตะกั่วและหัวแร้งอีก  จนมาถึงวันนี้มันเปลี่ยนไปแล้วครับ ผมกำลังหันหน้าวิ่งเข้าหามันอีกครั้ง พร้อมด้วยความหวังและความฝันในการสรรค์สร้างสิ่งต่างๆ อย่างเต็มเปี่ยม

micro1

Micro Controller คืออะไร?

Micro Controller ถ้าแปลความหมายแบบตรงๆตัว ก็คือระบบคอนโทรลขนาดเล็กครับ เรียกอีกอย่างหนึ่งคือเป็นระบบคอมพิวเตอร์ขนาดเล็กๆ ที่เราสามารถนำเอามันมาประยุคใช้งานได้หลากหลาย โดยผ่านการออกแบบวงจรให้เหมาะกับงานนั้นๆ และยังสามารถโปรแกรมคำสั่งเพื่อควบคุมขา Input / Output เพื่อสั่งงานให้มันไปควบคุมอุปกรณ์ต่างๆ ได้อีกด้วย ซึ่งก็นับว่าเป็นระบบที่สามารถนำมาประยุคใช้งานได้หลากหลายครับ ทั้งทางด้าน Digital และ Analog ยกตัวอย่างเช่น

ระบบสัญญาณตอบรับอัตโนมัต, ระบบบัตรคิว, ระบบตอกบัตรพนักงาน และอื่นๆ ยิ่งระบบ Micro Controller ในยุคปัจจุบันนั้นสามารถทำการเชื่อต่อกับระบบ Network ของคอมพิวเตอร์ทั่วไปได้อีกด้วย ดังนั้นการสั่งงานจึงไม่ใช่แค่หน้าแผงวงจร แต่อาจจะเป็นการสั่งงานอยู่คนละซีกโลกผ่านเครือข่ายอินเตอร์เน็ตก็ได้ครับ เห็นมั๊ยละ ว่ามันน่าทึงขนาดไหน…

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

 ย้อนอดีตนึกถึงเรื่องราวของ Micro Controller ในยุคเก่าๆ

Z-80

mc-z80
ถ้าจะย้อนไปเมื่อ 5 – 6 ปีก่อน สมัยที่ผมยังคร่ำหวอดในวงการ (พูดเหมือนดูดี) พวก Micro Controller ที่นิยมใช้กันก็มีอยู่ไม่กี่ตัวหรอกครับ เริ่มตั้งแต่ตัวแรกที่เป็นลักษณะของ CPU ไม่ถึงขั้นเรียกว่า Micro Controller ก็คือ ตระกูล Z80 ครับ เป็นลักษณะของ CPU เล็กๆ ที่ต้องอาศัย IO ต่างๆ เพิ่มเติมมาก จึงทำให้บอร์ดมีขนาดค่อนข้างใหญ่ ก็จัดได้ว่าเป็นการเริ่มต้นการเรียนรู้ที่ดีของยุคสมัยนั้น เพราะผมก็ได้เรียนรู้ชุดคำสั่งที่เป็น op code ตั้งแต่ตอนนั้นแหละครับ

ตัวอย่างการใช้งาน z-80 บนบอร์ดทดลองจริงๆ จะเห็นได้ว่าอุปกรณ์มันเยอะเอามากๆ

mc-z80-2

 

==================================================================

MCS-51

mc-mcs51
หลังจากนั้นก็จะมีตระกูล MCS-51 ซึ่งเป็นตระกูลที่ผมได้เรียนรู้ต่อจาก Z80 ขนาดตอนนั้นยังคิดว่าเวลาเรียน MCS-51 แล้วชีวิตมันง่ายขึ้นกว่าเดิมเยอะครับ ไม่ว่าจะเป็นการเขียนโปรแกรมในลักษณะของ Assembly Code แล้วโหลดลงบอร์ดเพื่อใช้งาน ตลอดจนสถาปัตยกรรมในการออกแบบ Micro Controller รุ่นนี้จะช่วยลดอุปกรณ์รอบๆข้างลงไปได้มาก ถึงเหมาะที่จะนำไปใช้งานจริงๆ ครับ

ตัวอย่างการต่อใช้งาน MCS-51 บนบอร์ดทดลองจริงๆ อุปกรณ์รอบๆข้างจะน้อยกว่า Z-80 มากครับ ทำให้ออกแบบวงจรได้ง่ายขึ้นมาก

mc-mcs51-2

 

==================================================================

 

มารู้จักกับ Micro Controller ยุคปัจจุบัน

สำหรับในยุคปัจจุบัน ผมแยกออกมาเป็นดังต่อไปนี้ครับ

PIC

mc-pic-1
PIC เป็นไมโครคอนโทรลเลอร์ยุคหลังๆ ที่ผมได้มีโอกาสมารู้จักก็ตอนทำ project จบตอน ป.ตรี นี่แหละครับ ด้วยเหตุผลที่ว่า วงจรตัวอย่างที่ผมหาได้ตอนนี้นเขียนด้วย Micro Controller  ตระกูลนี้ และหลังจากที่ผมได้เข้าไปสัมผัส ก็ทำให้ผมลืม Micro Controller ยุคเก่าๆ ไปเลยครับ เพราะในเรื่องของอุปกรณ์ต่อพว่งที่น้อยเอามากๆ ประกอบกับมีหน่วยความจำ EEPROM ในตัว จึงทำให้ง่ายต่อการบันทึกและจัดก็บข้อมูล และ PORT ต่างๆ ได้มีการ latch ในตัว IC อยู่แล้ว จึงสามารถต่ออกมาใช้งานภายนอกได้เลยโดยตรงโดยมีกระแสและแรงดันที่เพียงพอ และอีกความสามารถหนึ่งที่ผมชอบมากๆ คือสามารถโปรแกรมตัว boot loader เข้าไปในตัว Micro Controller  ได้ครับ จึงทำให้ง่ายเวลาโหลดโปรแกรมเข้าไป จากคอมพิวเตอร์โดยผ่านทาง Serial port และกดปุ่ม reset เพียงอย่างเดียว ไม่ต้องการเครื่องโปรแกรม IC เพิ่มเติมอย่างที่ต้องมีกับระบบ Micro Controller รุ่นเก่าๆอย่าง MCS 51

ตัวอย่างการต่อใช้งาน PIC กับบอร์ดทดลองจริงๆ ก็ง่ายดีครับ ฟังก์ชั่นการใช้งานค่อนข้างครบ และโปรแกรมง่ายด้วย CCS

mc-pic-2

 

==================================================================

 

AVR

mc-avr1
AVR เป็น Micro Controller รุ่นหลังๆ ที่มีการพัฒนาต่อมาจาก MCS-51 ครับ โดยบริษัท ATMEL ครับ อันเนื่องมาจากว่า MCS-51 ยุคหลังๆ นี้ไม่ค่อยมีคนเล่นกันแล้วในการใช้งานจริง คงมีแต่เฉพาะในสถาบันการศึกษา ที่เป็นเช่นนี้ก็อาจจะเป็นเรื่องการออกออกแบบวงจรที่ค่อนข้างยุ่งยาก และต้องอาศัยการต่ออุปกรณ์ร่วมเยอะนั้นเองครับ ดังนั้น AVR จึงเข้ามาเป็นพระเอกในการช่วยงานในด้านนี้ โดยคุณสมบัติหลักที่น่าทึ่งก็คือ สามารถ Interface ผ่าน USB ได้โดยตรง ซึ่ง Micro Controller ยุคเก่าๆ ทำได้อย่างเก่งก็ต่อผ่านพอร์ต RS-232 แต่เนื่องด้วยคอมพิวเตอร์ยุคใหม่ๆ พอร์ต RS-232 มันเริ่มหายากแล้ว ดังนั้น AVR จึงเป็นคำตอบสุดท้ายครับ

ตัวอย่างการต่อ AVR ใช้งานบนเบอร์ด จะคล้ายๆ เครื่องไมโครคอมพิวเตอร์มากครับ

mc-avr2

 

 

==================================================================

 

Arduino

mc-Arduino1


Arduino เป็น Micro Controller บอร์ดแบบสำเร็จรูป สำหรับยุคนี้ครับ ซึ่งถูกสร้างมาจาก Controller ตระกูล ARM ของ ATMEL ซึ่งข้อดีของ Micro Controller Board รุ่นนี้ก็คือเรื่องของ Opensource ที่สามารถนำไปพัฒนาต่อเป็นอุปกรณ์ต่างๆ ได้ (ความจริงบอร์ดของรุ่นต่างๆ ก็ทำได้เช่นกัน) และความสามารถในการเพิ่ม boot loader เข้าไปที่ตัว ARM จึงทำให้การ upload code เข้าตัวบอร์ดสามารถทำได้ง่ายขึ้น

และยังไม่หมดครับ การพัฒนา software ที่จะใช้ในการควบคุมตัวบอร์ดของ Arduino ก็จะเป็นในลักษณะของ C++ ที่หลายๆคนคุ้นเคยกันดี และตัวบอร์ดยังสามารถนำโมดูลมาต่อเพิ่ม (ซึ่งทาง Ardunio จะเรียกว่าเป็น shield) เพื่อเพิ่มความสามารถต่างๆ ได้ อย่างเช่นต้องการให้ สามารถเชื่อมต่อ wifi ก็ไปหาซื้อ shield ที่เป็น wifi มาต่อเพิ่ม หรือต้องการควบคุมระบบ motor ด้วย ก็เพิ่ม shield ควบคุมมอเตอร์เข้าไปครับ ตัวอย่างตามรูป

mc-Arduino2

 

หรือถ้าจะสร้างวงจรเพิ่มเติมเองแลเวมาประกอบเป็น Shield ให้กับ Arduni ตัวโปรด ก็ได้ครับ

mc-Arduino3

 

==================================================================

 

Raspberry Pi

mc-raspberry1


Raspberry Pi ก็เป็น Micro Controller Board ยุคนี้เช่นกันครับ ใช้ Controller ตระกูล ARM เช่นกัน ที่น่าสนใจสำหรับบอร์ด Raspberry Pi ก็คือการจำลองตัวมันเองให้เป็นระบบคอมพิวเตอร์เครื่องเล็กๆ เครื่องหนึ่ง ที่สามารถรันระบบ Linux ได้ในตัว นั้นก็หมายถึงการดึงระบบต่างๆเพื่อมาใช้งานใน board ย่มจะสะดวกมากเพราะมี OS Linux ทำงานให้แทนอยู่แล้ว อย่างเช่นการติดต่อกับระบบ Network การติดต่อกับระบบจอภาพ การติดต่อระบบเสียง ตลอดจนการติดต่อกับระบบการเก็บข้อมูลผ่าน SD Card ซึ่งสามารถทำได้ครบเลยครับด้วยระบบปฏิบัติการ Linux ที่รันอยู่บนตัวบอร์ด Raspberry Pi

ตัวอย่างการประยุคใช้ Raspberry Pi เป็น Smart TV

mc-raspberri3

 

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

3 thoughts on “Microcontroller Board ไมโครคอนโทรลเลอร์สร้างโลก”

  1. ขอบคุณครับพี่สำหรับความรู้ที่พี่นำมาให้อ่านและสอน ผมอยากทราบการนำ Raspberry Pi มาควบคุมอุปกรณ์ไฟฟ้าผ่านเน็ต ผมต้องทำอย่างไรครับพี่ช่วยแนะนำให้หน่อยครับ ขอบคุณมากครับ

    Reply
  2. ดีคับพี่คือผมต้องการใช้ Arduino โดยให้ Output ติดต่อผ่านสัญญาน Wireless ต้องซื้อตัวไหนมาเสริมครับ แล้วพี่มีเวปไซต์การ สั่งซื้อ Arduino ไหมครับ ช่วยบอกต่อหน่อยครับ

    Reply

Leave a Comment