วนหาที่จอดรถทำไม? สร้างระบบเช็กที่จอดรถว่างด้วย AI ผ่านบอร์ด ESP32-CAM กันเถอะ !!

Parking Space Detection System using ESP32-CAM
ระบบเช็กที่จอดรถอัจฉริยะด้วยกล้อง ESP32-CAM ผสานการประมวลผล AI บนคลาวด์

สวัสดีชาว Maker สายหาทำทุกคนครับ! 🛠️ ลองจินตนาการดูสิครับว่าเวลาขับรถเข้าไปในลานจอดรถห้างที่คนแน่นๆ แล้วต้องมาขับวนหาช่องจอดรถว่างๆ ทีละชั้น มันน่าหงุดหงิดขนาดไหน! จะดีกว่าไหมถ้าเรามีกล้องคอยส่องดูลานจอดรถ แล้วบอกเราแบบเป๊ะๆ เลยว่า "มีที่จอดว่างกี่ช่อง" และ "เต็มไปแล้วกี่ช่อง"

วันนี้เราจะพามาทำโปรเจกต์ ระบบตรวจจับที่จอดรถว่าง (Parking Space Detection System) สุดล้ำ! โดยใช้บอร์ดกล้องจิ๋วราคาประหยัดอย่าง ESP32-CAM ทำงานร่วมกับแพลตฟอร์ม CircuitDigest Cloud API ที่จะมารับจบเรื่องการประมวลผล AI ให้เราทั้งหมดแบบไม่ต้องเขียนโค้ด Machine Learning เองสักบรรทัดเดียว! โคตรง่าย โคตรไว!

หลักการทำงานสุดสมาร์ท 🧠

ระบบนี้ออกแบบมาให้ประหยัดพลังงานและทำงานฉลาดๆ เป็นสเต็ปตามนี้ครับ:

  • เซนเซอร์ตรวจจับ: เริ่มต้นด้วย Ultrasonic Sensor ที่หน้าไม้กั้น เมื่อมีรถขับเข้ามาใกล้ มันจะส่งสัญญาณไปปลุก ESP32 ให้ทำงาน
  • แชะภาพส่งคลาวด์: บอร์ด ESP32-CAM จะถูกสั่งให้ถ่ายภาพลานจอดรถในวินาทีนั้น แล้วโยนภาพขึ้นเซิร์ฟเวอร์ CircuitDigest Cloud ผ่าน Wi-Fi (HTTPS POST)
  • AI ประมวลผล: ระบบคลาวด์จะเอาภาพไปสแกนหาช่องจอดรถ แล้วส่งข้อมูลกลับมาในรูปแบบไฟล์ JSON บอกชัดเจนเลยว่า "ช่องไหนว่าง ช่องไหนมีรถจอด พร้อมความมั่นใจ (Confidence Score)"
  • เปิดไม้กั้น: ถ้าคลาวด์บอกว่ามี "ที่ว่าง" บอร์ด ESP32 จะสั่งมอเตอร์เซอร์โว (Servo) ยกไม้กั้นให้รถเข้า แต่ถ้าลานจอดรถเต็ม ไม้กั้นก็จะไม่เปิดครับ!

💡 Maker's Tip: ทำไมเราไม่ประมวลผล AI บนบอร์ด ESP32-CAM เลยล่ะ?
เพราะบอร์ด ESP32-CAM มีสเปกจำกัด (SRAM 520KB) การรันโมเดลภาพขนาดใหญ่จะทำให้ระบบอืดและหน่วยความจำเต็ม (Inference-time-memory limits) การโยนงานหนักๆ ให้ Cloud ทำ จึงช่วยให้บอร์ดทำงานลื่นไหลและได้ความแม่นยำระดับเซิร์ฟเวอร์เลยครับ!

หากเพื่อนๆ อยากประกอบระบบไม้กั้นสมาร์ทๆ แบบนี้ แวะมาช้อป บอร์ด ESP32-CAM, บอร์ด ESP32 ตัวหลัก, Ultrasonic Sensor, และ Servo Motor ได้ที่ Globalbyte Shop เลยครับ! ของพร้อมส่ง ทัก LINE OA มาให้แอดมินช่วยจัดเซ็ตได้เลยนะ!

อุปกรณ์ที่ต้องใช้ในโปรเจกต์ (Hardware) ⚙️

อุปกรณ์ (Components) หน้าที่การทำงาน
ESP32-CAM ทำหน้าที่ถ่ายภาพและส่งไฟล์ภาพผ่านเน็ต
ESP32 Board รับบทผู้คุม คอยอ่านเซนเซอร์และคุมมอเตอร์ไม้กั้น
Ultrasonic Sensor (HC-SR04) ตรวจจับรถที่ขับมาใกล้ทางเข้า
Micro Servo Motor มอเตอร์ตัวจิ๋วทำหน้าที่ยกไม้กั้น

⚠️ ข้อควรระวังในการเบิร์นโค้ดลง ESP32-CAM

บอร์ด ESP32-CAM รุ่นคลาสสิกไม่มีพอร์ต USB นะครับ! คุณต้องใช้ตัวแปลงสาย FTDI Adapter (USB-to-Serial) ในการอัปโหลดโค้ด โดยให้ต่อ TX->RX, RX->TX และที่สำคัญคือ ต้องจั๊มขา GPIO 0 ลง GND (LOW) ก่อนเสียบไฟเข้าบอร์ดเพื่อเข้าสู่ Flash Mode ด้วยนะ!

วิดีโอสาธิตการทำงานจริง 🎬

การต่อสายวงจร (Circuit Diagram) 🔌

Parking Detection Circuit Diagram
ผังการต่อสายระหว่าง ESP32-CAM, ESP32 ตัวหลัก, เซนเซอร์ Ultrasonic และเซอร์โวมอเตอร์

ประกอบลงบอร์ดจริง (Hardware Setup) 🛠️

Hardware Setup with ESP32 and Breadboard
ต่อสายจ่ายไฟ 5V ผ่านสาย USB เส้นเดียวก็เอาอยู่ทั้งระบบ

ทดสอบระบบ AI ผ่าน Cloud ก่อนลงฮาร์ดแวร์ 🌐

CircuitDigest Cloud Home Try API Section API Tested Image Result
คุณสามารถอัปโหลดรูปภาพลานจอดรถจำลองเข้าไปลองเทสกับระบบ API ของ CircuitDigest Cloud ดูก่อนได้เลยว่ามันนับช่องจอดได้กี่คัน

ตัวอย่างโค้ด: การตั้งค่า Wi-Fi และกล้อง 💻

ก่อนอัปโหลดโค้ดลงบอร์ด ESP32-CAM อย่าลืมเปลี่ยนชื่อไวไฟและใส่ API_KEY ของตัวเองนะครับ:

const char* WIFI_SSID  = "Your_WiFi_Name";
const char* WIFI_PASS  = "Your_WiFi_Password";
const char* API_KEY    = "Your_CircuitDigest_API_Key";
const char* serverName = "www.circuitdigest.cloud";
const char* serverPath = "/api/v1/parking-detection/detect";

// ตั้งค่าพินและรูปแบบภาพของกล้อง OV2640
cfg.pixel_format = PIXFORMAT_JPEG;
cfg.frame_size   = FRAMESIZE_SVGA;
cfg.jpeg_quality = 8;
cfg.fb_count     = 2;
esp_camera_init(&cfg);
      

ตัวอย่างโค้ด: การตั้งค่าเลนส์กล้องให้ชัดเป๊ะ 📷

เพื่อความแม่นยำของ AI ภาพที่ส่งไปต้องชัด! เราสามารถตั้งค่าแสงและคอนทราสต์ของกล้องได้ตามนี้ครับ:

sensor_t* s = esp_camera_sensor_get();
s->set_brightness(s, 1);
s->set_contrast(s, 1);
s->set_exposure_ctrl(s, 1);
s->set_gain_ctrl(s, 1);
      

ผลลัพธ์ผ่านหน้าจอ Serial Monitor 🖥️

Arduino Code for ESP32-CAM Serial Monitor Output
พอกล้องส่งภาพขึ้นคลาวด์ปุ๊บ หน้าจอจะรีพอร์ตเลยว่า "พบที่จอดว่าง 2 ช่อง (Free: 2)" แบบทันที!

ข้อดีและข้อจำกัดของระบบนี้ ⚖️

👍 ข้อดี (Advantages) 👎 ข้อจำกัด (Limitations)
รู้ผลเรียลไทม์ภายในไม่กี่วินาที ไม่หน่วงบอร์ด ระบบจะไม่ทำงานเลยถ้าไม่มีอินเทอร์เน็ต
ต้นทุนถูกมาก เพราะบอร์ด ESP32-CAM ตัวละร้อยกว่าบาท ใช้โควตา API บนคลาวด์ฟรีได้จำกัดต่อวัน/เดือน
ไม่ต้องปวดหัวเทรนโมเดลเอง (No Model Training) ถ้ากล้องมัว มุมภาพเพี้ยน หรือแสงน้อย AI อาจจะนับพลาดได้
*คำเตือนและข้อแนะนำ: เนื้อหาบทความนี้สรุปและแปลมาจากบทความเทคโนโลยีต่างประเทศ โปรเจกต์นี้ต้องพึ่งพาบริการ CircuitDigest Cloud API ซึ่งอาจมีการปรับเปลี่ยนเงื่อนไขหรือจำกัดโควตาการใช้งานฟรีในอนาคต แนะนำให้ผู้ใช้งานเข้าไปสมัครสมาชิกและศึกษาคู่มือการใช้งานล่าสุดจากทาง เว็บไซต์ระบบคลาวด์โดยตรง ก่อนเริ่มประกอบโปรเจกต์จริงครับ

 

แท็ก


Blog posts

เข้าสู่ระบบ

ลืมรหัสผ่านใช่ไหม?

ยังไม่มีบัญชีใช่ไหม?
สร้างบัญชี