|
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
- Testing 2500W Large Induction Heater An induction heater is a device that uses electromagnetic induction to heat objects. It consists of...
- Arduino FFT Audio Spectrum analyzer on 8x32 color matrix WS2812B The spectrum analyzer displays the amplitude of signals as a function of frequency, allowing engine...
- Unusual Led Ring Arduino Clock, Temperature, and Humidity meter There are many arduino clock projects with temperature and humidity readings where the results are ...
- How to make simple portable PEMF Magnetic Pulser PEMF (Pulsed Electromagnetic Field Therapy), which is also known as magnetic pulse therapy uses ele...
- Single Mosfet Mini SSTC Tesla coil with 10 + cm Spark A Solid State Tesla Coil (SSTC) is a type of Tesla coil that uses solid-state components such as tr...
- How to Make EM84 (6E2) Vacuum Tube Stereo VU Meter A VU meter, also known as a Volume Unit meter, is a device used to display the audio signal level ...
- Universal Arduino Staccato controller for SSTC and VTCC Tesla Coils The VTTC Staccato Controller was developed in the attempt to create longer sparks from VTTCs while ...
- DIY extremly Sensitive and cheap Arduino Seismometer A seismometer, is an instrument used to detect and record ground motion caused by seismic waves, su...
- DIY Extremly Sensitive and cheap Geophone sensor for Earthquakes detecting A geophone is a device used in geophysics to detect ground movement. It is specifically designed to...
- Arduino FFT Spectrum analyzer on VFD display GP1287 An audio spectrum analyzer is a device that visualizes the frequency content of an audio signal. It...
- DIY simple Spark Gap Tesla Coil Tesla coil is a type of resonant transformer circuit invented by Nikola Tesla around 1891. It is a ...
- DIY PC controlled high power PEMF Therapy Device PEMF or Pulsed Electromagnetic Field therapy is a type of therapy that uses electromagnetic fields ...
- DIY Precise Arduino Miliohmmeter In practice, we very often need to measure low resistances. Measuring low-value resistances, especi...
- The simplest way to determine the quality of lighting in your home - bulb flickering meter Light flickering can be a common issue and may occur with various types of bulbs, including incande...
- Classic Style Arduino Weather Station with three Oled Displays So far I have made several weather stations that display local values as well as internet data, whic...
- How to build simple cheap Hulda Clark Syncrometer Hulda Clark's Syncrometer was a device she claimed could detect the presence of various substances ...
- DIY simplest small CRT Oscilloscope An oscilloscope is a measuring instrument used to visualize and analyze electronic signals. It is c...
- 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, R...
-
Open Source Very Large Stick - Freejoy & MMjoy2 breakout board
494 0 0 -
RF Control training board for students based on ESP32 C3
666 0 2 -
Aquarius+ Computer, Standard PCB
880 0 4 -
KINETIC COASTERS with a TWIST! Laser or 3D Print some DIY Magic
600 0 1 -
RPI - 8 IO PLC With ATTiny85 Watch Dog
527 0 1 -
Nintendo Famicom HVC-001 Controller Shells
621 0 1 -
COMMODORE 128 DIAGNOSTIC REV.785260 KEYBOARD DONGLE
584 0 4 -
COMMODORE 128 15KHz DISPLAY ADAPTER (C128 80 COLUMN ADAPTER)
793 1 6 -