เราได้รู้จักไมโครคอนโทรลเลอร์ (microcontroller) ในแบบ concept มันมาพอสมควรแล้วจากเรื่อง Microcontroller คืออะไร?, โครงสร้างของ microcontroller เป็นอย่างไร? และ Microcontroller ทำงานอย่างไร? คราวนี้เราลองมาทำความรู้จักกับ microcontroller ตัวเป็น ๆ กันดู โดยเรามาเริ่มที่ ATmega328P
ทำไมเราควรเริ่มที่ตัวนี้ นั่นก็เพราะ microcontroller ตัวนี้ไม่ซับซ้อนมากนัก และเป็นที่นิยมมาช้านาน และถูกนำไปใช้บนบอร์ดที่ได้รับความนิยมมาก ก็คือ Arduino UNO และ Arduino Nano จึงมีตัวอย่างใน internet ให้เรียนรู้มากมาย และมีหลายบริษัทที่นำ microcontroller ตัวนี้มาทำบอร์ดควบคุมที่เข้ากันได้กับ Arduino Nano อยู่มากมายเช่นกัน ทำให้ราคาไม่สูงมากนัก เหมาะสำหรับผู้เริ่มต้นเรียนรู้และทำความเข้าใจเป็นอย่างยิ่ง
จาก Block Diagram ในเอกสาร datasheet ของ ATmega328P จะเห็นว่ามีส่วนประกอบคล้าย ๆ กับที่เคยนำเสนอไปแล้วใน โครงสร้างของ microcontroller เป็นอย่างไร? แต่จะมีหลายส่วนเพิ่มเข้ามา เพื่อทำให้ ATmega328P มีความสามารถมากขึ้น เช่น
- มีการสื่อสารแบบ SPI, TWI(I2C) เพิ่มขึ้นจาก UART ซึ่งเป็นพื้นฐานอยู่แล้ว ทำให้สื่อสารกับอุปกรณ์สมัยใหม่ไม่ว่าจะเป็น sensor หรือ display หรืออื่น ๆ ได้ง่ายขึ้น
- มี A/D converter ทำให้ติดต่อกับ อุปกรณ์ที่เป็น analog ได้ง่ายขึ้น
- มี Timer/Counter ซึ่งสามารถสร้าง สัญญาณ PWM ที่มักจะใช้ในการควบคุมความเร็วของ dc motor หรือ ความสว่างของ LED ได้ง่ายขึ้น
- มี Watchdog ที่ช่วยให้การทำงานของ microcontroller มีความน่าเชื่อถือได้มากขึ้น
เพียงเท่านี้ก็พอจะนึกภาพออกแล้วใช่ไหมล่ะครับว่า ATmega328P นั้นสามารถนำไปใช้ในงานควบคุมได้หลากหลายมาก และสามารถรองรับความอยากรู้อยากเห็นของมือใหม่ได้อย่างแน่นอน นอกจากนี้มือเก๋าที่ต้องทำระบบที่ซับซ้อนก็ยังอาจจะแบ่งระบบออกเป็นระบบย่อยแล้วใช้เจ้าตัวเล็ก ๆ อย่างนี้ช่วยดูแลระบบย่อยแล้วรายงานผลไปยังศูนย์กลางเพื่อลดภาระงานของศูนย์กลางของระบบได้ดีอีกด้วย ส่วนการทำงานในแต่ละส่วนจะเป็นอย่างไรนั้น เราจะค่อย ๆ เรียนรู้กันในโอกาสต่อ ๆ ไปนะครับ
- ที่มา: ATmega328P datasheet