Step by Step Upload Bootloader Arduino UNO to Arduino UNO

บทความนี้เป็นบทความหนึ่งที่อาจจะเป็นประโยชน์กับเราเมื่อเกิดปัญหาเล็กๆ น้อยๆ กับบอร์ดประมวลผล Arduino ที่เราใช้ในการทดลองโครงงานต่างๆ ที่เกิดการชำรุดเสียหายของตัวชิฟ (Arduino UNO ใช้เบอร์ ATmega328P) หรือต้องการให้ตัวชิฟที่อยู่บนบอร์ดการทำงานต่างๆ ที่เราออกแบบและมีโปรแกรม Bootloader สำหรับใช้งานร่วมกับโปรแกรม Arduino IDE ได้ง่าย และบทความนี้จะเป็นการโปรแกรม Bootloader ระหว่างบอร์ด Arduino UNO ไปยัง Arduino UNO เพื่อเป็นแนวทางของการเลือกใช้บอร์ดโปรแกรมอื่นๆ ในกลุ่มของบอร์ดพัฒนา Arduino ต่อไป


สำหรับการ Upload Bootloader นั้น เราจะต่อวงจรระหว่างบอร์ด Arduino UNO และ Arduino UNO เข้าด้วยกันตามที่แสดงในรูปที่ 1 และรูปที่ 2 โดยจะมีแนวคิดและขั้นตอนดังนี้คือ เราจะต้องทำบอร์ดตัวหนึ่งให้เป็นตัวโปรแกรมเมอร์ก่อน (Programmer) ซึ่งจากในรูปที่ 2 จะเป็นตัวบอร์ดข้างบน และบอร์ดด้านล่างจะเป็นที่ถูกโปรแกรม (Target) ซึ่งในรูปที่ 3 ถึงรูปที่ 7 จะเป็นการสร้างตัวบอร์ดโปรแกรมเมอร์ก่อนครับ





หลังจากทำตามขั้นตอนต่างๆ ตามรูปที่ 3 ถึงรูปที่ 7 ซึ่งหมายความว่าเรามีตัวโปแกรมเมอร์ที่สามารถอัพโหลดคำสั่งไปยังบอร์ดอื่นได้แล้ว สำหรับขั้นตอนถัดไปจะเป็นการอัพโหลดคำสั่งกันต่อตามในรูปที่ 8 ถึงรูปที่ 10 โดยลำดับขั้นตอนดังกล่าวเราสามารถนำไปใช้กับบอร์ดอื่นๆ ในกลุ่ม Arduino ได้ เช่น Arduino MEGA และ Arduino NANO เป็นต้น



เมื่อทำตามขั้นตอนตามในรูปที่ 8 ถึงรูปที่ 10 เสร็จแล้ว ตัวบอร์ดที่ถูกโปรแกรม (Target) นี้ก็จะสามารถเชื่อมต่อกับโปรแกรม Arduino IDE ได้ทันที และในขั้นตอนต่อไปจะเป็นการทดสอบการทำงานของตัวบอร์ดที่ถูกโปรแกรมอีกครั้ง โดยจะแสดงในรูปที่ 11 รูปที่ 15 ตามลำดับขั้นตอน

ในขั้นตอนสุดท้ายนี้ เราจะนำบอร์ดที่ถูกโปรแกรม (Target) มาทดลองอีกครั้ง โดยการนำตัวอย่างโปรแกรมที่มีอยู่ใน Arduino IDE มาการทดลองในเบื้องต้น ซึ่งเป็นการทดลองการทำงานร่วมกันระหว่างโปแกรม Arduino IDE ในส่วนของซอร์ฟแวร์และตัวบอร์ดที่ถูกโปรแกรมดังกล่าวสำหรับในส่วนของฮาร์แวร์ โดยเมื่อทำการอัพโหลดโปรแกรมไฟกระพริบ (Blink) และตัวบอร์ดแสดงผลได้ก็เป็นอันถูกต้อง




สำหรับบทความ Step by Step Upload Bootloader Arduino UNO to Arduino UNO นี้ เป็นการนำเสนอเนื้อให้สั้นและกระชับที่สุดเพื่อให้ผู้อ่านเข้าใจง่ายและใช้เวลาในการทำความเข้าใจขั้นตอนต่างๆ น้อยที่สุด โดยทั้งนี้สำหรับงานที่เกี่ยวกับการทดลองออกแบบระบบควบคุมการทำงานและประยุกต์ใช้งานต่างๆ โดยเฉพาะงานที่ใช้แรงดันไฟเลี้ยงสูงจะมีโอกาสทำให้ตัวบอร์ดควบคุมเสียหายได้ง่าย ดังนั้นการซ่อมแซมหรือเปลี่ยนตัวชิฟให้กับตัวบอร์ด Arduino ก็จำเป็นจะต้องทำการ Upload Bootloader ไปด้วย เพื่อให้สามารถนำมาใช้งานได้เหมือนบอร์ดทั่วไป และคิดว่าบทความนี้น่าจะเป็นประโยชน์ให้กับผู้อ่านอีกเรื่องหนึ่งครับ.
Reference
- https://support.arduino.cc/hc/en-us/articles/360012048080-How-to-burn-the-bootloader-between-two-Arduino-UNO
- https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP
- https://www.youtube.com/watch?v=UQk8oLreP8E
- https://support.arduino.cc/hc/en-us/articles/4412950855442-How-to-burn-bootloader-to-Arduino-Uno-using-Arduino-Mega
- https://www.theengineeringprojects.com/wp-content/uploads/2015/10/How-to-Upload-Bootloader-in-Atmega328.jpg