ESPIno32CAM : การถ่ายภาพ
ตัวอย่างการใช้งาน ESPIno32CAM ถ่ายภาพ และ ส่งภาพที่ถ่ายผ่าน Serial Port ไปแสดงผลบนโปรแกรม JPG Serial Streaming
เริ่มต้นการทดลอง
– ติดตั้ง Arduino IDE ,ESP32Packet,Libraly ESPIno32CAM (สำหรับผู้เริ่มต้นใช้งานครั้งแรก)-->(Link)
– เปิดโปรแกรม ArduinoIDE
– เปิดตัวอย่าง File > Example > ESPino32CAM > Ex_Capture

– ตั้งค่า Arduino IDE ให้ใช้งานกับ ESPIno32CAM -->(Link)
– Upload Program ลงไปยัง ESPIno32CAM

– เปิด Program JPG Serial Streaming
1 เลือก Comport ให้ตรงกับ Comport ของบอร์ด ESPIno32
2 เลือก Baudrate ให้ตรงกับ Baudrate ใน Code Arduino (Default =2000000 )
3 กด Button Connect
!!! ก่อนกด Button Connect จะต้องปิด Program อื่นๆที่ใช้งาน Comport อยู่เช่น หน้าต่าง Serial Monitor ของ ArduinoIDE

-โปรแกรม JPG Serial Streaming จะแสดงรูปภาพที่ถ่ายจากบอร์ด ESPIno32CAM บน PictureBox และ แสดง ความเร็วในการถ่ายภาพ ที่ส่วนแสดงข้อความ

ตัวอย่างโปรเเกรมที่ใช้
#include "ESPino32CAM.h" ESPino32CAM cam; void setup() { Serial.begin(2000000); Serial.println("\r\nESPino32CAM"); if (cam.init() != ESP_OK) { cam.printDebug(F("Init Fail")); while (1); } sensor_t *s = cam.sensor(); s->set_framesize(s, FRAMESIZE_QVGA); } void loop() { unsigned long pv_time = millis(); camera_fb_t *fb = cam.capture(); if (!fb) { cam.printDebug("Camera capture failed"); return; } Serial.write(fb->buf, fb->len); cam.printfDebug("Frame %d Per Second",1000/(millis()-pv_time)); cam.clearMemory(fb); }
คำอธิบาย Code Program
– บรรทัดที่ 1 : ประกาศให้นำ Libraly ESPIno32CAM เข้ามาใช้งาน
– บรรทัดที่ 2 : ประกาศ Object cam
– บรรทัดที่ 4 : เริ่มต้นใช้งาน Serial และ กำหนด baud rate = 2Mbps
– บรรทัดที่ 6 : ตั้งค่าเริ่มต้นการทำงานของกล้อง และ ถ้าหากตั้งค่าสำเร็จจะ return ค่าเป็น True เพิ่มเติม
– บรรทัดที่11 : ประกาศตัวแปร sensor_t *s เพื่อรับค่า pointer จาก Function sensor เพิ่มเติม
– บรรทัดที่12 : กำหนดขนาดภาพถ่าย = QVGA (320×240 pixel)
– บรรทัดที่17 : เก็บค่าเวลาที่ ESP32 เริ่มทำงานจนถึงปัจจุบัน
– บรรทัดที่18 : ถ่ายรูป และ เก็บรูปภาพอยู่ใน fb เพิ่มเติม
– บรรทัดที่19 : ตรวจสอบว่ามีข้อมูลใน fb หรือไม่
– บรรทัดที่24 : ส่ง ภาพที่ถ่ายได้ ออกไปทาง Serial
– บรรทัดที่25 : นำเวลาตั้งแต่เริ่มทำงานจนถึงปัจจุบัน ลบกับ เวลาที่เริ่มถ่ายรูป = เวลาที่ใช้ในการถ่ายรูป และ ส่งข้อมูลออกส่งออกไปทาง Serial
– บรรทัดที่26 : คืนค่า Memory fb เพิ่มเติม