อัพโหลดโค้ด ATmega328P ด้วย External Tools

ในบทความนี้เราจะเรียนรู้วิธีโหลดโปรแกรมไปยังบอร์ด ATmega328P โดยใช้ Atmel Studio สิ่งนี้มีประโยชน์เมื่อคุณต้องการพัฒนาโปรแกรมโดยใช้คุณสมบัติขั้นสูงเพิ่มเติมหรือในภาษาอื่นในเช่นเราจะใช้ภาษา C , Assembly ในการทำงานนี้เราจะใช้ตัวเลือก “avrdude” และ “external tools” ใน Atmel Studio

หมายเหตุ : ค่าที่ป้อนเข้าไปที่ข้อ 4 ในการปรับแต่ง Atmel Studio 7 นั้นในคอมแต่ละเครื่องอาจจะไม่เหมือนกัน ฉะนั้นให้ทำตามขั้นตอนด้านล่างนี้


การใช้ Atmel Studio 7 อัพโหลดโค้ด ATmega328P มีขั้นตอนดังนี้


1 : ทดสอบโปรแกรมแรก กับ ATmega328P

โปรแกรมแรกของ การใช้งานไมโครคอนโทรลเลอร์มักจะเป็น Blink ไฟกะพริบ ซึ่งเป็นหนึ่งในโปรแกรมที่ง่ายที่สุดเท่าที่จะเป็นไปได้ในการเขียนภาษาโปรแกรมต่างๆ เพราะฉะนั้นโดยธรรมเนียมปฏิบัติแล้ว มักจะใช้ในการตรวจสอบว่าเขียนภาษาโปรแกรมได้ถูกต้องหรือระบบมีการประมวลผลที่ถูกต้อง และมักถูกใช้เป็นตัวอย่างที่ง่ายที่สุดในการแสดงผลลัพธ์ของการเขียนโปรแกรม โดยทำตามขั้นตอนลิงค์ด้านล่าง


2. ติดตั้งโปรแกรม Arduino IDE

สำหรับการเขียนโปรแกรมของ Arduino IDE นั้นจะใช้ภาษา C/C++ ซึ่งเป็นรูปแบบภาษาซีประยุกต์แบบหนึ่ง ที่มีโครงสร้างการทำงานของตัวภาษาโดยรวม คล้ายกับ ภาษาซีมาตรฐาน (ANSI-C) ทั่วๆไป เพียงแต่ได้มีการปรับปรุงเพื่อลดความยุ่งยากในการใช้งานลง เพื่อให้ผู้ใช้สามารถใช้งาน เขียนโปรแกรมได้ง่าย และสะดวกมากกว่าเขียนภาษาซี แบบมาตรฐาน

Arduino integrated development environment หรือเรียกสั้นๆว่า โปรแกรม Arduino IDE เป็นโปรแกรมที่ “แจกฟรี” ภายใต้เงื่อนไขในการใช้งานลักษณะ Open source ซึ่ง Arduino IDE จะทำหน้าที่ ติดต่อ ระหว่าง คอมพิวเตอร์ ของเรา (Windows, Mac OS และ Linux) กับ บอร์ด Arduino ซึ่งโปรแกรมนี้ออกแบบให้ง่ายต่อการเขียนโค้ดและอัปโหลดโค้ดที่เราเขียน เข้าสู่ บอร์ด Arduino ซึ่ง Arduino IDE ที่เราดาวน์โหลดมานั้น จะมีโปรแกรม AVRDUDE ที่เป็นโปรแกรมสำหรับเบิร์นชิพ ติดมาด้วย

โดย Download ตัวติดตั้งได้จาก

https://www.arduino.cc/en/Main/Software

เลือก Windows Win 7 and newer

ติดตั้งโปรแกรม Arduino IDE


เมื่อดาวน์โหลดเสร็จแล้ว ให้ติดตั้งตามที่โปรแกรมแนะนำ



เลือก I Agree

ติดตั้งโปรแกรม Arduino IDE

เลือก Next >

เลือก Install

ติดตั้งโปรแกรม Arduino IDE

โปรแกรมใช้งานได้แล้ว เลือก Close เพื่อปิดโปรแกรมลงไป

โปรแกรมใช้งานได้แล้ว


3 : อัพโหลดโค้ดให้กับ ATmega328P


เปิดโปรแกรม Arduino IDE เขียนโปรแกรม หรือ Sketch ตามโค้ดด้านล่างนี้


void setup() 
 {
    Serial.begin(9600);
 }
 void loop() 
 {
    Serial.println("Hello World");
 }

ไปที่ File -> Preferences

ติ๊กเลือก upload -> OK

ไปที่ Tools -> Board -> Arduino AVR Boards -> เลือกบอร์ดเป็น Arduino UNO


เลือก Port โดยไปที่ Tools -> Port -> COM11
(โดย COM11 แต่ละเครื่องจะไม่เหมือนกัน ให้เลือกตามที่ปรากฎ)

คลิกที่ Upload


รอจนกระทั่งขึ้น Done uploading. ที่แถบด้านล่าง แสดงว่าเราอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จแล้ว

เลื่อนไปด้านบนสุด แล้ว Copy บรรทัดที่ 3 ทั้งหมด


ในตัวอย่างไปวางไว้ที่โปรแกรม Notepad


แบ่งออกเป็น 2 ส่วน


บรรทัดที่ 1 เพิ่ม .exe หลัง avrdude เป็น avrdude.exe


บรรทัดที่ 2 เพิ่มเครื่องหมายคำพูด ที่

"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"




ลบข้อความหลัง Uflash:w: ออกทั้งหมด




เพิ่มข้อความหลัง Uflash:w:

ด้วยข้อความ

"$(ProjectDir)Debug\$(TargetName).hex":i"


จากตัวอย่าง จะได้บรรทัดที่ 1 เป็น

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude.exe


บรรทัดที่ 2 เป็น

-C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega328p -carduino -PCOM11 -b115200 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i"


4 : การปรับแต่ง Atmel Studio 7

ไปที่ Tools -> External Tools…


ที่ Title: ในตัวอย่างตั้งชื่อเป็น ATmega328P Upload

การใช้ Atmel Studio 7 อัพโหลดโค้ด บอร์ด Arduino



ที่ Command: นำข้อมูลจากข้อ 3 บรรทัดที่ 1 มาใส่ในช่องนี้ ในตัวอย่างเป็น

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude.exe


ที่ Arguments: นำข้อมูลจากข้อ 3 บรรทัดที่ 2 มาใส่ในช่องนี้ ในตัวอย่างเป็น

-C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega328p -carduino -PCOM11 -b115200 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i"


ติ๊กเลือก Use Output window -> OK


เมื่อต้องการอัพโหลด ไปที่ Tools -> ATmega328P Upload (ที่ตั้งชื่อไว้)


ที่ Output ด้านล่างซ้ายมือ แสดง avrdude.exe done. Thank you. แสดงว่าการอัพโหลดสำเร็จแล้ว


และ ไฟ LED ที่เชื่อมต่อที่ขา PB5 ของ ATmega328P กระพริบ ติด-ดับ แสดงว่า การทดสอบการทำงานอัพโหลดโค้ด เข้าบอร์ด ATmega328P สําเร็จแล้ว



<<< C1: โปรแกรมแรก กับ ATmega328P บทความก่อนหน้า | บทความต่อไป C3: การเขียนโปรแกรม GPIO เบื้องต้น >>>

Leave a Reply

Your email address will not be published. Required fields are marked *

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save