Wireless AC Light Dimmer: Hand Gesture Based


This Hand Gesture project ‘Wireless AC Light Dimmer’ is based on an accelerometer MPU6050 sensor & an Arduino microprocessor to control the intensity or brightness of light wirelessly. The accelerometer MPU6050 sensor senses the positions when your hand tilt in the X & Y-axis and gives you digital readings. The Arduino Nano microprocessor reads & transmits this data using a Radio Frequency Module of 433MHz frequency. The receiver end receives this data at t and used to change and control the light brightness or intensity according to the movement of your hand in the X & Y-axis.

Also Visit : Get the pdf of best books for Ece

You can use this circuit to control the speed of a fan as well as to control the brightness of the light. This Hand Gesture based circuit is very useful for a differently-abled person.

Required Components Lists

Working of Wireless AC Light Dimmer

  • The hand gesture-based wireless AC light dimmer circuit includes a transmitter and a receiver.

Transmitter of Wireless AC Light Dimmer

  • The Wireless AC Light Dimmer hand gesture-based circuit has the Arduino Nano microprocessor board (Board1), A RF transmitter module (TX1) of 433MHz frequency, a battery of 9V, and an MPU6050 accelerometer sensor.

Also Read: Best Electronics Project Tutorials

  • The circuit diagram of the transmitter is shown in the fiqure below.
wireless ac light dimmer transmitter circuit
Transmitter Circuit
  • The TX1 (transmitter module) has four pins, named GND (ground), Data, VCC, & ANT (antenna), as shown in the above figure. The TX1 transmitter module consumes a minimum current of 9mA, which can go high up to 40mA during the transmission. The VCC pin has a broad range of 3V to 12V input voltage.

Arduino Nano : Buy on Amazon

  • The Data pin feds the data which has to be transmitted. Then by using Amplitude Shift Keying (ASK) this signal is modulated and at a frequency of 433MHz sent through the air. The data will be transmitted at a speed of around 10 kbps.
  • The accelerometer sensor MPU6050 has a 3-axis integrated micro-electrical mechanical system (MEMS) accelerometer & a 3-axis MEMS gyroscope. The accelerometer sensor is a 6-axis inertial measurement unit (IMU) sensor or a 6 degree of freedom (DOF), which gives the output in six values—three values from the gyroscope and another three from the accelerometer. This MPU6050 accelerometer sensor uses the I2C protocol for communication. This accelerometer simply works on the principle of the piezoelectric effect.

Also Visit: Latest Jobs, Interships & Off-Campus drives

  • The Arduino Nano microprocessor has thirty pins. The Vin pin of Arduino Nano is connected to the +ve terminal of the 9V battery and the ground (GND) pin of Arduino is connected to the -ve terminal of the battery.
  • The MPU6050 accelerometer sensor is an 8-pin sensor.
  • The 5V of Arduino Nano is connected to its VCC pin.
  • The ground (GND) pin of Arduino is connected to the GND pin of the MPU6050 sensor.
  • Pins SDA & SCL of the MPU6050 accelerometer sensor are connected to pins A4 & A5 pins of Arduino Nano.
  • Pin 1 of the TX1 (transmitter) module is connected to GND & pin 2 is connected to pin D11 of Arduino Nano, and pin 3 is connected to the +ve terminal of the 9V battery.
  • Pin 4 ANT is connected to an antenna for transmission at long-distance.

Software Used in Wireless AC Light Dimmer –

  • Arduino IDE software is used for programming.
  • Connect Arduino Nano to your laptop/PC with a USB cable.
  • Now, Open the source code (sketch) ac_light_tx.ino.
  • And don’t forget to include the libraries such as Adafruit MPU6050, virtual wire library, and string library.
  • Compile the source code. Choose the board & COM port from the Tools menu in IDE.
  • Now, upload the source code ac_light_tx.ino to Board1.

In Arduino IDE Serial Monitor you can test the code. It will show a message “Successfully Connected” if you have properly done all the connections.

You can see the data of both the X-axis & Y-axis on your Serial Monitor of Arduino IDE.

If the serial monitor shows nothing, then refer to the source code file (xyz_tx.ino) line number 14 at //Serial.begin(9600). Remove double //.

Now compile, upload, & then check the Serial Monitor again.

The receiver of Wireless AC Light Dimmer

The receiver has an Arduino Uno (Board2), an RF receiver module (RX1) of 433MHz frequency, optocoupler MOC3020 (IC1), BT139 (TRIAC1), LM393 op-amp (IC2), 230V AC power supply, a bulb of 100-watt (B1) & few basic components.

Arduino Uno : Buy on Amazon

The Circuit diagram of Receiver Module is shown in fiqure below.

wireless ac light dimmer receiver circuit
Receiver Circuit

The three-terminal semiconductor device is known as Triac, it’s bi-directional & can switch the AC current signals and high voltage. The Triac is mostly used in applications control using AC Power.

  • The RX1 (RF receiver module) receives the modulated Radio Frequency signal & then it demodulates the RF signal.
  • The RX1 RF receiver module consists of a total of eight pins.
  • The VCC & GND of RX1 pins is connected to the 5V and the ground (GND) pins of the Arduino Uno.
  • Pin 12 of the Arduino Uno is connected to the data pin of RX1.
  • The op-amp LM393 is used for the detection of zero-crossing AC signals.
  • R4 (resistor) is used as a pull-up resistor, while the other R2 & R3 resistors are used to drop the AC voltage.
  • The Two Diodes D1 & D2 are used to protect the op-amp LM393 from damage due to an increase in the input voltage.
  • The Pin 1 of IC2 obtained the Square wave signal is obtained.
  • Connect pin 1 of IC1 to 5V through R1 resistor & pin 2 to pin 3 of Arduino Uno in the Triac firing circuit.
  • The R5 resistor is connected between the MT2 and IC1 terminal of the Triac.
  • Across the MT1 & MT2 terminals of the Triac, the control signal output is available.

When Arduino is connected to a 5V power supply, the transmitted data starts receiving through the RX1 receiver module. Using PWM signals this received data is used to control the Triac.

To control appliances like a bulb (B1) or a fan the output voltage across the triac can be used. For instance, it can be used to control the intensity/brightness of the bulb or the speed of the fan. Use Serial Monitor to check the output signals received.

  • Upload the ac_light_rx.ino source code to the Arduino Uno board (Board2) using Arduino IDE before connecting the receiver circuit to Arduino Uno.
  • Now, Open the source code (sketch)
  • Compile the source code. Choose the board & COM port from the Tools menu in IDE.
  • Now, upload the source code to Board1.

PCB Layout file : Click Here

Source Code : Click Here


Please enter your comment!
Please enter your name here