/* แนะนำหน้าที่ขาสัญญาณของบอร์ด Arduino UNO
========================================================================
IOREF คือ ขาสัญญาณแรงดันไฟอ้างอิงเมื่อเชื่อมต่ออุปกรณ์อินพุตและเอาต์พุต
Reset คือ ขารีเซ็ตการทำงานของ Microcomtroller
3V3 คือ ขาสัญญาณแรงดันไฟ 3.3 V
5V คือขาสัญญาณแรงดันไฟ 5 V
GND คือ ขากราวด์
VIN คือ ขาแรงดันไฟอินพุทที่ป้อนให้บอร์ดไมโครคอนโทรลเลอร์
A0 - A5 คือขาสัญญาณแอนะล็อกอินพุท มี 6 ขา คือ A0 A1 A2 A3 A4 แบะ A5
มีความละเอียด 10 บิต
RXD คือ ขาสัญญาณรับข้อมูลของการสื่อสารพอร์ตอนุกรม ( Series Port )
TXD คือ ขาสัญญาณส่งข้อมูลของการสื่อสารพอร์ตอนุกรม ( Series Port )
2 - 13 คือ ขาสัญญาณดิจิตอลอินพุตและเอาท์พุต และมีเอาต์พุต PWM 6 ขา คือ ขา 3 5 6 9 10
และ ขา 11
AREF คือ ขาสัญญาณแรงดันไฟอ้างอิงสำหรับแอนะล็อกอินพุต
=========================================================================
==========================================================================
สรุป
===========================================================================
ไมโครคอนโทรลเลอร์ คือตัวควบคุมขนาดเล็ก เป็นอุปกรณ์อิเล็อทรอนิกส์ชนิดหนึ่งที่ทำหน้าที่ประมวล
ผลตามโปรแกรมหรือชุดคำสั่งที่ป้อนเข้าไป มีหลากหลายตระกูล เช่น MCS-51, PIC AVR และ
Arduino โครงสร้างภายนอกมีลักษณะเป็นไอซี ส่วนโครงสร้างภายในจะเป็นวงจรรวมขนาดใหญ่ป่ระกอบ
ไปด้วย หน่วยคำนาณทางคณิตศาสตร์และลอจิก บัสข้อมูล บัสควบคุม บัสที่อยู่ ( Address Bus)
พอร์ตขนาน พอร์ตอนุกรม รีจิสเตอร์ หน่วยความจำ วงจรนับ วงจรจับเวลา และวงจรอื่นๆ รวมกันอยู่
ภายใน
Arduino เป็นไมโครโทรลเลอร์ขนาด 8 บิตในตระกูล AVR ที่ถูกออกแบบมาเพื่อให้ใช้งานได้ง่าย
สามารถเชื่อมต่อกับคอมพิวเตอร์ด้วยพอร์ต USB ได้สะดวก
Arduino UNO มีขา 0 - 13 เป็นขาดิจิทัลอินพุทและเอาท์พุต ในการเขียนโปรแกรมจะต้องมีการ
กำหนดขาสัญญาณให้เป็นอินพุตหรือเอาท์พุตโดยใช้คำสั่ง pinMode(pin Mode); และถ้าต้องการส่ง
ข้อมูลดิจิตัลออกต้องใช้คำสั่ง digitalWrite(); ส่วนการรับข้อมูลเข้าจะใช้คำสั่ง digitalRead();
ตัวอย่างคำสั่ง
===========================================================================
pinMode(13,OUTPUT); หมายถึง กำหนดให้ขา 13 เป็นขาเอาท์พุตเพื่อส่งสัญญาณออกไป
ควบคุมอุปกรณ์ภายนอกที่ต้องการ
pinMode(3,INPUT); หมายถึง กำหนดให้ขา 3 เป็นขาอินตเพื่อรับข้อมูลจากสวิตซ์หรือ
เซนเซอร์
digitalWrite(13,HIGH); หมายถึง ให้เอาต์พุตขา 13 เป็นลอจิก 1 หรือส่งสัญญาณไฟ
5 โวลต์ ออกที่ขา 13
if(digitalRead(2) == LOW) หมายถึง ถ้าค่าข้อมูลที่ขา 2 เป็น LOW ให้ทำคำสั่งใน
ฟังก์ชั่น if()
A0 - A5 = Analog INPUT
pin 0 - 13 = Digital Input/Output */