Good morning everyone,
First and foremost I want to preface this by apologizing for my intense stupidity. I have never worked with Arduino, and the only coding I've ever done before this class was with LaTex, MATLAB, and ANSYS, and for those I was basically babied through every assignment. I don't know a lot of the technical lingo at the moment, but I'm pretty good at following directions and if I have a good starting point I can springboard off it to comprehend what I need. Please forgive me if my language and explanations are not very concise.
As the title states, I have a project I'm trying to work on for a class. We were supposed to build a helmet with a rotating camera that identified a person within a six foot radius, then identified whether that person was wearing a mask. If they were NOT wearing a mask, then the apparatus would deploy a deterrent.
During our equipment/component purchasing phase, we found the ESP-EYE Development board v2.1 (hereafter referred to as E.E.D on my post, technical specs and purchasing site listed below). I was a little hesitant to purchase it, because the camera software is coded via ESP32, but I knew that IDE could at least talk to it if I downloaded the correct board manager (which I have done). It was to my understanding that most facial recognition programs worked by referencing a bunch of different points on a persons face, then compares them to previously provided information in the program for matches. I was hopeful that I would be able to exploit a theoretical fault for our benefit: since it only cost 25 bucks, the built-in facial recognition software wouldn't be as good as a more expensive version, and if a person was wearing a mask then the E.E.D would not have enough reference points to confirm a match. For the deterrent, we purchased a piezo element since our deterrent had to be non-lethal. My original idea was a flamethrower but my professor shot me down =[ . We also had an Arduino UNO board and a servo motor provided.
At the moment, it appears that our exploit DID work. My tests showed that if a person was wearing a mask, then 70% of the time the built in facial recognition would NOT detect a face (meaning that even though the E.E.D "failed", my helmet "worked"). In addition, the piezo element and servo motor have been successfully coded and integrated into the UNO board. Now the only problem is trying to integrate the camera into both our current Arduino IDE code, and the UNO. The way the built in software works, I turn the camera on, wake it up with a phrase, connect to the wifi network it makes, and then go to a website to see what the camera is seeing. If I want to "register" a face, I have to click a button on the left side of a circuit board, but it will still detect a face even if it's not registered.
As I see it in my head, I want the Camera to talk to the UNO in the following way, somehow:
- If face is detected by cameras built in software, send a signal to the UNO board, which would close a switch and send an electric current through piezo so it makes noise.
- If face is NOT detected, then cameras built in software does NOT send a signal to the UNO board, and helmet does nothing (aside from making the apparatus rotate).
But the problem I have at the moment is that I don't see any ways to directly connect the camera to the UNO board. All of the tutorials I've found online so far appear to be using ESP boards that connect directly into either the UNO or a breadboard. Is there any way that I can either integrate the E.E.D. + built in software into the UNO board + my IDE code? Or at least get the camera software to send a signal to my computer, which would then send a signal to my UNO board? If I do need to use IDE to add code to the E.E.D., which board do I use for this particular model (I see a bunch of different ESP32 options in my board tab, but no option for "ESP-EYE Development board" or "ESP-EYE Camera")? Or am I just a complete moron and should I just take my D, chalk it up as a loss, and focus my energy on the next project? Thank you in advance for any assistance or advice you can give me, I greatly appreciate it.
ESP-EYE Development Board v2.1 Specifications:
- WiSoC ESP32 dual core Tensilica LX6 processor with WiFi and Bluetooth
- Memory: 8MB PSRAM
- Storage: 4MB Flash
- Camera: 2MP OV2640 Camera
- Audio: MEMS Microphone
- USB: 1 microUSB port for power and programming over serial
- Misc: Reset, boot and function buttons, 2x LEDs
- Dimensions: 41 x 21 mm
- Purchased from: ESP-EYE Development Board V2.1 : ID 4095 : $24.95 : Adafruit Industries, Unique & fun DIY electronics and kits