You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
2 years ago | |
---|---|---|
.gitignore | 2 years ago | |
Makefile | 2 years ago | |
README.md | 2 years ago | |
adc.c | 2 years ago | |
adc.h | 2 years ago | |
buttons.c | 2 years ago | |
buttons.h | 2 years ago | |
encoder.c | 2 years ago | |
encoder.h | 2 years ago | |
linker.ld | 2 years ago | |
main.c | 2 years ago | |
printf.c | 2 years ago | |
ringbuffer.c | 2 years ago | |
ringbuffer.h | 2 years ago | |
stdio_impl.h | 2 years ago | |
systick.h | 2 years ago | |
uart.c | 2 years ago | |
uart.h | 2 years ago | |
usb.c | 2 years ago | |
usb.h | 2 years ago |
README.md
Door Control
A project to interface an electronic door lock actuator by Abus with a PC using an Adafruit Feather STM32F405 Express.
Goals
- USB-serial converter @ 115200 baud to pass through commands to an external NXP532 NFC controller. This will be used to authenticate people who want to open the door.
- Readout of the current door state. This is done by connecting to the two outputs of the rotary encoder and integrating the changes.
- Opening and closing the door by simulating presses of two buttons.
Wiring
TODO. Add pictures and stuff.
Communication
Endpoint 3 is the serial bridge to the NFC controller and should show up as e.g. /dev/serial/by-id/usb-Imaginaerraum.de_DoorControl_433632201350535727003F0-if03 (depending on the ID of the STM32F405).
Endpoint 1 is another serial interface and used for all other functions.
Command characters:
- 'B': Print the battery voltage
- 'C': Closes the door
- 'O': Opens the door
- 'R': Print the encoder position
Currently, a change in the encoder value will be communicated immediately, as "pos: %d\r\n", the same format returned by the 'R' command.