Hypnotizer Using Arduino

Hypnotizer is device which is used to control mind and is one of the favorite things of us. Here is a project called hypnotizer using arduino shown in figure 1, which control the motor and also rotate it into clock wise and anti close wise direction. A spiral disk shown in figure 2, attached to a motor and rotates as motor rotates to mesmerize the unfortunate victims.

hypnotic-spiral

Project Description of Hypnotizer Using Arduino

The Project Hypnotizer is divided into two sections:

  1. Hardware Section and
  2. Software Section

Hardware Section:– The circuit diagram of hypnotizer is build using An arduino duemilanove or clone, H-bridge arrangement, DC motor and few passive components.

hypnotizer using arduino

The H-bridge arrangement is build using four MOSFET rather than bipolar transistor in order to reduce heating effect. As we know that gate current is needed to operate MOSFET. The output signal from D5 and D6 of arduino is given to the base of NPN transistors T1 and T2 through resistor R5 and R6 respectively. These transistor is used as switch and turn on the MOSFET T3 and T5 respectively.

Here, MOSFET T3 is connected in series with T6 while T4 and T5. The resistors R1 through R4 keep the N-channel get low while P-channel gate high. Capacitor C1 smoothes the pulse of power from the supply.

PARTS LIST OF HYPNOTIZER USING ARDUINO

Resistor (all ¼-watt, ± 5% Carbon)
R1 – R6 = 10 KΩ
Capacitor
C1 = 470 µF/20V
Semiconductors
Arduino Duemilanove or clone

T1, T2 = BC548

T3, T5 = FQP27P06 (P-channel power MOSFET)

T4, T6 = FQP33N10 (N-channel power MOSFET)

Miscellaneous
M1 = 6V DC motor

Software:-

int t1Pin = 5;

int t3Pin = 6;

 

int speeds[] = {20, 40, 80, 120, 160, 180, 160, 120, 80, 40, 20,

-20, -40, -80, -120, -160, -180, -160, -120, -80, -40, -20};

 

int i = 0;

 

void setup()

{

pinMode(t1Pin, OUTPUT);

digitalWrite(t1Pin, LOW);

pinMode(t3Pin, OUTPUT);

digitalWrite(t3Pin, LOW);

}

 

void loop()

{

int speed = speeds[i];

i++;

if (i == 22)

{

i = 0;

}

drive(speed);

delay(1500);

}

 

void allOff()

{

digitalWrite(t1Pin, LOW);

digitalWrite(t3Pin, LOW);

delay(1);

}

 

void drive(int speed)

{

allOff();

if (speed > 0)

{

analogWrite(t1Pin, speed);

}

else if (speed < 0)

{

analogWrite(t3Pin, -speed);

}

}

 

Leave a Comment