CE432 Robotics II Fall 2022
Homework 1 - ESP32 CAM Introduction
Name: Ryan Jeanes
Email: rejeanes@fortlewis.edu
Homework 1 - Basics
Introduction
For this assignment, we are learning the basics of the ESP32-CAM module using the CameraWebServer example, provided by the esp32 standard library, and writing a program to flash the onboard LED.

Task 1
I tried to use version 1.0.4, since the most updated version (2.0.4) does not seem to have the face recognition working. However, the 1.0.4 version still has the heap corruption error, and the fix provided does not work as it seems the dl_lib.h (The library that dl_lib_free() is from) is no longer a part of the 1.0.4 version download, for some reason. It also no longer seems to exist. I have only found forum discussions of this problem, but I have not been able to find a dl_lib.h download. Because of this, I am using the most updated version (2.0.4) for this task.
Face Detection Image Here
Figure 1 - Face Detection Example, version 2.0.4 puts dots where it thinks the eyes, tip of nose, and corners of the mouth are.

Unfortunately the face recognition feature doesn't work for version 2.0.4. Turning on the Face Recognition switch in the browser and clicking the Enroll Face button seems to do nothing. There is no feedback to indicate whether or not the press was even processed, and since it seems that a lot of the processes are done web-server side I don't know of any way to properly debug what happens when that button is pressed.

Task 2

The button examples and brighten/dimming examples worked as intended. This is the code used to blink the LED, and this is the code to brighten and dim the LED.

Video demo of flashing LED on interval, by button press, and finally brightening/dimming the LED.