# Foreword

Traveling through the Internet, I came across one uninteresting category of toys - "clickers." I was especially pleased with the Office Clicker . Stupidity is of course utter, but there is something in it. You can write some script that will play instead of me, but this is too trite. I decided to make a hardware clicker, but not just a hardware one, but a warm-tube clicker! Interesting? I ask under the cat!

## Warm "tube" circuitry

The scheme came to my mind a very non-trivial, it was based on the automobile high-beam bulb (which I will proudly call a “lamp”):

Parts ratings:
• R1 = 10 KOhm (multiturn);
• R2 = 5 ohms (5 W);
• R3 = 470 OHM (0.25 W);
• R4 = 100 Ω (0.25 W);
• C1 = 47 μF (25 V).

The principle of the scheme is as follows:
1. “Lamp” has cooled (cools);
2. Voltage U1 <U2;
3. The comparator provides a enable signal to the transistor T1;
4. Transistor T1 is open;
5. The relay contacts are closed;
6. A current begins to flow through the “lamp” => it heats up;
7. The resistance of the "lamp" increases;
8. The voltage U1 grows and approaches U2;
9. When U1> U2, the comparator stops signaling at T1;
10. Transistor T1 is closed;
11. Relay contacts open;
12. U1> U2, but gradually U1 decreases;
13. GOTO 1.

The frequency of the generated signal depends on:
• time constant t = R5 * C1;
• warm-up time (and cooling) "lamp".

By changing the voltage U2, we change the heating time of the “lamp”, respectively - the more U2 the lower the frequency will be.

Resistor R4 and Zener diode D1 (for voltage 3.3V) are used to generate a control signal for the next node - the Arduino Duo board.

## Interface

As you already understood, I chose the Arduino Duo board as the interface board between the “tube” relay and the computer.

The principle of operation is very simple:
• when in the "clicker" transistor V1 is closed, the Arduino receives a 3.3V control signal when the transistor is open - 0V;
• Arduino interprets 3.3V as a guide for pressing the paint button;
• Arduino interprets 0V as a guide to let go of LMB.

``````#define VACUUM_LINE 13voidsetup(){
pinMode(VACUUM_LINE, INPUT_PULLUP);
Mouse.begin();
}
voidloop(){
{
Mouse.press();
delay(10);
}
{
Mouse.release();
delay(10);
}
}``````

## We are testing

Instead of a thousand words, I suggest watching one video:

Thanks for attention! I hope my article has helped to improve your mood!