เดี๋ยวโค้ดผมเอามาวางให้ดูครับ
เบื้องต้นถ้าใช้ esp32 โดยการใช้ task เข้ามาช่วย จอlcd ควรจะอยู่ที่ core เดียวกันนะครับ ถ้าเอาโค้ด จอ lcd ไปวางต่าง core อีกกันมันจะทำงานได้สักพัก แล้วจะเกิดตัว อักษรเพี้ยน เนื่องจากโค้ดมันทำงาน 2 core พร้อมกัน มันทำไม่ทัน blynk ก็เช่นกันครับ
เป็นเหมือนผมเลย ผมเลยเลิกใช้lcdไปเลย
ขอ อนุญาติ จขกท.แทรกถามหน่อยครับ
1ผมnodemcu8266 ซึ่ง มีcoreเดียว เป็นภาษาต่างดาวเหมือนกัน
มีวิธีแก้ไหมครับ
2.ขอเป็นความรู้หน่อยว่า จะกำหนดอย่างไรให้มันทำงานในคอร์เดียวกันในesp32
ขอบคุณครับ
อันนี้ไม่มีหลักการอะไรนะครับ แค่เล่าจากประสบการณ์
Eep8266 ต้องดู
1.เรื่องโค้ดของเวลา ที่จะให้แสดงผลในจอแอลซีดี ทั้งใน Loop ทั้ง void function ย่อยๆ ว่า เร็วเกินไปมั๊ย แรกๆทำงานได้หลังๆ เพี้ยน
2.ถ้าข้อ 1. ผ่าน ก็ไปดูว่า esp8266 ของเราต่อเข้ารีเลย์ แล้วไปขับโหลดอะไรเช่น ถ้าต่อแต่ปิดเปิดหลอดไฟ ก็ไม่ค่อยมีปัญหาอะไร แต่ถ้าเอาไปเปิดโหลดมอเตอร์ เช่นพัดลม หรือโหลด L บางครั้งมันจะเกิด สนามแม่เหล็กขึ้น ซึ่งส่งผลให้ esp8266 รีสตาร์ทบ่อยเมื่อสั่งให้อุปกรณ์เหล่านี้ทำงาน โดยบางครังจะทำให้ ข้อความในจอ lcd เพี้ยนด้วย
Esp32
ก็ให้ทำงานที่ core 1 ไปเลยก็ได้ครับ
ขอบคุณครับ