01. เริ่มต้นกับอาร์ดูโน
รายละเอียด และตำแหน่งสัญญาณ
อารฺดูโนที่นำมาใช้ทดสอบเป็นของบริษัท ETT จำกัด มีรายละเอียดตำแหน่งขาดังนี้
+5V(+Vin) เป็นขารับแหล่งจ่าย 5 โวลท์จากภายนอก
+VCC(+5V) เป็นขา VCC ของคอนโทรลเลอร์ ได้รับแรงดันมาจาก +5V(+Vin) ขา 28 และ +VSUB(+5V) ของขา USB โดยมีไดโอดป้องกันการย้อนกลับของแรงดัน
+AREF เป็นขาแรงดันอ้างอิงจากภายนอก สำหรับวงจร analog input
RESET# เป็นสัญญาณรีเซ็ตของซีพียู ทำงานด้วยโลจิก 0
Digital[0..13] เป็นสัญญาณ I/O แบบดิจิตอล ระดับแรงดันเป็น 0 ถึง 5 โวลท์
Analog[0..7] เป็นสัญญาณอินพุทแบบอนาลอก ใช้กับแรงดันได้ตั้งแต่ 0 ถึง 5 โวลท์
Circuit Diagram ของ ET-EASY168 STAMP บริษัท ETT จำกัด
การติดตั้งบอร์ดอาร์ดูโนเข้ากับเครื่องคอมพิวเตอร์และการทดสอบ
ติดตั้งโปรแกรม ดาวน์โหลดโปรแกรมอาร์ดูโน จาก http://arduino.cc/ ในเมนู Download ซึ่งมีให้เลือกทั้ง Windows Mac OS X และ Linux: 32 bit, 64 bit ในขณะนี้ ใช้บน Windows และเป็นเวอร์ชั่น arduino-1.0-windows.zip นำมาขยาย (Unzip) แล้วคัดลอกทั้งโฟลดเดอร์ไปติดตั้งที่ C:\Program Files\ (สามารถติดตั้งที่ใหนก็ได้) และเพื่อความสะดวกของการเรียกใช้ให้ทำ Short cut เอาใว้ จะได้ไม่ลืม
การติดตั้ง USB to Serial เมื่อต่อสายดาวน์โหลดจากบอร์ดเข้ากับพอร์ท USB เครื่องจะถามหาไดร์เวอร์ ให้เลือกจากโฟลเดอร์ drivers ที่อยู่ภายในโฟลเดอร์โปรแกรม เช่นเมื่อติดตั้งใว้ที่ C:\Program Files\ ก็จะอยู่ที่ C:\Program Files\arduino-1.0\drivers เมื่อติดตั้งเสร็จสามารถตรวจสอบได้จาก Device Manager เช่น
usb driver web http://www.ftdichip.com/FTDrivers.htm
การเลือกพอร์ท รันโปรแกรม Arduno ใช้เมนู Tools เลือก Serial Port แล้วคลิกเลือกพอร์ท COM ที่ตรวจสอบได้จากข้อ 2
การเลือกบอร์ด จาก เมนู Tools ในโปรแกรม Arduino เลือก Board สำหรับบอร์ดที่ทดลองให้คลิกที่ Arduino Nano W/ ATMega168
การกำหนด Programmer ให้เลือก AVRISP mkII
การกำหนดโฟลเดอร์สำหรับใว้โปรแกรมที่เขียนขึ้น ในArduino เรียกโฟลเดอร์นี้ว่า "Sketchbook" สามารถเลือกใว้ที่ใหนก็ได้ โดยใช้เมนู File เลือก Preference
การเขียนโปรแกรมใหม่ ใช้เมนู File เลือก NEW ให้เขียนโปรแกรมตามตัวอย่างนี้
void setup() { //ส่วนฟังก์ชั่น setup ใช้ใส่คำสั่งที่ต้องการให้ทำครั้งเดียว ก่อนเริ่มทำโปรแกรม loop
pinMode(13, OUTPUT); // กำหนดให้ขา digital 13 เป็นขาเอาท์พุท
}
void loop() { //ทำงานต่อเนื่องไม่มีการหยุด
digitalWrite(13, HIGH); // ทำให้ LED ติด
delay(500); // หน่วงเวลาการทำงานใว้ 500 ms
digitalWrite(13, LOW); // ทำให้ LED ดับ
delay(300); // หน่วงเวลาการทำงานใว้ 300 ms
}
การรันโปรแกรม ใช้เมนู File เลือก Upload Using Programmer หรือใช้
ขั้นตอนนี้อาร์ดูโน จะทำการแปลโปรแกรม แล้วดาวน์โหลดโปรแกรมลงบอร์ดทดลอง สุดท้าย บอร์ดทดลองก็รันโปรแกรม ถ้าไม่ทำให้ลองกดสวิทช์รีเซ็ตของบอร์ดทดลอง
ข้อควรจำ เนื่องจากขา Digital 0 (D0 หรือ PD0) เป็นขา RxD และ Digital 1 ( D1 หรือ PD1) เป็นขา TxD ของพอร์ทอนุกรม UART ซึ่ง Arduino ใช้เป็นพอร์ทดาวน์โหลดโปรแกรมลงชิพ AVR ดังนั้นขณะดาวน์โหลดโปรแกรมนี้ ห้ามต่อขา D0 และ D1 เข้ากับวงจรใดๆ
ข้อมูลเพิ่มเติมศึกษาได้จากคู่มือบอร์ดทดลอง ET-EASY168_STAMP_man.pdf ท้ายบทความนี้ หรือข้อมูลเกี่ยวกับ Arduino
วงจรทดลอง
สำหรับการทดลองแรกนี้ จะใช้เพียงบอร์ดทดลองอาร์ดูโนอย่างเดียว ไม่ต้องใช้อุปกรณ์อื่นจากภายนอก โดยจะให้ LED ที่ D13 ติดกระพริบ ไฟ้ฟ้า +5 โวลท์ก็ใช้จากพอร์ท USB
ความหมายของโปรแกรม
อาร์ดูโน จัดโปรกรมเป็นฟังก์ชั่นหลายๆฟังก์ชั่น แต่หลักๆจะมี
ฟังก์ชั่น setup ใช้สำหรับกำหนดหน้าที่ของขาสัญญาณ
ฟังก์ชั่น loop เป็นส่วนของฟังก์ชั่น main อาร์ดูโนจะทำงานที่ฟังก์ชั่นนี้เป็นหลัก
นอกจากนี้ สามารถมีฟังก์ชั่นอื่นๆได้อีก ดังจะเห็นได้จากตัวอย่างต่อๆไป
กำหนดขาสัญญาณ
void setup() {
// initialize the digital pin as an output.
pinMode(13, OUTPUT);
}
โปรแกรมที่ต้องการให้ทำ
void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(500); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(300); // wait for a second
}
การทดลองที่ 2
วัตถุประสงค์
รู้จักการใช้คำสั่งแบบ C ของ AVR ในการเขียนโปรแกรมบน Arduino
รู้จักความแตกต่างของตัวแปรแบบ unsigned char กับ char
วงจรทดลอง
หมายเหตุ
ETT เป็นเครื่องหมายการค้าของ บริษัทอีทีที จำกัด : ETT Co.,Ltd. http://www.etteam.com/