Coffin Tester

From LVL1
Jump to navigation Jump to search

Prelude To The Madness

What better project to resurrect from the incomplete project pile then “The Coffin Tester”? This project was inspired by the chance encounter of a small wooden coffin at a hobby store. With a coffin comes the standard project ideas: Someone is trying to get out or someone is inviting you in. Making both projects at once was my decision.

Overview from 6ft Under

The embedded coffin display in the lid shows classic monster portraits, letting you know who is inside. However, the camera in the lid also takes images of the viewer. When it detects a face, it displays the image on the display, letting you know that you are inside now. A Halloween SFX module within the box fires up and horror ensues. The WiFi capable board within makes future upgrades to functionality possible. The horror never ends.

Part Selection

Parts
Name Image Details Considerations
Small Wooden Coffin
JAC Coffin.jpg
  • Small Body Storage
  • Cheap and Wooden
  • Just another item to put me on a watch list
ArduCam ESP32S Uno w/ PSRAM
JAC ArduCam ESP32S Uno with PSRAM.jpg
  • OV2640 Camera
  • ESP32S
  • WiFi
  • BLE
  • SD MMC
  • Based on AI-Thinker ESP32 Camera Configuration and hardware setup
  • Discontinued hardware, so time to use.
  • RIP
SFX Halloween Module
JAC SFX Module Front.jpg
  • Sound and LED Sequences
  • Strobe Function
  • Sound/Vibration Activation
  • Demo Button
  • Prebuilt Unit
  • Already themed for coffin themed project
Round Display
JAC TFT GC9A01A Front.jpg
  • 1.28 inch LCD Module
  • 240 x 204 Pixels
  • GCA901A Controller
  • Realistic Corpse Viewing Port
SD Card Adapter
JAC SD Card Adapter Front.jpg
  • Micro SD Storage Board
  • SPI Interface
  • In order to free up GPIO Pins for interfacing to the display, the onboard SD_MMC is disabled and this adapter provides SD access.
Battery Holders
JAC AAA Battery Holders.jpg
  • 1 AAA Cell
  • 2 AAA Cells
  • Volume Issues lead to use of two holders instead of a single 3 AAA cell holder
  • 2 AA Holder used was not messed up like the one in this photo.
ICR18650 Battery
JAC ICR18650.jpg
  • 2200mAh
  • 3.7V
  • Had one lying around
PC817 Optocoupler
JAC PC817.jpg
  • Low Voltage Trigger
  • 5kVolts of Isolation
  • Provides an electrically isolated trigger signal for the Halloween SFX Module
Micro USB Cable
JAC Coffin Micro USB Cable.jpg
  • Plutonium Implosion Device
  • 18.6 kilotons
  • Relatively Small
  • Had one lying around
Micro USB Port Adapter Board
JAC Micro USB Adapter Board.jpg
  • Micro USB
  • Allows access for power, programming and charger for internal battery
Common Materials
Name
Jumper Wires Female/Female
Strip Board
Header Pins Male
Header Pins Female
Electrical Tape
Heat Shrink Tubing

Element Preparation

Elements
Halloween SFX Module ArduCam ESP32S Uno w/ PSRAM Coffin Top Coffin Bottom
  • Front Shell – (Not Used)
  • Reflector – (Not Used)
  • High Brightness LED 2x4 Matrix
  • Circuit Board Assembly
    • PCB
    • Function Switch – (Removed)
    • Strobe Speed Potentiometer – (Removed)
  • Speaker
  • Piezo Disk – (Not Used)
  • Demo Button – (Not Used)
  • Back Shell with integrated Battery Holder – (Not Used)
  • Battery Cover – (Not Used)
  • Right Angle Inward Facing Male Header Pins on Underside
  • Spacers Mounted on USB End of Board
  • 1.25" Upper End Hole for Round Display View
  • 3/8" Lower Mid Section Hole for Camera View Port
  • Inside Inner Edge Carve Outs for ArduCam Board Mounting
  • Inside Bottom Edge Carve Out for Custom Bus Board Mounting
  • Micro USB Access Slot in Bottom End
  • Two Small Holes for Micro USB Socket Adapter Mounting

Project Surprises:

  • GPIO02 boot-up tests for PSRAM voltage requirement interfered with HSPI Bus usage. Required eFuse setting to permanent PSRAM voltage level for HSPI normal operation
  • ESP32 Cam with AI-Thinker hardware setup can be used for the project with a simple pin assignment change and the creators choice of one function loss.
  • An overly elaborate method for using a vibrating motor to trigger SFX module, isolating the module electrically from Microcontroller abandon due to unnecessary complexity and stray triggering from handling project.
  • SFX module uses High Brightness LEDs that cause short bursts of high current that have to be handled by separate battery pack in order to not require additional power supply circuitry for a common power supply.
  • I had a ICR18650 lying around, so battery operation of project utilizing built in charging of the ArduCam. Then again, it could be a self-destruct method.
  • Had to pin down ArduCam board in coffin, so I used a piece of a plastic fork.

Programming Elements

  • TFT display for the ArduCam
  • HSPI usage
  • Facial Detection Code
  • Simple RAW Image decoding for saved images
  • Camera image buffer display to TFT display

Assemblies

JAC Coffin Interface Bus.jpg

JAC Coffin Top with Holes.jpg

JAC Coffin Bottom Packed.jpg

JAC Coffin Top Packed.jpg

JAC Coffin Top Unpacked Wired.jpg

JAC Coffin Top Unpacked Wired 2.jpg

JAC Coffin GPIO Usage.jpg

JAC Coffin Optocoupler Interface.jpg

JAC Coffin Opened Complete.jpg

JAC Coffin Optocoupler SFX Trigger Circuit.jpg

JAC Coffin Block Diagram.jpg

Resource

Parts
Item Link
ArduCam Product Page https://www.arducam.com/product/b0192-arducam-iotai-esp32-uno-psram-ov2640-camera/
GCA901A Demo on ESP32 https://github.com/talofer99/ESP32CAM-Capture-and-send-image-over-esp-now
ESP32 SPI Information https://randomnerdtutorials.com/esp32-spi-communication-arduino/
ESP32 Now https://randomnerdtutorials.com/esp-now-two-way-communication-esp32/
ESP32 Cam Photo Webserver https://randomnerdtutorials.com/esp32-cam-take-photo-display-web-server/
ESP32 Cam Selfie https://robotzero.one/esp32-cam-tft-selfie/
ESP32 Cam Pinout Guide https://randomnerdtutorials.com/esp32-cam-ai-thinker-pinout/
ESP32 Cam Settings Guide https://randomnerdtutorials.com/esp32-cam-ov2640-camera-settings/
ESP32 Cam as Camera with Display https://www.instructables.com/ESP32-ESP32-CAM-With-OV2640-Using-SIPHSPI-for-TFT-/
ESP32 Camera and Webserver Sample Program from hardware library Ardunio IDE Library
ESP-DL https://github.com/espressif/esp-dl

Demonstration Video

Demo Video

Code

 #include <SPI.h>
 #include "FS.h"
 #include <SD.h>

 #include "Adafruit_GFX.h"
 #include "Adafruit_GC9A01A.h"

 #include "esp_camera.h"