Pakcing list :  1 pcs receiver + 1 pcs transmitter 
 
 Receiver :
 
Module No.: RF11A04
 

Description:

Description:

Model No.: RF11A04 OR CE-RF11A-045V

 

1. Features:

Operating voltage: DC 3-5V

Operating current: less 11mA (DC 5V)
Working priceple: super heterodyne
modulation Mode: OOK / ASK
Operating Frequency : 433.92MHZ
Receiving sensitivity: -108dBm
Output level: 5V TTL level, low standby, the maximum current 20MA (to add a current-limiting resistor)
Decode: learning code, adapted EV1527 / PT2262 and a compatible remote control, you can store up to eight remote control
Working modes: Non-locking (Momentary ), self-locking (Toggle), Inter-locking; 0.1-500000 seconds adjustable delay time
Size: 30x12.1x12.5mm
Weight: 4 grams or less

 

 

2. Pin Description
G: GND pin, DC 3-5V power supply negative
V: VCC pin, DC 3-5V positive power supply
D0: channel 1 output, active high
D1: channel 2 output, active high
D2: Channel 3 output, active high
D3: Channel 4 output, active high
VT: channel output valid signal, the microcontroller can be used as an interrupt signal

 

3. the working mode

 

You can select different modes of operation with"M4 M3 M2 M1 M0" pad in the delay mode to adjust the delay time through an adjustable resistor.

 

In delay mode, the rotary variable resistor can adjust the delay time. Increase the time counterclockwise rotation, and clockwise rotation to shorten the time. Adjustable resistor is a precision resistor, adjust the time with a Phillips screwdriver to gently rotate (do not use excessive force)

Working Mode Description:

  
 

Non-locking: Press the remote control button, the IO port outputs high. Release the remote control button, IO port outputs low.


Self-locking: Press the remote control button, the IO port outputs high. Press the remote control button again, IO port outputs low.


Interlock: Press the remote control button D0, D0 IO port outputs high, other IO ports outputs low; remote control button is pressed D1, D1 IO port outputs high, other IO ports output low and so on.


Delay: Under Delay mode, there is a delay 0/1/2/3/4 five sub-patterns, by adjusting the variable resistor IO port high duration

4, the adapter remote control (learning remote control)

 

In normal operation mode, LED (D1) will be lit, when receiving a valid remote control (EV1527 / PT2262) key value, LED will flash.

Clean code: hold the button to press.LED offs, keep pressing about 8 seconds until LED lights. At that time, clean code completion (Note: After the implementation of clean code, previous remote controls do not exist.

Adaptation (learning):

Step 1 (into the learning mode):trigger the key button, LED offs;


Step 2 (adapter channel 1): press the first button of remote control and then, LED offs after flashes for four times. This time means that it had learned the value of the first button

Step 3 (Adaptation Channel 2): Press the second remote control, LED offs after flashes 4 times, This time means that it had learned the value of the second button

Step 4 (adapter Channel 3): Then press the remote's third button, LED offs after flashes 4 times, This time means that it had learned the value of the third button

Step 5 (Adaptation Channel 4): Then press the remote control's fourth button, LED lights after flashes 4 times, This time means that it had learned the value of the fourth button.


NOTE: The process must be completed within 15 seconds

 
 
Transmitter remotes:
 

 

Model No. TB416 Encoder Transmitter
Function discription Encoder Transmitter modules
Operating voltage
9V DC
Work current
>100mA
Operating frequency 433MHz
modulation Mode ASK/OOK
SAW Frequency stability ±150kHz(max)
Transmitter power >55mW
Data rate ≤10Kbps
Antenns length 24 cm (315 MHz), 18 cm (433.92 MHz)
Dimension 49*31*8mm
Encodeing format SC2262 fixing code (same as PT2264 PT2262 ) ,Work with PT2272 decoder IC
Transmitter distance 1000Meter (open area)
 

 
 
 
----------------------------------------------------------------------------------------------------------------------------------------------
 

Keyfob Deadbolt with FOR Arduino uno R3 and RF transmitter and receiver

 

Intro :

The key to my apartment never worked quite right because it is a copy of a copy of a copy. I am fairly certain that the dead bolt is original to the building and the property manager seems to have lost the original key years ago. As a result unlocking the door was always a pain. Changing the lock wasn't an option, but eliminating the need to use a key was.

Parts:
For Arduino Uno R3
Servo
2 Push Button Switches
Red LED
Green LED
Various Resistors
piezoelectric speaker
Perf Board

 

Step 1 :

Mounting Parts

I used a couple of pieces of acrylic that I acquired in the dumpster of the plastic shop next to my place of work (they throw out alot of small pieces like this). Alternatively another material could be used if you don't have access to acrylic, but it is easy to work with and looks cool.

Using a piece of paper trace the mounting holes for your dead bolt and transfer them onto your acrylic sheet. Since most dead bolts are going to be slightly different I am not sharing the template I made out of a piece of paper (mainly because it isn't anything worth sharing).

Leave the paper covering on while working with the acrylic. The paper makes it easy to mark where to cut/drill as well as protects the material from scratches. Once all of your cuts are made and your holes are drilled you can start installing components such as LEDs and switches.

 

Step 2:

Servo

I used an old parallax servo I had in my parts bin. This small servo is more than strong enough to turn the deadbolt. In order to attach the servo to the lock shaft I used epoxy putty. Epoxy putty is very easy to use and is extremely versatile. The wire you see sticking out of the putty will be used as the arm for the limit switch.

At some point the wires to my servo had been cut so I had to open the case and solder on new ones. I took that opportunity to solder on a second wire to the 5v line and connected it to the limit switch arm.

Step 3:

Wiring

Screws were countersunk from the back of the acrylic. A wire was attached to each screw and then to a digital pin on the Arduino. When the wiper with the 5v wire touches the screw it pulls the digital pin high on the Arduino. Please see the schematic for further details.

Step 4: Program

Disclaimer: I am not a programmer and therefore the below code may not be the most efficient. Feel free to improve the code for your own uses if you see any errors or problems. It works for me so I hope it works for you.


// turn CW to lock and CCW to unlock
//1700 CCW; 1500 Stop; 1300 CW
//written by Chris Rybitski
#include



Servo deadbolt; // create servo
const int CWLimit = 6; // Limit Switch on 6 Unlock
const int CCWLimit = 7; // Limit Switch on 7 Lock
const int Redbtn = 12; //red push button
const int Blackbtn = 8; //black push button
const int GreenLED = 10; // Green LED
const int RedLED = 11; //Red LED
const int Ch1 = 5; //rf channel 1
const int Ch2 = 4; //rf channel 2
const int Buzz = 9; //buzzer
int Unlock = 0;
int Lock = 0;
int timer = 0;
boolean UnLcomplete = false;
boolean Lcomplete = false;

void setup()
{

Serial.begin(9600);

deadbolt.attach(3); // attaches the servo
pinMode(GreenLED, OUTPUT);
pinMode(RedLED, OUTPUT);
pinMode(Buzz,OUTPUT);
pinMode(CWLimit, INPUT);
pinMode(CCWLimit, INPUT);
pinMode(Redbtn, INPUT);
pinMode(Blackbtn, INPUT);
pinMode(Ch1, INPUT);
pinMode(Ch2, INPUT);

//set LED's and Buzzer to be off by default
digitalWrite(GreenLED, HIGH);
digitalWrite(RedLED, HIGH);
digitalWrite(Buzz, HIGH);
}


void loop()
{
if (digitalRead(Ch1) == HIGH || digitalRead(Redbtn) == LOW){ //If remote or button is pressed
if(UnLcomplete == false){ //dont run unlock if door is already unlocked
Serial.println("UnLock");
Unlock = 1;}}
if (digitalRead(Ch2) == HIGH || digitalRead(Blackbtn) == LOW){ //If remote or button is pressed
if(Lcomplete == false){ //dont run lock if door is already locked
Serial.println("Lock");
Lock = 1;}}

//---------------UNLOCK-------------------------
if (Unlock == 1){
timer = 0;
while (digitalRead(CWLimit) == LOW){
if (timer > 1500){
digitalWrite(Buzz, LOW);
delay(500);
digitalWrite(Buzz, HIGH);
}
else{
deadbolt.write(1700);
timer++;
delay(1);
}}
deadbolt.write(1500); //servo stop
digitalWrite(RedLED, LOW);
digitalWrite(GreenLED, HIGH);
UnLcomplete = true; //unlock complete
Lcomplete = false; //reset Lock boolean
digitalWrite(Buzz, LOW);
delay(100);
digitalWrite(Buzz, HIGH);
Unlock = 0; //reset

}

//--------------LOCK----------------------------
if (Lock == 1){
timer = 0;
while (digitalRead(CCWLimit) == LOW){
if (timer > 1500){
digitalWrite(Buzz, LOW);
delay(500);
digitalWrite(Buzz, HIGH);
}
else{
deadbolt.write(1300);
timer++;
delay(1);
}}
deadbolt.write(1500);
digitalWrite(GreenLED, LOW);
digitalWrite(RedLED, HIGH);
Lcomplete = true; //lock complete
UnLcomplete = false; //reset Lock boolean
digitalWrite(Buzz, LOW);
delay(100);
digitalWrite(Buzz, HIGH);
delay(50);
digitalWrite(Buzz, LOW);
delay(100);
digitalWrite(Buzz, HIGH);
Lock = 0; //reset
}
}