Created for Propel Human-Machine Interactions into the Future with Infineon. For the detailed description of the project see Capacitive Pattern Based Input Lock on Hackster.io
- case - Simple stand made in FreeCAD (FCStd and STL files)
- code
- network - Files for gathering dataset, training the network and creating C++ header file for custom inference engine as well as some debug code
- psoc4100s - Source code for the PSoC 4100S PIONEER KIT
- scripts - Some code used in Hackster article
- graphics - Custom graphics for front panel of the kit made in GIMP
- shield - KiCad files for custom PCB with relays and diodes
Use KiCad's 3D viewer, PCB viewer and bill of materials to assembly the PCB and attach it to the back of the kit via Arduino headers.
Simply open the project in PSoC Creator 4.0 and upload it to the device.
- In kit's source code, in helpers.hpp comment out
- #define INFOS
- #define WARNS
- #define DBGS
- In kit's main.cpp uncomment
- //#define SKIP_ADD_PATTERN
- //#define PRINT_RAW_BUFFER
- Compile and upload edited code
- In network/collector.py change label to string of your choice and serial port to kit's port
- Run collectors.py and collect as many samples of given label as needed. To collect a sample:
- Draw something on the panel
- Press accept button
- Repeat for all needed labels
- In network/model.py change training constants and model's structure as needed and run the script
- Replace kit's ssie_model.hpp with content of C++ output of the script
- Restore defines in 1. and 2.
- Compile and upload the code to the device