Find all your DIY electronics in the MakerShed. 3D Printing, Kits, Arduino, Raspberry Pi, Books & more!

As an intern in the Lab, I have the chance to work with professional makers — a group dedicated to the magazine, the readers, and the whole maker movement. As a student in the first year of the MAKE high school class, I get to see the awesome power of this movement as it captivates my peers. As a class, we have planned and built a geodesic dome large enough to house a car, two T-shirt cannons for school sporting events, PVC go karts to be entered in pedal-powered races, and much more. This semester, we have the opportunity to work on a project of our own design. I want to use RFID technology to unlock my car door as I approach.

Because my car has manual locks (it’s a 98 Toyota Tacoma), I must use an Arduino to translate the RFID reader’s signal into mechanical motion. Most projects online only pertain to cars with an electric locking system already in place, so this part of the project is truly my own.  I am using this 12V solenoid, wired to my car battery, to provide the mechanical motion to push the lock.

To pick up the RFID signal, I’m using this Parallax RFID reader, which will be mounted into the wall of my car door, directly under the handle.


Finally, to translate the RFID signal into the solenoid’s motion, I am using an Arduino Uno board, powered from a battery pack.

The RFID reader will be wired into the Arduino’s pins, as will my 12V car battery and the solenoid. The Arduino acts as a gate: when the reader detects the correct RFID tag, the Arduino opens the connection between my car battery and the solenoid, and the door unlocks.  Voila!

Before I set the components up inside my door, I have some potential problems to deal with. I don’t want the to be harmed by the vibration in the door when I shut it, so I think I’ll be mounting everything in a project box with ample styrofoam protection. However, I want the battery pack to be accessible, because removing the door panel repeatedly to change them will be irritating. For this, I think I’ll drill a small hole in the door panel, and run the battery pack out to the small door pocket.

I’m in the process of removing my door panel, and I’ll tackle the Arduino code next-there are ample RFID libraries online, thanks to the vast programming community. Stay tuned for the next steps of my project as I near completion, and feel free to pose questions or provide possible solutions to my problems! Until next time,

Make: Labs Engineering Intern


Related

Comments

  1. ambiguator says:

    Are you planning to deal with RFID security issues, or will you rely on security through obscurity?

  2. dplows says:

    neat project.

    slightly off topic, but what are those 4-prong connectors called as seen in the photo (vertical; near Grand logo in upper right) of the RFID reader? need to buy one for my bluetooth modem but not sure what they’re called. I appreciate your help :)

    1. cornbread ninja says:

      @dplows, those are header pins.

      1. Dan says:

        Thank you!

  3. Josh Hawley says:

    Why use batteries instead of connecting it to the car battery? (using appropriate voltage regulator)

  4. John says:

    In order to help deal with the door closing impact issue, perhaps locating the Arduino up under the driver side dashboard and simply running wires out to the RFID reader through the existing grommet holes would help. If there are no holes, you can drill a couple of small ones if needed, but be sure to use grommets or smooth them out as not to cut into the wire insulation as the wires wiggle in the holes during driving. I’ve done this too many times in my younger years and had smoke billowing out suddenly when I’m driving. Small guage speaker wire works well for this (fairly thin and stranded). That also allows you access to power. You might find a hot +12v near the fuse panel to tap into (downstream from the fuse of course) that is not tied into the key. Usually this is power for a cigarette ligher outlet. You’ll need some sort of case on the Arduino to prevent it from short circuit to any metal parts on the car. In automotive wiring, the whole car is grounded and they just run a hot or signal wire where they need power.

    Also, I’m concerned that the RFID may not read well through the metal of the door. You might want to test that the metal doesn’t shield / block the RFID reading.

    Overall though, a nice project :-) Good luck.

  5. john says:

    I would recommend putting only the solenoid in the door. The RFID will have a tough time getting through the sheet metal, and as you mentioned tearing down the panel to “groom” the system will get pretty boring. You can use some of the wire management stuff (mylar braid or spral sleeve) to protect the wires. I usually cheat and piggyback on the wire bundle the manufacturer has in place for power windows or door speakers.

    Also, having the RFID antenna in a central location (bottom of the back or front window?) may make it so you can get in the car from either side.

    Protect the arduino or relay switch whatever you use. As the magnetic field collapses, the solenoid dumps power back into the switch when it is turned off.

    Similar bad things happen when alternators, starter motors and crazy people who don’t know how to connect battery jumpers, act up so use a hardened automotive rated power supply if you do connect to the car battery.

  6. Zachary says:

    The Uno can handle up to 20V so use the B+ from the car. Typically 250mA is a recommended current draw for a vehicle key off after sitting for an hour, but up to 0.5A is acceptable. I just check the current draw with a Mega ADK with the LED pin on and it was only drawing 60mA.

    I’m guessing that the Uno won’t be able to power the solenoid through one of its pins. So a transistor to activate a relay will probably need to be used as an on/off switch.

    Space is going to be a problem if you mount a box inside the door. The window will most likely not have enough clearance to roll down. Generally if you pull the front dashboard off there is plenty of space to hid things in or under there.

    You will need to test the working distance of your antenna, The cars I work on have a 10′+ antenna for the key-less entry system. If it was disconnected the remote didn’t unlock the car until I was right at the door, and the module was located right above the brake pedal.

    A better idea may be to mount the system under the driver’s seat with a hole in the floorboard to mount the antenna under the vehicle, and just run wires under the carpet and through the door’s wiring harness for the solenoid. There should already be a hole or two near there, the parking brake cable has to pass through the metal somewhere or a wiring harness. Then if you wanted to run it with a battery it would just be under the seat.

  7. mldev says:

    I put one of those RFID readers on my front door. It works great. I used a Picaxe-08M2 microcontroller to read the RFID reader and to unlock the door. I programmed it to store up to 8 tag IDs. It reads the tag and checks if it’s in memory. If it is it unlocks the door. If not I can push a button within 5 seconds and it’ll store the ID in memory. Then that tag will open the door. I’ve tested it and it will not read through metel but it does work through glass. Also the read range is only about 3 to 4 inches.

  8. Dan says:

    Theres a few good points here:
    1) All EM waves can be attenuated to nearly nothing through metal (even a 1 mm thick wire mesh can block most waves
    2) I’ve done similar things with my car’s door electronics, (FOB Extension). I suggest getting a Cigarette adapter to USB/ some other output to use as your power source instead of an extra battery. Take it apart and connect the wires as you see fit. Most of them already have a level converter 12V-5V, and they also include a fuse(for safety).
    3) Lastly about your car battery’s life: Use the microntroller’s sleep & interrupt function/ability. I use PIC microcontrollers, but I believe the Arduino has the same capability. In sleep mode they consume microwatts of power.

  9. Mark says:

    I think the solenoid will not have enough force over a long enough range to unlock your door. I’d suggest using a car door lock actuator. Search on Amazon for “car lock actuator”. They cost about 5 bucks.

  10. Nick says:

    Buy the lithium backpack shield, wire a charging circuit to it from the car via an ignition on wire, then you will never drain the battery or have to replace the battery. Also only put this on one door, so if the solenoid ever fails you will not be permanently locked out without the aid of a locksmith :)

  11. Wes says:

    You mentioned packing the electronics in styrofoam-NOT GOOD–static charges can build up and zap or degrade electronics.
    If you tie into the car’s battery, use plenty of filtering to keep out engine noise.

  12. Jeremy Buck says:

    While RFID is very cool have you considered going the RF or even Bluetooth route? Rx/Tx systems are very cheap and if mounted in the glovebox with a small antenna should give you much better range and penetration through the car’s exterior while using minimal power. my buddy built a little Tx with a solar panel and a cap that constantly broadcasts a “beacon” signal which is read by his car to unlock the doors.

    BT can hog a bit more power but with the newer classes the range could be quite extensive. an all out approach could utilize your phone’s BT to unlock so no extra remote would be needed

  13. caitlinsdad says:

    Are you planning to only activate the driver’s door? I would imagine you need to think about every time you brush up against the car trying to get in the house through the garage, the car unlocks when you do not want it to. Then you have to muzzle the rfid tag that you carry. Will it also be used to lock the doors when you leave the car? It might be constantly unlocking and locking when you go around to get something out of the trunk or fill up for gas. You might need to develop a smarter system.

  14. Wow! How innovative! What an incredible project. Let us know how it turns out!