Introduction: Nintendo Keyless Entry System
Once activated NoKES (NintendOKeyless Entry System) will be blinking letting you know that it is alert and keeping guard. Once the Start button is pressed on the controller, the arduino starts recording what buttons are pressed, converts them into a number and adds them together. When you press Start + Select the Arduino compares that number to the combination that you have set.
If you enter an Incorrect combination the arduino activates an attached circuit and plays a sound. It then sends a serial signal to processing and snaps a picture with an attached Webcam (so if someone is messing with your lock you have a picture of them).
If you enter a correct combination the arduino sends a signal to the cd-rom to eject and thus will lock or unlock the door. Upon a correct combination a signal is also sent to processing which plays a sound.
When idle NoKES will "listen" for vibrations with a peizo element that is attached to the door. If someone knocks on the door the vibration is sensed and a signal is sent to the Processing sketch. The Processing sketch will take another picture letting you know who stopped by. NoKES is constructed to be independent from processing in the sense that if you don't have your arduino connected to a computer it will work on its own, you just won't get the pictures or a confirmation sound when a correct combination is entered.
Step 1: Parts List
Main Components:
-Arduino
-Cd-Rom Drive
(this is a great way to re-purpose a dead Cd-Rom as long as it will open and close)
-Classic Nintendo Controller
-Opto-isolator(s)
(mouser P/N: 782-H11A2782-H11A2 or similar)
-Male Molex power connector
-Green and Red Led
Optional Parts:
WebCam
Piezoelectric element
Speaker
something electronic that makes a sound when you press a button
I used a circuit that was in a dinosaur pillow.
Other stuff you will/may need:
wires
solder / solder iron
pcb project board or breadboard
USB cable(s)
2 AA batteries
9V battery
electric tape
Software:
-NoKES_source.zip
Attachments
Step 2: Cd-Rom Prerequisites
Check to make sure that your Cd-rom will open and close with a battery pack and make sure that the Cd-Rom will not close on it's own after being open. I have noticed that some Cd-Trays will close automatically after being open for several seconds I'm not sure if this is a Firmware or Software thing so best to check it out.
You can skip this whole step if you'll be using a wal-wart type power supply to power the Cd-Rom Drive I've found that using a wal-wart works best.
Items:
Molex Power Connector
2AA batteries and a 9V battery
Electrical Tape
Start by removing the unused wires from the Molex Connector
you will only need the red and the black wires.
set up the batteries like the diagram and tape or adhere them together.
this gives you ~12V .
Enough to eject the Cd-Rom Drive
Connect and Test the eject button
you may have to reset the cd-rom by disconnecting and reconnecting the molex a couple of times I'm not sure why I had too but once it opens once it will open and close fine until the power is disconnected.
Step 3: Arduino Eject Test
Open the "NoKES_eject_test" sketch in the Arduino Program and upload it to I/O board
With the arduino powered off and the power disconnected from your cd-rom, connect your Opt-Isolator as shown below
connect your power supply to the cd-rom ensure that it opens and closes by pressing the eject button
power on the arduino and reset immediately
the arduino should blink a few times and the Cd Tray will eject on it's own.
Step 4: NES Controller Re-Wire
I had a hard time finding a female NES connector so I had to use something else. I had on hand a male USB cable, a USB/PS2 connector and a Female PS2 connector, if you have a Male and a Female USB connector you can use that. You actually can use any male/female connector combination as long as it has at least 5 wires. My wiring diagram its a bit confusing going from NES>USB>USB/PS2>ARDUINO so just look at the wiring diagram and get the wires where they belong by any means available to you.
Step 5: Getting Data From NES to Arduino
Connect your NES controller to the Arduino as shown in the previous step.
open the "NoKES _Read_Test" sketch and upload to I/O board.
once it has been uploaded activate the serial monitor button.
pressing a button on a controller should display it's decimal value in the serial monitor window:
A= 127
B= 191
Select= 223
Start= 239
Left= 253
Right= 254
Up=247
Down= 251
Select + Start= 207
no button being pressed = 255
Step 6: Everything Working Together?
with everything connected upload the "NoKES_Main" sketch
Press Start to tell NoKES to start recording your input
Press A then B
Press Start and Select at the SAME TIME
the door should open.
change the value of int "nescode" to change the combination
Once this is working you should grasp it well enough to add more things. The code is heavily commented.
Step 7: Talking to Processing
I'm not going to go into great detail here but you need the following:
Processing (http://processing.org)
WinVDIG
NoKES_Comrade Sketch (included with NoKES_source.zip)
Connect your Arduino and Webcam and run the sketch, pictures are saved in the sketch's folder.
if you need help with this or anything else leave me a comment
Step 8: Warnings
Things to consider if you plan on using this device to actually lock something:
Power Source:
(Batteries Die / Electricity Goes Out)
You would want to find a method to power the Arduino and Cd-Rom with Electricity from your Home but in the event of a power outage have some way to switch to battery power.
Combination Method:
NoKES only looks at the VALUE of your combination code NOT the order it was entered:
"A + B + Left"
is the same as
"Left + B + A"
Things I wanted to Add:
Sleep
Take advantage of the Sleep function of the Arduino
Email:
have the image taken by Processing emailed to me or better yet, sent to my phone.
59 Comments
13 years ago on Step 1
Where is the best place to buy an Arduino online?? Cheap?
Reply 11 years ago on Introduction
radio shack
Reply 12 years ago on Introduction
Amazon
12 years ago on Introduction
Awsome!!!
12 years ago on Introduction
Is there a way to send the bytes another way? Since I don't have a NES controller i'd really like to just use buttons insted!
Is this possible?
13 years ago on Introduction
ummmmmm. how would you physically get through the door way if there are wires and strings in the way
14 years ago on Step 7
Can you use the Nokes without connecting to the computer ?
Reply 14 years ago on Introduction
yes - but no sound/video
Reply 13 years ago on Introduction
Get a Wave Shield
13 years ago on Introduction
Hello, I am having some troubles getting the knock sensor to work. I have written a program to output the piezo value but it still just returns 0. I am sure that the piezo works. I just want to make sure that it is analog pin 4 that the piezo goes in (i have checked others but they return unchanging numbers but pin 4 is the only one outputting 0). I apologize if this is a stupid question.
Thank you.
MDob
14 years ago on Introduction
I just used a relay instead of the whole junk with the optoisolator...
14 years ago on Introduction
gonna do this with a key switch *momentary* soldered up to the Switch on the cd drive with 4 lil bolt things and one big one and if i can get working a pc wired up to the cd drive so when i scan a barcode it tells the pc to open the drive
14 years ago on Introduction
But technically, all I would have to do is quietly push on the drive door and it auto-unlocks.
Reply 14 years ago on Introduction
its supposed to be on the inside of the door, with the controller on the outside
14 years ago on Introduction
This is begging for the Konami code. =]
14 years ago on Introduction
awww... if it read order, it would be UUDDLRLRBA
14 years ago on Introduction
hey everyone, im going to atempt this project but i had a few questions, what are the specs of th opto-solaters because that part number doesnt exist on mouser. and what are the spec of the male molex power connector. im sorry if im new but but is it eg. 9 pin to 9pin male to male or male to female. thanks for anyhelp.
Reply 14 years ago on Introduction
If you get the molex from a PSU,be sure to get the 6 pin DIP on the mainboard.It's an optocoupler as well.
Reply 14 years ago on Introduction
the Molex has 4 Pins it's just like this one:
http://upload.wikimedia.org/wikipedia/commons/thumb/3/31/Molex_female_connector.jpg/800px-Molex_female_connector.jpg
you can cut one off of an old power supply if you have one
the opto-isolator is still available at mouser for $0.46:
http://www.mouser.com/Search/Refine.aspx?Keyword=782-H11A2
you may want to get two in case something unfortunate happens to one
keep us posted on your progress
_
14 years ago on Introduction
Hey, This is a really cool project :P I was wondering if it was possible to just use a lap top instead of the Arduino? and what changes would be required. Im sure all you would have to do is plug and play but i could be wrong.