อิโนะ: งั้นเรามาเริ่มต้นจากโปรเจคท์ง่ายๆกันก่อนก็แล้วกัน นั้นก็คือ การสั่งงานบอร์ดทดลอง T-BASE AVR EASY328 ให้สามารถสั่งงานหลอด LED ได้ก่อนแล้วกัน
อาดู๋: ดีครับ เริ่มเลยครับ
อิโนะ: ก่อนการเขียนโปรแกรมสั่งงานบอร์ดทดลองเราต้องมาดูลายวงจรของบอร์ดกับชุด ทดลองกันก่อน
วงจร การทดลองสั่งงานพอร์ตเป็น Output LED
วีดีโออธิบาย การต่อวงจร Circuit และอธิบาย Code การทดลอง Output LED
อิโนะ:จาก วงจรรูปนี้จะมีอุปกรณ์ตัวใหญ่ที่เขียนว่า Arduino อยู่นั้นก็คือตัวบอร์ด ET-EASY328 และมีอุปกรณ์ตัวเล็กๆอยู่ข้างๆ 2 ตัวคือ ตัวต้านทาน(R) และตัวไดโอดเปล่งแสง(LED) และจะเห็นว่าที่ขา Digital-13 ของตัวบอร์ดจะต่ออยู่กับ R เพื่อทำหน้าที่ขับ LED ให้มีไฟติด
อิโนะ:เมื่อทำ การกำหนด Tools ต่างๆเรียบร้อยแล้ว ก็จะมาทำการเปิดไฟล์ตัวอย่างกัน โดยทำการเลือกไปที่เมนู File->Examples->Blink ซึ่งเป็นตัวอย่างที่ Arduino ให้ไว้สำหรับทดสอบการกระพริบของหลอด LED
เลือกทดสอบ การทำงาน Output LED ใช้ Example โปรแำกรมชื่อ Blink
อิโนะ:แล้วก็ทำ การคอมไพล์(Compile)ไฟล์ sketch โดยคลิ๊กไปที่ Compile ถ้าคอมไพล์ผ่านไม่มีจุดผิดพลาด(Error)ก็จะขึ้นคำว่า Done Compiling ขึ้นมาที่ข้างล่าง แต่ถ้ามีจุดผิดพลาดเกิดขึ้นต้องทำการแก้ไขจนกว่าจะคอมไพล์ผ่าน
เมื่อ Compile เสร็จ จะขึ้นคำว่า Done Compilling
ทำการต่อ วงจรตามรูป ต่อ Power, ต่อสาย RS-232, ต่อวงจร LED
อิโนะ:หลังจาก นั้นก็จะทำการอัพโหลดโปรแกรมลงบอร์ดทดลอง โคยคลิ๊กไปที่ปุ่ม Upload ตัวโปรแกรม Arduino IDE จะทำการคอมไล์ไฟล์ sketch แล้วก็จะทำการอัพโหลดลงสู่บอร์ดทดลอง เมื่อเสร็จแล้วจะขึ้นคำว่า Done Uploading ขึ้น
กำลัง ทำการอับโหลดโปรแกรมลงสู่บอร์ดทดลอง
เมื่ออับ โหลดโปรแกรมเสร็จสิ้น จะขึ้นคำว่า Done uploading
วีดีโอแสดงผลการ ต่อบอร์ดทดลองArduino การทดลอง Output LED ไฟกระพริบ
อาดู๋: โอว... หลอด LED เริ่มกระพริบแล้ว แต่ตัวโปรแกรมมันทำงานอย่างไรล่ะถึงทำให้ไฟกระพริบได้
อิโนะ: เดี๋ยวจะเขียนเป็น Flowchart ของโปรแกรมให้ดู
Flowchart การทำงานของโปรแกรม Output LED
วีดีโอ อธิบาย Flowchart การทำงานของโปรแกรม Output LED
อิโนะ: ในส่วนของการทำงานหลัก(Main Program)จะเห็นว่ามีการเรียกใช้งานฟังก์ชั่นอยู่ 2 ฟังก์ชั่นคือฟังก์ชั่นsetup() กับ ฟังก์ชั่นloop() ในฟังก์ชั่นsetup()นั้นจะเป็นฟังก์ชั่นสำหรับการกำหนดค่าการทำงานสำหรับขา สัญญาณต่างๆสำหรับการทดลองนี้จะเป็นการกำหนดให้ขาสัญญาณ Digital-13 ทำหน้าที่เป็น OUTPUT และในฟังก์ชั่นloop()นั้นก็จะเป็นฟังก์ชั่นที่ทำงานแบบวนลูปทำงานตลอดสำหรับ การทดลองนี้จะเริ่มจากการสั่งงานขาสัญญาณ Digital-13 ให้เป็นลอจิก "1” แล้วก็ทำการหน่วงเวลา 1 วินาทีีหลังจากนั้นก็ทำการสั่งงานขาสัญญาณ Digital-13 ให้เป็นลอจิก "0” แล้วก็ทำการหน่วงเวลา 1 วินาทีีเมื่อจบการทำงานแล้วก็จะทำการย้อนกลับไปเริ่มต้นทำงานใหม่ไปเรื่อยๆ
อาดู๋: แล้วถ้าต้องการให้มีลูกเล่นมากกว่านี้ล่ะ
อิโนะ: ก็อาจจะต้องเขียนโปรแกรมเพิ่มหรือต่ออุปกรณ์อย่างอื่นเพิ่มอย่างเช่น สวิทซ์ เป็นต้น งั้นเดี๋ยวเรามาลองต่อสวิทซ์เพิ่มดูแล้วกัน
ต่อวงจร Hardware ตามรูป ต่อ Power, ต่อ RS-232, ต่อวงจร LED, ต่อวงจร Switch
อาดู๋: ดีๆ เอาเลย....
อิโนะ: เริ่ม เลยนะเหมือนกับการทดลองแรกเราต้องมานั่งดูลายวงจรกันก่อนว่าจะสั่งงานขาไหนบ้าง
วงจร การทดลองรับค่าสวิทซ์ Input แสดงผล Output ที่ LED
วีดีโออธิบาย การต่อวงจร Circuit และอธิบาย Code การทดลอง Output LED และรับค่า Input จาก Switch Button
อิโนะ: ครั้งนี้จะเห็นว่าลายวงจรมีการเพิ่มสวิทซ์ต่อเข้าที่ขา Digital-2 ด้วยดังนั้นในตอนเขียนโปรแกรมจะต้องมีการกำหนดการทำงานของขา Digital-2 ด้วย
อาดู๋: แล้วคราวนี้ต่อให้มันทำงานย่างไรเหรอ
อิโนะ: คราวนี้เราจะเขียนโปรแกรมให้หลอด LED ติดเมื่อกดสวิทซ์และหลอด LED จะดับเมื่อปล่อยสวิทซ์ตาม Flowchart นี้
Flowchart การทำงานของโปรแกรม Input Switch แสดงผล Output LED
วีดีโอ อธิบาย Flowchart การทำงานของโปรแกรม Input Switch แสดงผล Output LED
อาดู๋: อ่อ..เหมือน กับกดสวิตซ์ไฟฉายค้างไว้ใช่ไหม?
อิโนะ: ใช่แล้ว เรามาโหลดโปรแกรมลงบอร์ดแล้วลองดูการทำงานกันเลยดีกว่า คราวนี้ก็จะมาทำการเปิดไฟล์ตัวอย่างสำหรับการทดสอบปุ่มคีย์กัน โดยทำการเลือกไปที่เมนู File->Examples->Button เมื่อเปิดไฟล์แล้วเราก็ทำตามขั้นตอนเหมือนกับการทดลองไฟกระพริบก็คือทำการ คอมไพล์แล้วก็ตามด้วยการดอัพโหลดโปรแกรมลงบอร์ด
เลือกเปิด โปรแกรม Example Button
ทำการอับ โหลดโปรแกรมลงสู่บอร์ดทดลอง
วีดีโอ การต่อบอร์ดทดลอง Arduino การทำงานของโปรแกรม Input Switch แสดงผล Output LED
อิโนะ: เป็น อย่างไรบ้างล่ะบอร์ดชุดทดลอง Arduino ของ ETT ชุดนี้
อาดู๋: แจ๋วมากเลย...ขอบใจนายมากเลยนะที่ช่วยแนะนำและให้ข้อมูลเกี่ยวกับเจ้า Arduino นี่ สังสัย เราจะต้องไปหาซื้อมาไว้ทดลองเล่นบ้างแล้ว แต่ถ้ามีปัญหาอะไรขึ้นมานี่เรามาถามนายได้หรือเปล่า?
อิโนะ: ได้สิ...พร้อมให้คำปรึกษาเสมอ
…............... โปรดติดตามตอนต่อไปนะครับ …...................