Remote Simple Relay Activation Without a GSM Module

by giuliom95 in Circuits > Remote Control

7559 Views, 15 Favorites, 0 Comments

Remote Simple Relay Activation Without a GSM Module

IMG036.jpg
Hi all! 
First, I want to advice all that I'm italian so I'm sorry for my bad english.

I wanted to activate a relay by calling a phone number: the easiest way to make it, was buying an GSM module, but it is very expensive! So I thought  to resolve this problem by exploiting  the fact that every mobile phone screen blink when a call is incoming.

For make this project i've used:
- Very old mobile phone
- Arduino Uno Rev. 3
- BC547B transistor
- LDR04 photoresistor
- 10Kohm resistor
- Recirculation diode
- Relay with 5V coil nominal voltage
- Small box that will keep the mobile phone
- Breadboard
- Wires

Make the Base Circuit

circuito1.png
IMG038.jpg
I've taken all, except the phone, the box and the photoresistor.  I' ve put them togheter like the images

IMG039.jpg
IMG040.jpg
IMG041.jpg
IMG043.jpg
IMG045.jpg
IMG048.jpg
circuito2.png
At this point I' ve prepared the box. 
First I've checked if the box could keep the mobile inside itself, but in my case it wasn't able because of the antenna of the mobile.
So, I've done two holes in the box: the first for the antenna and the second for the recharge cable on the other side. I've also put some pieces of scotch for keeping the mobile fixed in a position and making stronger the holes.
Then, I've made two other very small holes on the lid of the box exactly in front of where the mobile screen is. (The paper scotch in the 2nd photo is useless)
So, I've put the pins of the photoresistor in the two small holes so that the component is facing the mobile screen.
At this point, I've put the pins of the photoresistor in the breadbord as the fritzing project image shows.

Conclusions and Sketch Code

I have connected to the relay the power on button pins of my computer so that it will turn on when I call the number of the mobile phone. This is the sketch for turning on a computer.:

#define LDRPIN A0
#define BC547BPIN 8
#define LEDPIN 13

void setup() {
   pinMode(BC547BPIN, OUTPUT);
   pinMode(LEDPIN,OUTPUT);
}

void loop() {
  int LDRValue = analogRead(LDRPIN);
 
  if(LDRValue > 50){
    digitalWrite(LEDPIN, HIGH);
   
    digitalWrite(BC547BPIN, HIGH);
    delay(2000);
   
    digitalWrite(BC547BPIN,LOW);
    delay(10000);
   
  } else {
    digitalWrite(LEDPIN, LOW);
  }
 
}

If someone doesn't understand the guide please put a comment below