Instructables

As a person without a car, I don't need to carry keys around everywhere I go. Because of this, I've been locked out of my own house several times. It's a pain to wait for someone with a key, so I thought I would do something about it.

This project is my way of solving this problem, while getting the chance to interface with an awesome fingerprint scanner (aka: FPS).

Also, this module isn't restricted to just garage doors, for you can create different kinds of simple motorized locks to suit your needs.


Epilog Challenge VI:

I am a member of a FIRST Robotics team (Athena's Warriors) that resides in our local makerspace. Not only would having one of the best laser cutters/engravers out there be great for the team, but for anyone in the Makerspace as well!

 
Remove these adsRemove these ads by Signing Up

Step 1: Materials

Picture of Materials
53a2e8f2ec8d83ae9d000051.jpg

Electronics:

Part Supplier (pictures are clickable!)
Fingerprint scanner (and JST connector) Sparkfun Sparkfun
Serial LCD kit (w/ATmega328)Sparkfun
ATtiny85Sparkfun
NPN transistor Sparkfun Radioshack
BuzzerSparkfun Radioshack
Speaker wireRadioshack
3D printed caseSee step 9 for files
Copper tapeSparkfunAmazon
5V voltage regulatorSparkfunRadioshack
9V batterySparkfunRadioshack
9V battery connector SparkfunRadioshack
SPDT limit switch
SparkfunRadioshack

Here is a list of almost all of the parts (It's a Sparkfun wishlist).

Tools:

  • Soldering iron/solder
  • Electrical tape
  • Hook up wire/ jumpers
  • Wire cutter/stripper
  • Perfboard
  • Assorted resistors
  • Screws
  • Drill
  • A few LEDs for testing
  • 5V FTDI board (Sparkfun)
  • Hot glue gun
  • Access to a 3D printer
  • Optional: IC holder (8 pin for ATtiny and 28 pin for ATmega)
  • Optional: Another Arduino board/10uF capacitor (see step 5 for details)
1-40 of 138Next »
supak11116 hours ago

One of the coolest garage door openers on here A++. Have you see the $30 iHued cable? It turns an old absolute android phone into a world-wide internet garage door opener + it uses the camera on the phone so you can watch it open/close in real time. Pretty cool, here check out: ★http://www.iHued.com

Darthorso19 hours ago

Congratulations on your super win!!! :D

Enjoy your Epilog Zing ^_^

JM19997 days ago

interesting!

Akin Yildiz12 days ago

incredible ! we need this system installed on the life box. for the front door and the top latch.

02.jpg
nodcah (author)  Akin Yildiz12 days ago
That would be pretty cool! =)

Hey, How did yoy make the pictures clickable for the links on sparkfun and radioshack?

Also how did you make a table for all the parts on the instructables editor

nodcah (author)  theedisoneffect2 months ago

For both of these, I edited the HTML of the page. The code can be downloaded here.

Be aware, the pictures look horrible on the Instructables app.

How did you edit the html of the page?

Can you make an instructable out of this. Im sure it will be a very popular instructable

nodcah (author)  theedisoneffect1 month ago

Your wish has been granted

(credit was given)

nodcah (author)  theedisoneffect2 months ago

I don't think I have enough information about it to make an Instructable. But, I might sometime this summer since you asked...

To edit the HTML (HyperText Markup Language) of an Instructable, you need to have a pro account (which you do). Then, click on the "</>" (see the picture for example). Finally, write your HTML! I found a reference by w3schools to be really helpful.

Note: not all tags/attributes are supported here is brief list of some that are:

<table border="1"><a><button><img><fieldset><samp><strong><code><kbd><dfn><var><em><sub><sup><textarea><u><ol><ul>

nodcah (author)  nodcah2 months ago

Sorry, I forgot the picture. XD

Screen shot 2014-06-27 at 10.17.06 AM.png
marios85431 month ago

Hi again, Nodcah. Sorry for the late reply. I've decided to use an arduino uno and an lcd screen not the I2C SainSmart shield so all I wanted to ask will your oringinal code for the Serial LCD work. Also to connect the lcd will I do it with the oringinal arduino diagram ? This one. If not please could you upload the code and the connection diagram cause i realised that the pins 11,12 are already used by the fingerprint module and the Attiny.

P.S Please the schematics on a fritzing breadboard thing.

MANY THANKS

LCD_bb.png
nodcah (author)  marios85431 month ago

I just added a diagram to step 2 showing how to wire the LCD the same way the Serial LCD does, so the original code should work fine! =)

moomooman01 month ago

This was a great project..

I was trying to make it so that only user 0, could add other users to the data base.

could i add a line in prior to the while(true); with something like..

if verify(0);

while(true);

else if

beep();

Im defiantly not a great at code:

maybe there is an better way , thanks again so much really enjoyed this project a lot..

nodcah (author)  moomooman01 month ago

Thanks!!

To only allow user 0 to add a print, you can add:

if(id==0){
//The enroll code goes here
}
else beep();

You can also condense this down to one line, which would be put right before the waitForFinger():

if(id!=0)beep(); //if id is not equal to 0, go straight to beep()

Thanks for the reply , that was defiantly muck more eloquent than the way I had come up with.. now that i have that part working like it should on to the attiny85 .. i have flashed it with the blink program and it works just fine , but when i have it flashed with the code above the red led comes on at boot up, but the yellow pin flashes the pattern that is on the input side ie. pin 12 on the mega. i get three flashes and if i change the delays on the mega side the flashes correspond on the yellow light..dont think that is right so might have an 85 flash problem, i am assuming that the yellow light should be giving me the response from pin 3 on the 85. cause end result right now im not getting the door to pop, even though i am getting flash responce on the yellow led..

nodcah (author)  moomooman01 month ago

If the blink sketch works, then there shouldn't be any problems programming the ATtiny.

The first thing I noticed was that you mentioned pin 3 (which is unused). So, you might need to check your wiring (unless that was a typo).

Secondly, I would recommend removing the transistor and see if the yellow LED is still acting up.

Lastly, you can try uploading this code to the Serial LCD and this to the ATtiny85.

Hope it helps

-Nodcah:-)

following the diagram above attiny85 pin3 connects to the base on the npn and the yellow light tied to ground ...hmmm .. am I reading that wrong.?

the attiny85 code attached above is the same as the serial code attached above is that a boo boo ?

Never mind got it...Wire problem didn't have the resistor tied in between (physical pin 3) on the 85 and the base on the npn..

Great project thanks very much for the help and sharing..

nodcah (author)  moomooman01 month ago

Yeah sorry about the pin 3 thing (I didn't know you were talking about physical pin 3).

But I'm glad you got it!!

Thanks!

-Nodcah

marios85431 month ago

Hi nodcah, Great ible dude. Can I use an arduino uno and an lcd shield instead of this serial lcd ? I mead an arduino is more easy to program instead of this serial lcd because it does not need an external ftdi breakout board. Thanks

nodcah (author)  marios85431 month ago

It depends what kind of shield. The coding might need to be changed if it uses I2C like the Adafruit one. Reply back with a link to the shield you have and I'll let you know. =)

You can also use a smaller Arduino board (Arduino Micro, mini, etc.) and an LCD.

Hi nodcah, I'm sending you the link to my lcd shield. If it needs recoding can you send me the code? Thats the link: http://goo.gl/eBtRhe

P.S: I'm not really good at reading these kind of schematics so can you send me the same schematics but on a breadboard so i can open it with fritzing

Many thanks nodcah.

nodcah (author)  marios85431 month ago

Hmmm... this shield uses I2C, which will need a few changes in the code. One of the changes was adding this library.

Code and Fritzing files below.

Note: I haven't had a chance to test the code, so let me know if it works. Also, be sure to ask if you have any more questions! =D

fps_schem.jpg
nodcah (author)  nodcah1 month ago

Whoops! The 220ohm resistor is actually supposed to be a 1kohm. Here is the updated stuff:

fps_schem.jpg

Hi nodcah, I'm sending you the link to my lcd shield. If it needs recoding can you send me the code? Thats the link: http://goo.gl/eBtRhe

P.S: I'm not really good at reading these kind of schematics so can you send me the same schematics but on a breadboard so i can open it with fritzing

Many thanks nodcah.

riicardoo1 month ago

Hi nodcah, what about how to delete a fingerprint that is already registered? which is the command? I would greatly appreciate your response

nodcah (author)  riicardoo1 month ago

The command is fps.DeleteID(idToBeDeleted). fps is the object and idToBeDeleted is the ID of the fingerprint you want deleted.

In my code, you will be prompted before overwriting a fingerprint, then it will be deleted/rewritten to.

if(fps.CheckEnrolled(enrollid)){

lcd.clear();

lcd.print(" Warning! ID #");

lcd.print(enrollid);

lcd.setCursor(0,1);

lcd.print(" has data. OK? ");



waitForFinger(); //waits for the fps to be pressed



fps.DeleteID(enrollid); //delete data

delay(100);

}
brmarcum1 month ago
How long does the scanner take to register a print? I just got mine in the mail and I'm planning on using it where speed of accessibility is a concern
nodcah (author)  brmarcum1 month ago

The datasheet says it takes less than 1.5 seconds. Through my experience, it seemed to take around half a second or less. I believe this also depends on how many fingerprints are stored on the device (less fingerprints = more speed) :-)

brmarcum nodcah1 month ago
Yeah, datasheets aren't always real world though. That's a good point. I imagine sorting out 200 prints could take some time. Thanks.

hi im doing eee can i do it easily and i want to knw how much this whole set costs

nodcah (author)  thivakarsivan1 month ago

Around $70. Here is a list with prices.

ijako92 months ago

So If i'm understanding this correctly you could essentially program with just using the Arduino board instead of the ATtiny85 chip is that right?

nodcah (author)  ijako91 month ago

You could replace the ATtiny85 with an Arduino board and it would work fine!

But, if you only want to use the ATmega328 on the Serial LCD Kit, you would need to protect it well. =D

whunckler2 months ago

Very cool, I'm in the process of building a version of this right now! How did you go about controlling a servo with the ATtiny85? I'm having trouble getting the a servo library onto the chip. Did you have to manually code the pulses?

nodcah (author)  whunckler2 months ago

Sorry for the confusion, but the ATtiny85 isn't actually controlling anything in the example with the chest; it is simply supplying power (the ATmega328 sends the servo commands). But I was looking into using the Software Servo library as an option for controlling the servo using the ATtiny. Hope that helped! =D

whunckler nodcah2 months ago

Thanks, I saw that library too. It seems that the first version I'm building will substitute the ATiny85 with an arduino, it's overkill but I can add some extra features as well. I plan to try and have my Phillips Hue lights turn on in my room when I scan my finger, and that requires a bit more power than the tiny. Let me know if you make any progress, I always like a simpler approach. Great instructions!

1-40 of 138Next »