|
|
Arduino Nano R3 |
x 1 | |
|
|
LDR module |
x 1 | |
|
|
IRF7303TRPBFonsemi
|
x 1 | |
|
|
LEDINDIFFERENT
|
x 2 | |
|
HY1-12VPanasonic Electric Works
|
x 1 | |
|
|
Resistors |
x 4 |
|
Soldering Iron Kit |
|
|
arduino IDEArduino
|
Arduino Door Lock with Smartphone Flashlight Login (Li-Fi project)
There are many different arduino door lock projects, where the access method is using a keyboard, RFID card, biometric device, WiFi, Bluetooth, etc... This time I will describe to you a project where access is made possible in a very unusual way with the help of a flashlight from a smartphone.
In this way, even double protection is enabled, once a password has to be entered in the APK application, and then that information is transmitted using the light generated by the smartphone flashlight, and there is no way to enter it directly on the lock.

I got the idea from Himanshu Sharma's Li-Fi project from where I also used the .APK application, and adapted the Arduino code for this particular project.
The device is very simple to make and contains only a few components
- Arduino Nano Microcontroller
- LDR resistor module
- 12V Relay
- Power Mosfet Transistor (IRF730)
- Buzzer
- Two LEDs
- and some resistors

On the occasion of the upcoming Christmas and New Year holiydays visit the PCBWay Christmas Big Sales where you will found discounts of up to 50%, as well as many other prizes and benefits. PCBway is one of the most experienced PCB manufacturing company in China in field of PCB prototype and fabrication. They provide completed PCB assembly service with worldwide free shipping, and ISO9001 quality control system. Also, on their site there is an online gerber viewer where you can upload your gerber and drill files to render your board.

The mosfet transistor can be any one with medium or high power, and the relay is designed for 12V operation. As for the LDR module, it contains a LM393 comparator IC, and when the resistor is illuminated, the output voltage should be 0V, and +5V in the dark.
The key to unlock is actually the mobile phone on which the corresponding application is recorded.

First, let's explain how the device works. The smartphone application contains several predefined passwords, and to activate the flash we must enter one of these passwords, in my case it is "hello". Each password generates a flash activation with an exact preset time in milliseconds. On the other hand, the lock is activated only when we bring light to the LDR resistor with the exact time specified in the Arduino code, which should be identical to the time defined in the smartphone application. This time is very precisely defined, so theoretically it is almost impossible to unlock by manually turning the flashlight on and off.

Now let's see how the device works in real conditions:
When switched on, the red LED lights up, which means that the lock is in standby position and is waiting for an opening signal. First, let's try manually turning the flash on and off. As I mentioned before, it is impossible to open the lock this way. Now we will try with the Application. If we enter some random password, the flash is not activated at all. If we enter one of the previously defined passwords that is not common with the Arduino code, the flash is activated, but does not open the lock. Only if we enter the selected password, the door will open, in our case it is "hello". The green LED lights up and the relay is activated for 2 seconds, during which time we can open the door.
And finally, a short conclusion. This is actually not a real Li-Fi communication, it's just a simple light beam with a certain duration, which duration is related to a given operation performed by the arduino. This is just Proof of concept, and in a more advanced case, some useful signal should be modulated in the light, which would then be demodulated in the receiver. This will be the subject of one of my next projects.

#define Solenoid 12
#define ldr 8
int Buzzer = 4;
int GreenLed = 6;
int RedLed = 11;
int val;
int val2;
String duration;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(ldr, INPUT_PULLUP);
pinMode(Solenoid, OUTPUT);
pinMode(GreenLed, OUTPUT);
pinMode(RedLed, OUTPUT);
digitalWrite(RedLed, HIGH);
}
void OpenDoor(){ //Lock opening function open for 3s
digitalWrite(Solenoid,HIGH);
tone(Buzzer, 500);
digitalWrite(RedLed, LOW);
digitalWrite(GreenLed, HIGH);
delay(3000);
digitalWrite(Solenoid,LOW);
noTone(Buzzer);
digitalWrite(RedLed, HIGH);
digitalWrite(GreenLed, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
int val = digitalRead(ldr);
while(val == 0)
{
int val2 = digitalRead(ldr);
duration += val2;
if(duration == "0001")
{
OpenDoor();
}
if(val2 == 1)
{
duration = "";
break;
}
delay(200);
}
}
Arduino Door Lock with Smartphone Flashlight Login (Li-Fi project)
- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Mirko Pavleski
-
Arduino 3D Printed self Balancing Cube
Self-balancing devices are electronic devices that use sensors and motors to keep themselves balanc...
-
Build simple Retro Style VFO (Variable frequency oscillator) with Crowoanel 1.28 inch Round Display
Today I received a shipment with a Small round LCD display from Elecrow. The device is packed in tw...
-
Human vs Robot – Rock Paper Scissors with MyCobot 280 M5Stack
Today I received a package containing the few Elephant Robotics products. The shipment is well pack...
-
How to Build a Simple Audio Spectrum Analyzer with Adjustable Settings
An audio spectrum analyzer is an electronic device or software tool that measures and visually disp...
-
How to Make a Digital Clock on a Vintage B&W TV using Arduino
These days I accidentally came across this small retro Black and White TV with a built-in Radio, so ...
-
Build a $10 Function Generator with Frequency Meter for Your Lab
A function generator is a piece of electronic test equipment used to generate various types of elec...
-
From Unboxing to Coding - Radar Clock on Elecrow’s 2.1 HMI Display
Today I received a shipment with a large round LCD display from Elecrow. The device is packed in two...
-
Making a Retro Analog NTP Clock with Unihiker K10 - Arduino IDE Tutorial
Some time ago I presented you a way to use standard Arduino libraries on the Unihiker k10 developme...
-
Build a Cheap & Easy HF Preselector - Antenna Tuner
HF antenna preselector is an electronic device connected between an HF radio antenna, and a radio r...
-
DIY Static Charge Monitor - Electrostatic Field Detector (Arduino & TL071)
A Static Charge Monitor also known as a Static Field Meter or Electrostatic Voltmeter is a device u...
-
XHDATA D-219 Radio Short Review with complete disassembly
Some time ago I received an offer from XHDATA to be one of the first test users of their new radio m...
-
How to make Simplest ever Oscilloscope Clock
An oscilloscope clock is a unique and creative way to display the time using an oscilloscope, which...
-
DIY Digital Barograph with BME280 and ESP32 - 24 Hour Pressure Trends
A barograph is a self-recording barometer that continuously measures and records atmospheric pressu...
-
Build a Raspberry Pi Pico SDR Radio with Waterfall Display
Software-defined radio (SDR) is a radio communication system where components that have traditional...
-
DIY Magnet Polarity Detector - How to Identify Poles with a Hall Sensor from a PC Fan
Recently, while working on a project, I needed to determine the polarity of several permanent magne...
-
Light Meter Project - Making Dfrobot Unihiker K10 Work with Standard Arduino Libraries
The other day I received a shipment with a UNIHIKER K10 development board from DFRobot, which I rec...
-
DIY Simple Arduino Whack-a-Mole Game
A "Whack-a-Mole" game is a classic arcade-style game where moles pop up randomly from holes, and th...
-
Wireless Power Transmission, Long-Distance and High-Efficiency with Class-E Tesla Coil
Wireless energy transfer also known as wireless power transmission is a method of getting useful el...
-
-
AEL-2011 Power Supply Module
327 0 1 -
AEL-2011 50W Power Amplifier
300 0 1 -
-
-
Custom Mechanical Keyboard
567 0 0 -
Tester for Touch Screen Digitizer without using microcontroller
232 2 2 -
Audio reactive glow LED wristband/bracelet with NFC / RFID-Tags
238 0 1 -
-
-







