15 February 2011
Author: Giorgos LazaridisServo-Actuated Door Keylock Hack with capacitance touch-pad
The theory for the touch-buttons that i use to enter the code - How Touch Buttons work
How the RC-servo work (I hack the very same servo that i use for my key-lock) - How RC Servos Works
A Capacitance touch button circuit with the 16F1937 (my first test) - PIC Capacitance Sensor with 4 buttons and Multitouch Function
Battery pack holder for 4 AA batteries in a row - DIY Battery Pack holder with dual voltage outputs
A capacitance touch-pad with 10 buttons and embedded PIC microcontroller - 10 Buttons PIC Touch-Pad with BCD Output
|At 16 June 2015, 12:40:49 user Keyur Thumar wrote: [reply @ Keyur Thumar]|
I need c code for my touch pad project. So can you please upload your C code.
At 1 August 2014, 4:26:38 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@rootd You use the normal hardware key
At 30 July 2014, 13:54:23 user rootd wrote: [reply @ rootd]
cool trick. but if something goes wrong and the battery die. how to goes inside? as no handle door on outside
At 31 March 2014, 21:55:36 user Julian wrote: [reply @ Julian]
Ah I see,awesome!neat trick!
At 31 March 2014, 21:45:06 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@Julian Oh that. Its a piece of metallic tube. I put the wire inside to perform the U around the servo and then i press this tube with a pair of pliers.
At 31 March 2014, 20:53:18 user Julian wrote: [reply @ Julian]
Sorry,to be more precise I meant the wire which is attached to your servo to unlock and lock the door. There is something like a piece of tape holding them together, looks really solid! May i know what did you use for to hold the 2 pieces of wire together?
At 29 March 2014, 21:09:45 user Julian wrote: [reply @ Julian]
Hi, just wondering what did you used to hold the wire together?
At 30 August 2013, 16:21:54 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@michael Page 2, download the the EPS file
At 4 August 2013, 15:25:51 user michael wrote: [reply @ michael]
hi, i am interested in your project ,i am novice but i cant find your controller pcb etching making
At 3 June 2013, 7:58:04 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@Peter If the backlit gets external power, it is then safe to power the PIC from the PIC - It is a common method for power saving (you can completely switch off one PIC).
At 2 June 2013, 7:32:52 user Peter wrote: [reply @ Peter]
Going through your schematics, the keypad (without the LED backlit) is powered from the main PIC, or am i missing something? Even going through the code you have the RB5 port set as KeypadSupply. I know that the PIC16F1937 can work with very low current, I'm just trying to confirm if i need an external power pin on the keypad. (The backlit is already powered externaly in my design)
At 28 May 2013, 15:47:45 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@Peter Oh you mean the ports! Yes correct. RC2 is the pwm. You cannot power the keypad directly from a PIC. The PIC can provide 20mA, the LEDs alone need 20mA. So do not try it.
At 22 May 2013, 9:10:56 user Peter wrote: [reply @ Peter]
I understand the color coding for the RC servos, i just wanted to confirm the connector layout on your project. In the code the PWM pin is connected to register C2, which means that the D registers and the relay are used for power, is that correct?
Also is it safe to power the keypad directly from the PIC via the B5 pin without a transistor?
At 21 May 2013, 4:49:16 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@Peter Better check this out:
There are typical color codes for the servos
At 17 May 2013, 9:03:29 user Peter wrote: [reply @ Peter]
Hey, just to be sure about this in your schematic the servo connector is as follows: 1 - GND; 2 - PWM; 3 - POWER?
At 22 April 2013, 5:11:48 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
At 21 April 2013, 14:04:31 user Peter wrote: [reply @ Peter]
@Giorgos Lazaridis @Giorgos Lazaridis
Thank you for your replies, I'm trying to expand this project a bit with an LCD and other periferals. However that relay's got me a bit perplexed, still does tbh. Also I haven't seen the 100uH inductor on the photos. If im correct a 0.5A inductor should be enough, right?
At 21 April 2013, 11:41:04 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@Peter Sure it is, but you nee to change the software a little bit.
At 21 April 2013, 11:38:37 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@Peter about 75x100cm - i cannot remember exactly
At 20 April 2013, 12:17:48 user Peter wrote: [reply @ Peter]
Is it possible to use a single coil relay? Im having trouble finding a 2coil one that's not insanely expensive :P
At 18 April 2013, 14:40:43 user Peter wrote: [reply @ Peter]
Hello I would like to ask what are the dimensions of the keypad and it's PCB, thanks :)
At 28 February 2013, 21:53:44 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@Ziphon Check this out
At 27 February 2013, 10:56:31 user Ziphon wrote: [reply @ Ziphon]
I have to get a servo working with pressing a button.
When I press it, the servo have to turn and when I let go of the button again, It have to go back to reset mode.
When I press the button it wil turn, and when I press it again, it have to reset.
Could you please help me out ? :)
PS: your door lock was genius ;)
At 8 February 2013, 14:25:59 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@juan morel Go to page 2
At 8 February 2013, 6:24:34 user juan morel wrote: [reply @ juan morel]
Hello, Your work is interessant. I have well test the same capacitive
keyboard like your. Now I would like to test the
communication with a PC by rs232. But I do not sometimes happen to
find this program for the keyboard on your site. Could you help me to
find it? Thank you.
At 16 January 2013, 15:41:10 user Giorgos Lazaridis wrote: [reply @ Giorgos Lazaridis]
@Said Tahsin DANE maybe some sort of internal locking mechanism like a bar? I've never thought of a locking mechanism. I want to be able to walk into my house if the keylock fails...
At 14 January 2013, 22:17:38 user Said Tahsin DANE wrote: [reply @ Said Tahsin DANE]
Great project. We want to make an electronic door for our hackerspace in Istanbul, Turkey. We are lokking for something that actually locks the door. In your case, the system only pulls the thing at the top, right? It does not actually fully lock or unlock the door.
How can we do that for more security? What would be your suggestions. Thank you.
At 5 August 2012, 12:08:50 user jack wrote: [reply @ jack]
can be mounted on a suitcase that was active before a servant to come out the door and after it opens?
At 21 December 2011, 8:36:13 user Kammenos wrote: [reply @ Kammenos]
@Giorgos Nak a solenoid would work as well, but the problem is that you want the "tongue" of the locker to remain open for 3 seconds so that you have time to open the door. This means that the solenoid must be always powered for these 3 seconds, something that does not happen with the motor. The breaking power of the gears is enough to hold the tongue in the opened position. So, the motor works for a few miliseconds to pull the tongue and then you remove the power for as long as you want, until again the power is connected to release the tongue. This is for me a good solution. For better power consumption i would get a better servo with smaller motor.
But think about this: every time you open the door, the servo draws 200mA for 1 sec to open another 150mA (less torque needed) for 1 sec to close, a total of 350mA for 1 second. A typical (non-alkaline) battery can provide 1200mAh. This means that the 4 batteries (6V @ 1200mA) can open and close the servo about 12.000 times (theoretically). I use 4 alkaline batteries.
At 21 December 2011, 7:43:18 user Giorgos Nak wrote: [reply @ Giorgos Nak]
I really thank you for the prompt reply.
I tried also to manufacture something similar, and I used a DC motor (with gearing to transfer the movement). The current that the motor draws is 150mA approx. So, you would also propose something different than the servo or the DC motor to create the wanted movement?
Thank you once again
At 21 December 2011, 6:37:56 user Kammenos wrote: [reply @ Kammenos]
I had measured the current of the servo and it was around 200mA (if i remember correct). An estimation with many educative guesses was that the batteries will hold more than 1 year with normal operation (12 openings per day, every day). There are better products than the cheap servo i used of course, but not a simple DC motor because the servo has the built-in controller for the positioning.
The best 3 points for limiting the power consumption are the sleep mode of the PIC (16uA standby-current), the mechanical switch to wake up the PIC (so no more standby current is required) and the latching relay to power the servo only when moving.
At 20 December 2011, 21:33:20 user Giorgos Nak wrote: [reply @ Giorgos Nak]
I write to you some thoughts that came up seeing the videos.
1. Have you measured the mA that the servo draws and also the power consumption during the movement?
2. Which could be in your opinion an estimated lifetime of the batteries with a normal use?
3. A simply DC motor (of course using a gearing to reduce speed) could be maybe less power \"hungry\" than the servo?
At 12 November 2011, 12:50:21 user Kammenos wrote: [reply @ Kammenos]
@shobdy C3 and C4 are 0.1uF ceramic non-polarized capacitors.
At 8 November 2011, 21:15:04 user shobdy wrote: [reply @ shobdy]
I am in the midst of slowly getting this together and I was wondering something...
C3 & C4 - Is there a reason they are non-polorized ceramic or can they be polorized electrlytic capacitors?
I am having a hard time undrstanding capactior type choices and figure I would ask you.
Once I get this thing working, I will let you know.
Thanks for all your replies,
At 7 October 2011, 21:09:31 user Kammenos wrote: [reply @ Kammenos]
@shobdy no this is not correct. check this out:
the touchpad is exactly this, only that i have add the resistors and the transistor for the leds. That page will help you. I use these channels:
which correspond to these buttons respectively:
At 6 October 2011, 14:49:13 user shobdy wrote: [reply @ shobdy]
OK, after going through the ASM with my limited knowledge the best I could figure out is:
Pin 34 (Cap_check_Ch_1) is hooked to touch pad 1
Pin 35 (Cap_check_Ch_2) is hooked to touch pad 2
Pin 37 (Cap_check_Ch_3) is hooked to touch pad 3
Pin 38 (Cap_check_Ch_4) is hooked to touch pad 4
Pin 06 (Cap_check_Ch_5) is hooked to touch pad 5
Pin 07 (Cap_check_Ch_6) is hooked to touch pad 6
Pin 19 (Cap_check_Ch_7) is hooked to touch pad 7
Pin 20 (Cap_check_Ch_8) is hooked to touch pad 8
Pin 21 (Cap_check_Ch_9) is hooked to touch pad 9
Pin 27 (Cap_check_Ch_10) is hooked to touch pad 10
Am I anywhere near correct?
At 5 October 2011, 23:45:39 user shobdy wrote: [reply @ shobdy]
I thought I just about had the keypad figured out when I noticed that the pins on the PIC didn't make sense to me. It looks like (from looking at your printouts of the front and back of the PCB):
Pin 37 is hooked to touch pad 1
Pin 35 is hooked to touch pad 2
Pin 27 is hooked to touch pad 3
Pin 38 is hooked to touch pad 4
Pin 34 is hooked to touch pad 5
Pin 21 is hooked to touch pad 6
Pin 06 is hooked to touch pad 7
Pin 19 is hooked to touch pad 8
Pin 20 is hooked to touch pad 9
Pin 07 is hooked to touch pad 0
Is this correct? I may be able to go through the ASM and figure it out before you respond but it is always better to ask the designer if you can :)
So it's a race to see which happens first!
At 5 October 2011, 7:05:09 user Kammenos wrote: [reply @ Kammenos]
@shobdy correct, these are 2 more LEDs to show the status, the red and green LEDs. I do not use them any more, you can totally omit them. I do have though a connector in case that....
The VLED is not part of the PCB. It is a wire that goes directly onto a transistor. The transistor is on the air, it is not soldered anywhere. When i decided to add backlit, i had already the PCB made, and i did not make a new. (http://pcbheaven.com/projectpages/images/servoactuateddoorkeylockhack_1309163657.jpg)
As for the resistors, any value between 220 and 6K8 will do. I used 6K8 because the PIC can work with a little current. But i stated 220, because it is the lowest limit that someone can use without damaging the PIC from over current if something goes bad, like short-circuiting the wires or pacing them at +5v.
At 5 October 2011, 0:39:26 user shobdy wrote: [reply @ shobdy]
I keep coming back for more! Lol.
To me it looks like X3-1, X3-2, X4-1, and X4-2 are not really used on the newest version of the doorlock. It looks like it ran two different LEDS in the earlier version. Is it OK to omit that part of the circuit or is it used for something else I am unaware of?
Next part is to clarify something for me. It looks like you soldered 6 wires to the keypad. Your schematic shows 7. Did you solder the VLED somewhere else on your pcb?
The last thing for today is while studying the photos I noticed a few differenced in resistor values. Example is the for you added to the keypad for protection look like they are 6k8. Yet on the schematics you have them down as 220. Which is correct?
Will probably ask more tomorrow. I have started ordering parts to get this going. Wish me luck and thanks for answering all my questions.
At 4 October 2011, 19:53:44 user shobdy wrote: [reply @ shobdy]
OK, I have been poring over the schematics and the pics of the PCB traces and component layouts and I have figured out the following:
X1-1, X1-2, and X1-3 is the 3 prong battery hookup to give 5v, 3v, and gnd respectively.
X2-2 and X2-1 is the 2 screws for the doorjamb to wake up the PIC.
What is the X3-1,X3-2,X4-1, and X4-2 for? I see that they are the 4 pin connector but i am not sure what it connects to.
thanks for now,
At 4 October 2011, 15:27:45 user shobdy wrote: [reply @ shobdy]
Hopefully last question (Until the next :) )
What are the X1-1, X1-2,X1-3, X2-1, X2-2, X3-1, X3-2, X4-1, and X4-2 for?
Is the X2-1 and X2-2 the screws that short and wake up the PIC?
I will go through your logs again to see if it triggers anything in my head but right now I am stumped.
At 4 October 2011, 9:39:35 user Kammenos wrote: [reply @ Kammenos]
@shobdy correct, the leds goes to the emitter. They are all connected in parallel with a limiting resistor.
For the 7th pin: The keypad gets power NOT from the +4.5V on the board. Instead, the PIC on the controller provides power from one pin to the board outside, just to save more power. When the PIC on the controller goes to sleep, the PIC on the touchpad gets absolutely no power, so draws 0 current. But the pin cannot provide enough current for the leds, so i need more current therefore i have one extra line. That other line is the VLED.
About the relay: 15-2 and 16-1 are the SET and RESET, 9-12 is the Normal Open contact for the servo power.
SG1 is the buzzer. It is a simple 5V buzzer.
One more point: Notice in the close image of the touchpad: I have connect the ground wire to the "hatched area" of the PCB, this is something that you need to do as well. Also, i have connect the bottom side hatched area with the top-side hatched area together, so both areas around the keys are grounded.
At 30 September 2011, 21:25:38 user shobdy wrote: [reply @ shobdy]
Thanks for the answers; I have had some training on assembly language years ago and have been trying to brush up on it recently;
The LED's for lighting the keypad, in the schematic I am creating, are hooked to the emitter of the transistor you labeled as Q1 on the keypad schematic; this it correct? The 4 LEDs you used, were they in parellel or serial?
The 7 pin connector you have. Why is there a LED power on the 7th pin if it isn't hooked up on the other end? Can I do away with that and just make the connector a 6 pin also?
Why did you label the VLED seperate from the other power sources? It is 4.5 volts like the rest; couldn't I just tie it in with the others?
Another question I have is about the latching relay. I can't find the one you used so I am going to adapt one from ebay to do it. What I need to know is: on the doorlock schematic, pins 1 and 16 of the relay, are they the ones that enable the relay? pins 2 and 15 disable the relay? and pins 10 and 12 run the servo? or do the first 4 mentioned pins do something else?
SG1, it is just a piezo buzzer? anything you can tell me about it that will help me find a replacement?
I am sorry that I am hitting you with these question but I am trying to re-create your work with different parts and I am not sure of my modding skills yet.
Any and all answers are appreciated and welcomed as they further my knowledge.
At 29 September 2011, 14:49:56 user Kammenos wrote: [reply @ Kammenos]
@shobdy VLED is the voltage for the LED indeed. The transistor T1 (bc548) is a last minute add. The emitter of the transistor should have the LEDs (which are not shown in the schematic - my bad). The thing is that the LEDs along with the transistor and the resistor are NOT in my prototype, i soldered them directly on the air. SO you need to keep that in mind.
Also, as you may notice, the 2 connector which connect the controller with the keypad are not consient, one has 7 pins and the other 6. So be careful when you connect them. Do you know anything about PIC programming and assembly? That will help you.
C3 and C4 are 0.1 uF ceramic capacitor and D1 is 1N4007 diode or any 1A shottky barrier diode (better use a shottky diode).
At 29 September 2011, 2:01:27 user shobdy wrote: [reply @ shobdy]
I wanted to say that your project looks awesome. I would like to try and do it but I am having a bit of a time following your schematics. The keypad schematic wasn't bad except I am not sure what the to lead called "VLED" go to. Are they supposed to hooked to the LED's you lit your keypad with? I don't see LED's anywhere in your schematic. On the other schematic I see that there are a few parts that are not labeled. Examples are: C3, C4, D1, The transistor in the bottom left corner. Did you create a part's list? Sorry to hit you with all these questions. I am excited about trying to build this and don't want to screw it up!
At 12 September 2011, 2:35:10 user student wrote: [reply @ student]
hye i'm really interested with this project.can U tell & show me the detail about the programming that U use to to operate the PIC here.I'm really not know how to create the programming.And also can U show the detail of circuit layout?please....
At 11 July 2011, 7:14:44 user Leonardo wrote: [reply @ Leonardo]
Hi, i'm interesting to see how the capacitive keypad works.
I'm trying to build an RFID access system with a keypad. this is what i have done so far without the keypad.
If you plan to do something similar will be much helpful to all of us.
My code is very simple and has been built by PIC Basic compiler.
At 9 July 2011, 20:16:15 user abd1000 wrote: [reply @ abd1000]
At 8 July 2011, 23:25:07 user Wade wrote: [reply @ Wade]
Wow. This is awesome. The tech editor at Instructables.com, my boss, put my onto this project and I've got to thank both of you! This is brilliant.
We're actually running a contest right now that this project would qualify for, if you're up for putting the instructions onto Instructables.com. You could win a bus pirate (http://dangerousprototypes.com/docs/Bus_Pirate) and a hundred bucks just for joining and adding this to the contest. Could be cool.
Let me know if you're interested. This is exactly the kind of project that benefits from the step by step format of Instructables.
At 23 May 2011, 16:06:34 user Kammenos wrote: [reply @ Kammenos]
@Stefan i strongly suggest you use different capacitance channel for each button. Use 10 channels and not 5 as i did. The paired method does not work very good when a 4mm plexiglass is between the buttons. I look forward to see photos from your project. Good luck.
At 23 May 2011, 13:44:16 user Stefan wrote: [reply @ Stefan]
you should made the housing not from wood but from aluminium ;)
Good project,I will start making it next week
At 22 April 2011, 5:36:42 user Kammenos wrote: [reply @ Kammenos]
@Fung i am really not sure what i will do with them. One will be used for the backlit. But i really like minimal sizes. This of course has to do with each one's taste.
At 22 April 2011, 5:25:04 user Fung wrote: [reply @ Fung]
For those LED indicators, they looked so small, may be 8mm or even 10mm type more suitable?
At 12 April 2011, 9:34:10 user Vasilis Kostelidis wrote: [reply @ Vasilis Kostelidis]
It is an optical scanner. The previous ones are two scanners from Authentec. I found them on devices I bought from ebay. The problem is that they don't have an integrated processor on board, so I have to write the software.
It should not be too hard, I found some linux users who wrote the application and they say it works, so perhaps I 'll try to migrate the code from the C linux environment to a ARM7 or ARM9. I am too lazy to build the board though.
No I don't have a blog or a site, I am too lazy for that, perhaps when I finish (it won't be until the next couple of months) I will give all the material to you and you can host it here if you like.
At 11 April 2011, 5:54:47 user Kammenos wrote: [reply @ Kammenos]
@Vasilis Kostelidis i think this is laser scanner, or is it capacitance? And which one you had before? Will you upload your creation afterwards? Do you have a site or blog?
At 11 April 2011, 4:39:33 user Vasilis Kostelidis wrote: [reply @ Vasilis Kostelidis]
This is an excellent project.
I was planning of doing something similar, but instead of a keypad I want to use a fingerprint scanner.
I recently bought two sensors but the documentation sucks and I think that I will go with the sparkfun sensor: http://www.sparkfun.com/products/8839
They don't have it on stock now but I am waiting.
The reason I did not implemented it, is because I could not find an electronic lock or cylinder, but you explained it so nice that even I think that I can do it.
Thanks for that!
Keep up the good work.
At 15 March 2011, 15:53:57 user Kammenos wrote: [reply @ Kammenos]
@Panagiotis there is no trick in hiding inside the door, nor you need any ingenious way to do it. I just happen to know exactly how these doors are made (i used to work in a factory that makes doors). And i know, that, if you keep things thin (under 20mm), you can put almost anything inside. That is why i kept the PCB and the batteries thin.
At 15 March 2011, 14:22:33 user Panagiotis wrote: [reply @ Panagiotis]
"i will have more serious problems to solve than this, namely the hurricane katrina that is right above my house :D"
Ha ha ha ha....Thank God Greece is safe from hurricanes!!!Well i'll be waiting news...Also i would like to thank you for your useful instructions about the servo because i didn't know that you can make these calculations to calculate the torgue!!!!!!! :-)
" i post detail documentation about my hacks, no tricks hidden ;) "
I didn't mean that you will hide something,but it will be a tricky-(smart) way the way you will put it in the door!!! :-)
At 15 March 2011, 11:51:22 user Kammenos wrote: [reply @ Kammenos]
Hi panagioti. Regarding the waking of the PIC, i have include already a case that the PIC will only wake if the pull switch is continuously activated for 250mSec, exactly for this reason (the wind). Moreover, the door has rubber sealing which act as spring and prevents it from hitting and making noise from the wind. Because of these two, if the PIC ever wakes due to air, i will have more serious problems to solve than this, namely the hurricane katrina that is right above my house :D
Regarding the servos, 1.6 Kg-cm is very good torque. But after making this hack, i began testing all the door locks to see how "hard" the spring is. What i've found is that there are keylocks with very hard spring, as well as others with very soft. Luckily, the one that my door had is somewhere in the middle, and the servo can easily pull it back. Here is your calculation: Your servo can pull 1.6 kilos with a lever of 1cm. But there is no need to use a whole cm as lever. I used about 6mm, so the servo can pull about 1.6 times more weight (1/0.6) which is 2.56 kilos, far enough to overcome any spring.
Regarding the video now, as always, i post detail documentation about my hacks, no tricks hidden ;)
At 15 March 2011, 11:40:31 user Panagiotis wrote: [reply @ Panagiotis]
When you finish it please post a video of how you placed it into the door... that is going to be a little tricky.Also i would like to mention you something about the wakening of the pic,(if you have\\\'t consider it yet).I think that you must find another way of wakening up the pic.Everytime that the wind blows you will have a wakening of the pic so i don\\\'t know if these contacts are the best solution to wake up the pic.
(for energy saving and only)
Yeasterday i bought a pack of 9g servo and in the description was saying that have 1,6kg/cm.Is this value ok to pull the \\\"tongue\\\" of the keylock?
At 22 February 2011, 17:39:22 user Kammenos wrote: [reply @ Kammenos]
yes Fung, there are like a million different uses for the inductors. As a matter of fact, you could somehow consider inductors like the opposite of capacitors. They are used in filters, smoothing applications, PWM power supplies and many more.
Regarding the buzzer, the limiting resistor is mainly to protect the transistor, as it is selected to operate in saturation. So, no matter how small you make it, you will see no difference. You could try to change the duty cycle of the signal, but i have never test it that deep.
At 22 February 2011, 12:43:55 user Fung wrote: [reply @ Fung]
Is there any applications for an inductor other than driving a motor?
And, for the part of amplifying the buzzer, what value should be chosen for the base limiting resistor if I want to rise up a few tones for it?
PS: I have mails sent to your mailbox but no replies received, please help because I still have no solutions yet.
At 21 February 2011, 5:56:10 user Kammenos wrote: [reply @ Kammenos]
it is a 9g servo i bought from ebay. i do not know more details. if you search for "9g servo" on ebay,there are tons
At 20 February 2011, 11:16:28 user hyper wrote: [reply @ hyper]
what model of servo did you use?
HOT in heaven!