Documentation concerning code and connections between the Arduino unit and camera-related hardware. For example, documentation about using LEDs to illuminate ID cards so the camera can read the barcode would be here, as well as code and documentation for computer vision to extract the barcode number.
Arduino Hardware Links: -Forest 3/21/2018
SparkFun ESP32 Thing:
Arducam OV2640:
Wiring diagram for SpaceBadger V2: -Forest 3/21/2018
Case Layout and 3d Models -Forest 5/8/2018
-Forest 4/2/2018
This is the default IDE for working with Arduino hardware.
https://www.arduino.cc/en/Main/Software
Choose the Arduino IDE for your operating system.
https://github.com/espressif/arduino-esp32/blob/master/README.md#installation-instructions
Don't forget to install the Xtensa and Esp32 Tools by running get.exe in the esp32/tools folder! It's tools/get.py on a Linux/Mac system.
The Arduino Core is the library provided by Espressif, the manufacturer of the Esp32 chip used in the Sparkfun Esp32 Thing.
https://github.com/ArduCAM/ArduCAM_ESP32S_UNO
This is the library for communicating with the ArduCam ov2640 connected to an Esp32 based device.
Remember to open the 'Boards' menu and select the Sparkfun Esp32 Thing. Also select the COM port your device is attached to.
-Forest 3/28/2018 (more details will follow)
Wiring for the ESP32 Thing:
arducam esp32 pin
------------ --------------
cs 17
mosi 23
miso 19
sck 18
gnd gnd
vcc 3.3v
sda 21
scl 22
To set up and test the camera you can run the sample code in the ArduCam folder:
...\Arduino\hardware\ArduCAM\ArduCAM_ESP32S_UNO\libraries\ArduCAM\examples\ESP32\ArduCAM_ESP32_Capture\
After opening the sketch look at the code around line 45 and choose to set up the ESP32 Thing as it's own WiFi access point or to let it connect to your existing wifi network.
If you don't make any changes you should be able to see the Esp32 on a wifi scan with the name 'arducam_esp32'
Once you've either connected to the ESP32 Access point or let it connect to your network you open the index.html file in:
...\Arduino\hardware\ArduCAM\ArduCAM_ESP32S_UNO\libraries\ArduCAM\examples\ESP32\ArduCAM_ESP32_Capture\html
On this page you enter the ip address of the arducam access point(you can get it by opening the serial monitor in the arduino ide and watching the output as the esp32 starts up)
and choose a resolution then either 'capture' or 'video'.
Here is a video from ArduCam that walks through this process.
I've been thinking about ways to simplify things at the Esp32 Thing. We have a lot of connections going on here, and we are running out of available pins. I found a couple things that might help out with this.
I noticed that there are i2c controlled lcd displays that aren’t very expensive. The standard display uses 6 pins to the esp32 and the i2c version only uses 2. One potential problem is that the arducam and lcd would both have to share that i2c bus. This is fine in theory, but I’d like to test it to make sure there are no conflicts.
The leds also use up a lot of pins, so when I saw these led strips I thought they might be another way to free up pins and simplify things when building.
https://www.adafruit.com/product/1426
I haven’t used either of these before, but if they are compatible with our other hardware it could save us some pins as well as make the assembly easier. Any thoughts/ideas about these? Has anybody used them before?
-Forest 3/28/2018