Hey everyone!
We have already learnt to make Door Lock system using Arduino. Today I will be teaching you about the third version of this project. In the third version, you will be using RF 433MHz transmitter and receiver modules to control the Solenoid door lock.
Hardware components used in this project
- Voltage Regulator/ 12V DC power adapter
Transmitter Circuit
- Arduino Nano
- USB 1.0 Type A to mini B cable (for Arduino Nano)
- Solderless Breadboard - Mini
- RF 433MHz transmitter module
- Push-button
- Male-to-Male Jumper wires (x2) - 10cm
- Jumpers (x7) - to reduce the usage of wires
Receiver Circuit
- Arduino Uno
- USB Type A/ B cable (for Arduino Uno)
- Solderless Breadboard - Mini
- RF 433MHz receiver module
- Relay module - 5V single channel
- Solenoid door lock - 12V DC
- Male-to-Male Jumper wires (x4) - 10cm
- Female-to-Male Jumper wires (x3) - 20cm
Setup
Your setup must look somewhat similar to those shown in the pictures above.
Connections
RF 433 MHz transmitter module
- GND - Ground
- VCC - 5V
- DATA - D10
RF 433 MHz receiver module
- GND - Ground
- VCC - 5V
- DATA (any one of the two pins can be used)- D2
Relay module
- S - D12
- (+) - 5V
- (-) - Ground
Coding
For this project, I have used the 'rc-switch' library by sui77. To download this library, please follow the hyperlink. Go to File---->Examples---->rc-switch and open the sketches for the transmitter circuit and receiver circuit.
- Transmitter circuit - SendDemo
- Receiver circuit - ReceiverDemo_Simple
Upload these example sketches to the respective Arduino microcontrollers to test whether your modules are working or not.
Watch the YouTube video in the last section of this page to learn how this project works.
RF transmitter
Include the 'rc-switch' library in your sketch. Use RCSwitch( ) function to create your switch object, similar to the one in the examples sketch. Within void setup( ), use pinMode( ) function to configure the pin of push-button as INPUT_PULLUP (the mode should be set as INPUT_PULLUP only if a pull-down resistor is not used). Use enableTransmit( ) function to attach your switch to D10.
Within void loop( ), you must program your microcontroller such that the push-button triggers the RF transmitter once it is pressed. The push-button sends a LOW signal to the Arduino microcontroller when it is pressed as the mode is INPUT_PULLUP. If the LOW signal is sent, use send( ) function to make the RF transmitter send a decimal code (24 bits). The syntax used here must be the name of your switch object. Set a delay period of one second before completing the void loop( ) function.
RF receiver
Follow the same set of instructions from the RF transmitter section till void setup( ) to prepare your RF receiver sketch.
Within void setup( ), use pinMode( ) function to configure the pin of relay module as OUTPUT. Use enableReceive( ) function to attach the receiver to interrupt 0 which is D2.
Within void loop( ), use if( ) function and its parameter should be available( ) function with the syntax as the name of the switch object you created. Within the if( ) function, create a local variable named 'code'. The decimal code received by the RF receiver must be stored in the 'code' variable. To receive the decimal code, use getReceivedValue( ) function with syntax as the name of the switch object. If the value stored in the 'code' variable equals the decimal code sent by the RF transmitter, the relay module must be switched on and it must be switched off after a delay of 10 seconds. Set a delay of 1 second before resetting the RF receiver.
If anyone has any questions about the codes, please feel free to comment below or send me an email at arduinoprojectsbyr@gmail.com.
Final Look
If anyone has any questions, or suggestions, about this project, please don't hesitate to comment below or send me an email at arduinoprojectsbyr@gmail.com.
nice
ReplyDelete