Arduino Leonardo - Electronic Lock
Placed onThis project is just the barebones. It's an 3X4 Matrix Numpad with an 4 rows x 20 characters display and a servo (optional).
Options:
- Enable Changing the passcode while the pragram is running
- Enable the servo (only usefull for testing purposes )
- Enable the serial debug (only for test purposes or nerds :-) )
Further code changes can be found on my github page: https://github.com/Sani7/ArduinoLock
Arduino Leonardo - Electronic Lock - BOM
Arduino Leonardo - clone Out of stock This one is a home brew leonardo from https://e2cre8.be/ € 12,00 20x4 Characters lcd module blue In stock With the I2C module for easy communication with the leonardo € 7,00 4x4 Button keypad Out of stock 3X4 button keypad works to € 3,40 FEETECH High-Torque Servo FS5115M In stock This servo is from HITEC Servo (optional) € 26,95 I2C LCD interface module Out of stock I2C LCD interface module € 2,30 Total € 51,65How does the code work?
- First we create all our variables (A lot at first but we use them all)
- Second we initialize all our libraries
- The keypad library requires us to give the Keymap (Where every key is positioned), how many rows and colloms there are and where the pins are connected to
- The LCD library requires us to give some stuff too
- The servo library requires us to create an attribute for our new servo
- Features:
- The initialization of the LCD Now to start the program we want to test if the lcd is fully functional by:
- Enable, disable and reanabel the backlight
- Showing the start message on the screen
- The ability to disable backlight after 30 seconds
- Getting the pressed key
- Getting the code from user input
- Check the code if it's correct or not
- Open or close the lock
- Read and write the stored code to eeprom memory
- Getting a new code while the program is running
- Comparing the to given codes and see if they match
- The initialization of the LCD Now to start the program we want to test if the lcd is fully functional by:
- Setup:
- Getting the eeprom code
- When enabled initialize the servo library to attach to the servo
- Initialize the lcd
- When enabled initialize the Serial communication
- main loop:
- Getting the key press
- When you are in the unlocked state and you press * the lock is going to close
- When you are in the unlocked state and you press # the lock will enter "Change Passcode" state
- Open the lock when the LockState in true same as Opened (Pretty straigth forward isn't it)
- Or getting user input to get the code.
Arduino Leonardo - Electronic Lock - Opened