นาฬิกา

วันอาทิตย์ที่ 10 กุมภาพันธ์ พ.ศ. 2556

พื้นฐานไมโครคอนโทรลเลอร์ด้วย Arduino


พื้นฐานไมโครคอนโทรลเลอร์ด้วย Arduino

ไมโครคอนโทรลเลอร์คืออะไร
ไมโครคอนโทรลเลอร์ คือ อุปกรณ์ที่มีหน่วยประมวลผลและความจำขนาดเล็กภายในตัวเอง สามารถรับ-ส่ง ข้อมูลได้ทั้งแบบดิจิตอลและอนาล็อก ใช้พลังงานน้อย ทำให้เป็นที่นิยมในการใช้งานในรูปแบบที่เรียกว่า Embedded เช่น เครื่องใช้ไฟ้าอัจฉริยะทั้งหลาย
Arduino คืออะไร
Arduino (อ่านว่า อา-ดู-อิ-โน่ หรือจะเรียกว่า อาดุยโน่ ก็ได้) คือ ไมโครคอนโทรลเลอร์ ชนิดหนึ่ง ซึ่งเป็นแบบที่เรียกว่า Open Hardware กล่าวคือ Arduino อุปกรณ์ที่มีแบบส่วนประกอบเป็นมาตรฐานที่เปิดเผย หมายความว่า เราสามารถทำเองโดยใช้แบบที่มีการเปิดเผยทั่วไปก็ได้ หรือสามารถซื้อหาได้ง่าย มีราคาถูก มีซ๊อพต์แวร์ให้ใช้งานฟรี สามารถนำไปใช้งานทั่วไปหรือแบบธุรกิจได้โดยไม่ต้องเสียค่าลิขสิทธิ์ เป็นรูปแบบที่มีข้อมูลมากที่สุดบนอินเตอร์เน็ต การพัฒนาก็ง่าย เพราะมีตัวอย่างมากมาย และไม่ต้องเขียนโปรแกรมในรูปแบบ Low Level หมายความว่า เราสามารถใช้คำสั่งเขียนโปรแกรมได้เสมือนโปรแกรมภาษาชั้นสูงทั่วไป

ดาวโหลดซ๊อพต์แวร์
สามารถดาวโหลดซ๊อพต์แวร์ได้ที่ http://arduino.cc/en/Main/Software โดยเราสามารถดาวโหลดได้ตาม OS ที่เราใช้ เช่น Windows, Linux หรือ Mac เมื่อดาวโหลดมาแล้ว ขอให้แตกไฟล์ไว้ในเครื่องของเรา จากนั้นให้ดับเบิ้ลคลิกไฟล์ arduino.exe (ถ้าเราใช้ Windows) ก็จะเปิดโปรแกรมดังรูป

ตัวอย่างไฟกระพริบ
โดยปกติแล้วบอร์ด Arduino ที่ซื้อมา มักจะมาพร้อมกับไฟ LED ที่ต่ออยู่กับขาหมายเลข 13 ของไมโครคอนโทรลเลอร์อยู่แล้ว ดังนั้นในตัวอย่างแรก เราจะใช้อุปกรณ์ที่มีอยู่แล้วมาใช้งาน โดยที่ไม่ต้องต่ออุปกรณ์ใดๆเลย เริ่มต้นขอให้ต่อสาย USB เข้ากับบอร์ดและต่อเข้ากับช่อง USB ในเครื่องคอมพิวเตอร์ จากนั้นให้รอจนเครื่องคอมพิวเตอร์พบอุปกรณ์ เราจะพบว่า บนเครื่องของเราจะมี Port เพิ่มขึ้นมา 1 พอร์ต ซึ่งก็คือพอร์ตที่เราจะใช้งานให้คอมพิวเตอร์คุยกับบอร์ดของคอนโทรลเลอร์นั่นเอง ในกรณีที่เครื่องคอมพิวเตอร์ไม่สามารถหาไดรเวอร์ได้ ขอให้ไปดาวโหลดไดรเวอร์ที่ http://www.ftdichip.com/FTDrivers.htm
โดยปกติแล้วบอร์ด Arduino จะต้องมีไฟเลี้ยง 5 โวลล์ แต่ถ้าเราต่อกับคอมพิวเตอร์ มันก็จะใช้ไฟเลี้ยงที่ออกจาก USB ได้เองทำให้สะดวกมาก จากนั้นขอให้เปิดโปรแกรม Arduino ขึ้นมา ไปที่เมนู Tools->Board จากนั้นให้เลือกรุ่นบอร์ดที่ตรงกับที่เราใช้งาน ในที่นี้ผมใช้ Arduino Mega ADK (หากท่านยังไม่มีสามารถซื้อได้ที่ http://www.thainetbeans.com/forum/viewtopic.php?t=1164) จากนั้นให้ไปที่เมนู Tools->Serial Port แล้วเลือกพอร์ตที่เพิ่มมาใหม่ ในกรณีที่ไม่แน่ใจ ให้ลองดึงสาย USB ที่ต่อออก แล้วลองต่อใหม่ ก็จะเห็นว่าเราใช้พอร์ตอะไรอยู่ จากนั้นให้ไปที่เมนู File->Examples->Basics->Blink หรือเขียนโปรแกรมตามนี้
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}

จากนั้นให้คลิกปุ่ม Upload บน Toolbar ดังรูป

รอสักครู่ เราจะเห็นไฟกระพิบถี่ๆ เป็นการแสดงว่าคอมพิวเตอร์กำลังส่งข้อมูลระหว่างบอร์ดอยู่ เมื่อเสร็จแล้วเราจะเห็นว่ามีไฟกระพริบเปิดและปิดทุกช่วงวินาที เราจะพบว่าตัวโปรแกรม(เราเรียกว่า sketch) นั้นมีขนาดเล็กมากและมีเพียง 2 ฟังชั่นเท่านั้น โดยฟังชั่นทั้ง2นั้น เป็นฟังชั่นพื้นฐานที่จะต้องมีเสมอ ฟังชั่น setup จะทำงานครั้งแรกเพียงครั้งเดียวหรือทุกครั้งที่เราเปิดเครื่องใหม่ ในที่นี้เราสั่งบอร์ดว่าเราจะใช้ขาที่ 13 สำหรับส่งข้อมูลออกไป ส่วนฟังชั่น loop จะทำงานวนไปตลอดไม่หยุด ในที่นี้ก็คือส่งค่าแบบดิจิตอลไปที่ขา 13 โดยมีค่าสูง(5 โวลล์) แล้วหยุดรอ 1 วินาที ทำให้ไฟ LED ติด จากนั้นจึงแบบดิจิตอลไปที่ขา 13 โดยมีค่าต่ำ(0 โวลล์) แล้วหยุดรอ 1 วินาที ทำให้ไฟ LED ดับ โดยฟังชั่น delay จะเป็นการสั่งให้บอร์ดหยุดรอโดยมีหน่วยเป็น millisecond

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

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