Attached are the Altium Designer project files for an Arduino/Genuino Uno shield that uses a piezoelectric sensor to identify knocking patterns on a door, and use that to turn a stepper motor. The circuit uses an A3967 micro-stepping motor driver. The A3967 can control any bipolar stepper motor. The motor is controlled using two digital outputs on an Arduino/Genuino Uno. One output connects to STEP and one output to DIR. Bringing “STEP” from low to high commands one rotational step of the motor. Changing the logic level of DIR changes the direction of rotation of the motor. The headers P5-P8 correspond to Arduino/Genuino Uno connection points. The DIR output is connected to P7 of pin 3. The STEP output is connected to pin 4 on the same header.
A preview of the PCB layout is shown below.
The application of this circuit is to unlock doors with a particular knock pattern. This circuit utilizes a piezo sensor to take in the knock pattern input. The piezoelectric sensor is connected to P5 at pin 1 and grounded on pin 4 of the power port.
The PCB design is that of a 2 layer board using ground and power planes through the polygon pour function in Altium. Open “ShieldDoorKnocker.PrjPcb” to get started.