วิธีแก้ไขปัญหาการรันโค้ดเก่าบน Arduino ESP32

 


ESP32 เป็นไมโครคอนโทรลเลอร์ Wi-Fi และ Bluetooth ประสิทธิภาพสูงและต้นทุนต่ำจาก Espressif Systems ที่สามารถตั้งโปรแกรมด้วย Arduino IDE หรือ Arduinodroid ได้ในโพสต์วันนี้ ฉันจะแสดงวิธีแก้ไขปัญหาที่การอัปโหลดโปรแกรมสำเร็จ แต่โค้ดเดิมใช้งานได้ แต่โค้ดใหม่ใช้งานไม่ได้


ESP32 คืออะไร?


ESP32 เป็นชิปไมโครคอนโทรลเลอร์ที่ได้รับความนิยมอย่างมากสำหรับโครงการ IoT (Internet of Things) รองรับ Arduino UNO และมี Wi-Fi/Bluetooth ในตัว จึงใช้งานกันอย่างแพร่หลายในบ้านอัจฉริยะ ระบบเซ็นเซอร์ หุ่นยนต์ ระบบอัตโนมัติ และอื่นๆ


ทำไมโค้ดใหม่ถึงไม่ทำงาน?


โหมดอัปโหลดของ Arduino แตกต่างจาก ESP32 โดย ESP32 มีปุ่ม EN (Reset) และปุ่ม BOOT และอินพุตโปรแกรมก็แตกต่างจาก ArduinoUNO เช่นกันESP32 มีสองโหมดสำหรับการอินพุตโปรแกรม: โหมดปกติและโหมดบูต


โหมดปกติ: สามารถยอมรับอินพุตโปรแกรมได้ แต่ไม่สามารถดำเนินการโค้ดใหม่ได้


โหมดการบูต: ช่วยให้คุณสามารถติดตั้งโปรแกรมและรันโค้ดใหม่


จะเปลี่ยนโหมด Boot ได้อย่างไร?

ขั้นตอนการเข้าสู่โหมดบูตสามารถทำได้ดังนี้ คุณต้องทำตามขั้นตอนเหล่านี้


• คอมไพล์โปรแกรมก่อนอัปโหลดไปยัง Arduino Droid/IDE

•จะต้องเลือกประเภทบอร์ด ESP32 อย่างถูกต้องใน IDE

• กดปุ่ม EN และปุ่ม BOOT บนบอร์ด ESP32 ค้างไว้

• หากระบบระบุว่ากำลังอัปโหลดในขณะที่โปรแกรมกำลังถูกอัปโหลด ให้ปล่อยปุ่ม EN ก่อน จากนั้นจึงปล่อยปุ่ม BOOT


หลังจากเข้าสู่ BOOT MODE และอัปโหลดแล้ว โค้ดใหม่จะทำงานบนบอร์ด ESP32

โค้ดตัวอย่าง BLink:


void setup() {

  pinMode(2, OUTPUT);

  Serial.begin(115200);

  Serial.println("NEW CODE LOADED SUCCESS!");

}


void loop() {

  digitalWrite(2, HIGH);

  Serial.println("LED ON - NEW CODE");

  delay(300);

  digitalWrite(2, LOW);

  Serial.println("LED OFF - NEW CODE");

  delay(300);

}

โปรดทราบว่า ArduinoUNO สามารถอัปโหลดได้เฉพาะในโหมดปกติเท่านั้น ในขณะที่ ESP32 จะทำงานเมื่ออัปโหลดโปรแกรมในโหมด BOOT เท่านั้นการใช้วิธีนี้ช่วยให้คุณสามารถเอาชนะปัญหาโค้ดใหม่ไม่ทำงานได้


Post a Comment

© Delta Coder. All rights reserved. Distributed by Pixabin