Introduction: Safe

About: I love building things

I made a safe with my 3d printer a servo , lcd and a keyboard..

Step 1: Cables

i first connected all the cables to my arduino nano to their corresponding places

Step 2: Arduino

I then runned this code :

#include <Servo.h>

char password[] = "3374"; //aquí escribimos la contraseña de 4 dígitos char numero[4]; //Cadena donde se guardaran los caracteres de las teclas presionadas int cursor = 0; int c = 0; int green = 10; int red = 11; int pinServo = 12; int vel=0;

//Se crea un nuevo objeto del servo Servo myservo; #include #include #include

#include

const byte numRows = 4; //number of rows on the keypad const byte numCols = 4; //number of columns on the keypad

//keymap defines the key pressed according to the row and columns just as appears on the keypad char keymap[numRows][numCols] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} };

//Code that shows the the keypad connections to the arduino terminals byte rowPins[numRows] = {9, 8, 7, 6}; //Rows 0 to 3 byte colPins[numCols] = {5, 4, 3, 2}; //Columns 0 to 3

//initializes an instance of the Keypad class Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);

#define I2C_ADDR 0x27 #define BACKLIGHT_PIN 3 #define En_pin 2 #define Rw_pin 1 #define Rs_pin 0 #define D4_pin 4 #define D5_pin 5 #define D6_pin 6 #define D7_pin 7

LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin, BACKLIGHT_PIN, POSITIVE); LCD *myLCD = &lcd;

void setup() { pinMode(green,OUTPUT); pinMode(red,OUTPUT); lcd.begin(20, 4); // initialize the lcd lcd.home (); lcd.setCursor(0, 0); // go home lcd.print("PASSWORD: "); delay(1000); myservo.attach(pinServo); }

void loop() {

char keypressed = myKeypad.getKey();

if (keypressed != NO_KEY) {

numero[cursor] = keypressed;

cursor = cursor + 1;

lcd.print("*"); if (cursor == 4)

{ if (numero[0] == password[0] && numero[1] == password[1] && numero[2] == password[2] && numero[3] == password[3])

{

c++; lcd.setCursor(7, 2); lcd.print("OPEN"); vel = 0; myservo.write(vel); delay(550); vel = 85; myservo.write(vel); digitalWrite(green,HIGH); lcd.setCursor(c, 1); cursor = 0; delay(1000); lcd.clear(); lcd.setCursor(0, 0); // go home lcd.print("PASSWORD: "); digitalWrite(green,LOW); } else { cursor = 0; lcd.setCursor(7, 2); lcd.print("WRONG"); digitalWrite(red,HIGH); delay(1000); lcd.clear(); lcd.setCursor(0, 0); // go home lcd.print("PASSWORD: "); digitalWrite(red, LOW); } } } }

Step 3:

Whwn you finish putting everything together you get an incredible Safe Box.

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017