ปัญหาด้านการเขียนโค้ด
❌was not declared in this scope
ตรวจการสะกดชื่อตัวแปร พิมพ์เล็ก-ใหญ่ต้องตรงกัน และเช็คว่าประกาศตัวแปรไว้ในส่วน Global (บนสุด) หรือยัง
❌Expected ';' before '}'
ลืมเครื่องหมายเซมิโคลอนปิดท้ายบรรทัดก่อนหน้า หรือลืมปิดวงเล็บปีกกาของฟังก์ชัน setup/loop
❌Code รันได้แต่ผลลัพธ์เพี้ยน
ใช้ Serial.println(ตัวแปร); เพื่อดูค่าที่เกิดขึ้นจริงในขณะนั้น ตรวจสอบตรรกะ if-else ว่าใส่เครื่องหมาย < > สลับกันหรือไม่
❌ใช้ตัวแปรผิดประเภท
หากคำนวณทศนิยมต้องใช้ float หากเก็บค่าระยะทางจาก Ultrasonic แนะนำใช้ long เพื่อรองรับค่าที่มากเกิน 32,767
ปัญหาด้านการต่อวงจร
⚠️ บอร์ดดับเมื่อต่ออุปกรณ์
เกิดการ Short Circuit รีบถอดสาย USB ออกทันที! ตรวจสอบว่าสายไฟ 5V กับ GND แตะกันโดยตรงหรือไม่
⚠️ อุปกรณ์ทำงานไม่นิ่ง
ลืมต่อสายกราวส์ร่วมกัน (Common GND) อุปกรณ์ทุกตัวต้องมีสายสีดำต่อกลับมาที่ขา GND ของ Arduino เสมอ
⚠️ Breadboard เชื่อมต่อไม่ถึงกัน
ตรวจสอบว่าเสียบสายในแถวเดียวกันหรือไม่ (รูแนวนอน/แนวตั้งตามลักษณะบอร์ด) และเช็คสาย Jumper ว่าขาดในหรือไม่
⚠️ LED ไม่สว่าง
เช็คขั้ว LED (ขายาวคือบวก) และตรวจสอบว่าลืมใส่ตัวต้านทาน 220 โอห์ม หรือใส่ค่ามากเกินไปจนไฟไม่พอหรือไม่
ปัญหาเซนเซอร์ต่างๆ
📡 Ultrasonic อ่านค่าเป็น 0 หรือ 3000
เช็คการต่อขา Trig/Echo ว่าสลับกันไหม และตรวจสอบว่าวัตถุอยู่ใกล้เกินไปหรืออยู่นอกมุมสะท้อนของเซนเซอร์หรือไม่
📡 LDR/Potentiometer ค่าโดดไปมา
เพิ่ม delay(50); ใน loop เพื่อให้ ADC ทำงานทัน และเช็คว่าขา Analog ต่อแน่นสนิทหรือไม่
📡 เซนเซอร์ไม่ทำงานในที่มืด/สว่าง
สำหรับเซนเซอร์แสงหรือ IR ต้องปรับปุ่มหมุน (Trimmer) ที่ตัวโมดูลเพื่อตั้งค่าความไว (Sensitivity) ให้เหมาะสม
ปัญหาหน้าจอ LCD
📺 จอสว่างแต่ไม่มีตัวอักษร
ใน Tinkercad คลิกที่จอแล้วปรับแถบ Contrast หรือในบอร์ดจริงให้หมุนตัวต้านทานปรับค่าได้ด้านหลังจอ
📺 ตัวหนังสือค้าง ซ้อนกันไปมา
ต้องใช้คำสั่ง lcd.clear(); ก่อนพิมพ์ข้อความใหม่ หรือจัดการพื้นที่การแสดงผลให้เหมาะสมด้วย lcd.setCursor
📺 จอ I2C ไม่แสดงผล
เช็คสาย SDA เข้า A4 และ SCL เข้า A5 และตรวจสอบ I2C Address ในโค้ดว่าตรงกับอุปกรณ์หรือไม่ (32 หรือ 0x27)
ปัญหา Servo / Motor
⚙️ Servo สั่นแต่ไม่หมุน
ไฟเลี้ยงไม่พอ หรือบอร์ด Reset ตัวเอง ให้ลองแยกแหล่งจ่ายไฟ หรือตรวจสอบว่าองศาที่สั่งเกิน 0-180 หรือไม่
⚙️ มอเตอร์หมุนไม่หยุด
เช็คว่าใช้ Servo แบบ Continuous (360 องศา) หรือไม่ และตรวจสอบการใช้คำสั่ง writeMicroseconds หากต้องการความแม่นยำ
ปัญหาการ Upload / Port
🔌 Programmer not responding
ถอดสาย USB แล้วเสียบใหม่ หรือเปลี่ยนพอร์ต USB ตรวจสอบว่าเลือก Board เป็น Arduino Uno ถูกต้องแล้ว
🔌 หา Port (COM) ไม่เจอ
เช็คว่าติดตั้ง Driver CH340 หรือยัง (สำหรับบอร์ดรุ่นราคาประหยัด) และสาย USB ต้องเป็นสายที่โอนถ่ายข้อมูลได้ ไม่ใช่สายชาร์จอย่างเดียว
1. แจ้งบั๊กและบันทึกปัญหา (Bug Report)
ตรวจสอบครบทุกข้อแล้วยังไม่ผ่าน? ส่งสัญญาณขอความช่วยเหลือที่นี่!
2. คลังรวมวิธีแก้ปัญหาของชั้นเรียน (Classroom Knowledge)
รวมทุกทางแก้ที่เคยสำเร็จ แบ่งปันประสบการณ์นวัตกรไปพร้อมกัน