พอมีแนวทางแก้ไขยังไงบ้างคะ
autoPump() ไม่จำเป็นต้องเรียกใช้ sensor() อีก เพราะ waterlevel ได้รับค่าจากการทำงาน sensor() จากการดูแลของ timer ทุกๆ 100ms อยู่แล้ว
ขอบคุณครับ บางทีควรจะเเบ่งเป็นไฟล์ๆเเล้ว include มาใช้ เพื่อลดความงงของตัวผมเอง😂
ใน void loop ผมว่าลองเอาออกเหลือเเค่ timer.run(); ดูมั้ยครับ
เพราะเราแยก trigger ของฟังชั่นเเต่ละตัวเเล้วว่าจะทำงานตอนเวลาไหน พอถึงเวลามันก็วนทำงานของมันไม่ต่างจากอยู่ใน loop นะผมว่า
จริงครับ หลังๆ มาโค้ตเริ่มยาว จะเริ่มหาอะไรไม่เจอ 555
อยากให้พี่ สอนติดตั้ง extention arduino ide ที่ใช้บน vscode ให้หน่อยครับผมเคยลงเองเเล้วงงๆ
เดียวเรียบเรียงให้นะครับผมเคยลงนานมากแล้ว ตอนนั้นซับซ้อนจริงๆ แต่เคยรวบรวมข้อมูลไว้อยู่ว่ามันมีตัวที่กดแล้วตั้งค่าให้เราหมดเลย ตอนนี้น่าจะมีวิธีที่ง่ายกว่ามากแล้ว
ครับ รอติดตามครับ
Arduino:1.8.19 (Windows 8.1), บอร์ด:“NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200”
C:\Users\suwatjanan0987\Desktop\projectNew\projectNew.ino: In function ‘void setup()’:
projectNew:139:3: error: ‘timer’ was not declared in this scope; did you mean ‘timer_’?
139 | timer.setInterval(1000L, checkTime);
| ^~~~~
| timer_
C:\Users\suwatjanan0987\Desktop\projectNew\projectNew.ino: In function ‘void loop()’:
projectNew:147:3: error: ‘timer’ was not declared in this scope; did you mean ‘timer_’?
147 | timer.run();
| ^~~~~
| timer_
Multiple libraries were found for “Servo.h”
Used: C:\Users\suwatjanan0987\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\libraries\Servo
Not used: C:\Users\suwatjanan0987\Downloads\arduino-1.8.19-windows\arduino-1.8.19\libraries\Servo
exit status 1
‘timer’ was not declared in this scope; did you mean ‘timer_’?
This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.
ช่วยแก้หน่อยค่ะ