Tripwire Automatically Minimizes Tabs When Someone Walks By
This project Aims to maintain computer privacy by using a sensor which detects if someone comes closer to computer such that it sends the command to minimize computer tabs.
The Above diagram shows connection details of transmitter side where as the one below gives the connections of Receiver side.
Hardware components
-
Aruino Mini
-
Arduino pro Micro
-
Nrf24 Module
-
IR sensor
-
Jumper Wires
Software Required
Arduino IDE
Theory
This project mainly contains two modules RECEIVER (Rx) and a TRANSMITTER (Tx). The Rx module is the one which we connect to the computer’s USB port which will receive a signal to execute the script written in the coding whenever there is a trigger happens in the Tx module.
Features
-
Hide all the windows opened
-
Lock the computer
-
You may run any custom script to do whatever you want
Codes
Tx
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define ir 3
RF24 radio(5, 8); // CE, CSN
const byte address[6] = "00001";
boolean irState = HIGH;
boolean preIrState = HIGH;
void setup() {
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
pinMode(ir,INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
const int trigger = 1;
irState = digitalRead(ir);
if(preIrState != irState)
{
Serial.println("detected");
radio.write(&trigger, sizeof(trigger));
preIrState = irState;
}
}
Rx
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Keyboard.h>
RF24 radio(5, 3); // CE, CSN
const byte address[6] = "00001";
int os = 1; //osx = 1, windows = 2, linux = 3
int function = 3; //lock the computer = 1, minimize active window = 2 , show desktop
= 3, custom script = 4
void setup() {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
Keyboard.begin();
}
void loop() {
if (radio.available()) {
int trigger;
radio.read(&trigger, sizeof(trigger));
if (trigger == 1)
{
switch (os)
{
case 1: //osx
switch (function)
{
case 1://lock computer
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press(KEY_RIGHT_CTRL);
Keyboard.press('q');
delay(100);
Keyboard.releaseAll();
Serial.println(trigger);
while (1);
case 2: //minimize active window
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('m');
delay(100);
Keyboard.releaseAll();
Serial.println(trigger);
while (1);
case 3: //show desktop
Keyboard.press(KEY_F11);
Keyboard.press('m');
delay(100);
Keyboard.releaseAll();
Serial.println(trigger);
while (1);
case 4: //custome script
while (1);
}
case 2: //windows
switch (function)
{
case 1: //lock
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('l');
delay(100);
Keyboard.releaseAll();
Serial.println(trigger);
while (1);
case 2: //minimize active window
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('m');
delay(100);
Keyboard.releaseAll();
Serial.println(trigger);
while (1);
case 3: // show desktop
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('d');
delay(100);
Keyboard.releaseAll();
Serial.println(trigger);
while (1);
case 4: //custome script
while (1);
}
case 3: //linux
switch (function)
{
case 1:
while (1);
case 2:
while (1);
case 3:
while (1);
case 4:
while (1);
}
case 4: //custom
while (1);
}
}
}
}