[AIoT] Smart Lamp detecting Hand Gesture
LED lamp based on hand gesture and setting auto-brightness according to the environment.
Arducam Mini 2MP Plus - OV2640 SPI Camera Module
x 1
SparkFun - APDS9960 IR sensor
x 1
INTRODUCTION
LED lamp based on hand gesture and setting auto brightness and light color combination according to the environment.
HYPOTHESIS
The LED lamp will use arducam which is supported by a pico board to recognize the hand and then another pico board will use APDS9960 sensor to recognize the gesture and sense the ambient light. The whole model is atomic and can work without any external support of any network. APDS9960 sensor is a kind of Infrared sensor which supports gesture detection, proximity detection, color and lux detection of ambience light.
MATERIALS
- 2 WIZnet W5100S-EVB-Pico board
- 2 Breadboard
- 2 Usb cables
- Arducam Mini 2MP Plus – OV2640 SPI Camera Module
- APDS9960 IR sensor
- Connecting wires
- Resistors
- RGB LEDs
PROCEDURE
- ArduCam will recognize the person and thus activate another W5100S-EVB-Pico board which contains an APDS9960 sensor.
APDS9960 sensor will detect the hand gesture. - If the gesture is either Left or Down it will activate the color and proximity sensor to sense the ambient light.
- Then, According to the LUX and RGB value it will set the brightness and RGB values for the LED and will Turn on the LED light.
- Else if the gesture is either Right or Up it will turn off the LED.
Circuit Diagram:
EXPLANATION
For this model we connected two W5100S-EVB-Pico boards in which one contains an APDS9960 sensor and RGB LED light and another board contains an Arducam and a LED light.
The board which contains an APDS9960 sensor and LED light is termed as PicoBoard A (To avoid confusion), and another pico board as PicoBoard B.
Connections of W5100S-EVB-PicoBoard A with APDS9960
EXPLANATION
For this model we connected two W5100S-EVB-Pico boards in which one contains an APDS9960 sensor and RGB LED light and another board contains an Arducam and a LED light.
The board which contains an APDS9960 sensor and LED light is termed as PicoBoard A (To avoid confusion), and another pico board as PicoBoard B.
Connections of W5100S-EVB-PicoBoard A with APDS9960
CODE EXPLANATION
FLOW CONTROL
Importing all the required libraries to support sensor and board compatible with circuit Python.
Define the Analog, digital and i2c pins for the input and output. Define PWMio for LED outputs.
Take Digital input from another pico board used to support ArduCam, if it is 1 then call function to detect gesture.
Enabling Gesture and Proximity sensor of apds9960 to get the gesture. If the gesture is either left or down, call another function to detect ambient light. Else call function to turn off all the LEDs.
To detect ambient light, enable apds color sensor and detect the conditions and set values accordingly.
Functions Used:
- apdss() is used to enable proximity and gesture sensor in order to detect the gesture.
- rgb() is used to enable color sensors to detect the ambient light conditions and then send appropriate output to the LEDs.
- rgboff() is used to set all LED values to 0, in order to turn them off.
CONCLUSION
A led lamp controlled by hand gesture which provides led brightness and color according to the ambient light, Thus leading towards sustainable development and provides a better environment for the eyes. The model is completely atomic in nature and does not require any external support of any network or hardware.Here is the link for the video of the working model.
REFERENCES
https://github.com/ArduCAM/RPI-Pico-Cam/tree/master/tflmicro/examples
https://github.com/adafruit/Adafruit_CircuitPython_APDS9960/tree/main/examples
APDS9960 Gesture, Proximity, Light & RGB Sensor Tutorial with Arduino