Free delivery on all orders above Rs 999/-
Get 50rs Discount in Your First Order (Coupon code) – NEW50


KY-027 Magic Cup Tilt Switch Module Compatible with Arduino and Nodemcu

63.72 Incl. Tax

Share with Friends

Magic Light Cup Module is a board which has a led and a mercury tilt switch. Using PWM to drive the LEDs on the module you can achieve the effect of light being magically transferred from one module to the other when tilting them. In short, its 2 components combined, a mercury tilt switch and a led. On tilting the module mercury inside small tube connect the switching point and make switch ON while tilting it to other side move the mercury and it disconnects the circuit and switch get OFF. The module operates on 5V DC supply.

So the magic in the name of this module is because when you tilt the switch, the led will turn on and off. And Of course, it is also possible to connect it to the NodeMCU.

Pin Connection with Arduino:-

  1. G: GND
  2. +: 5v DC
  3. S: Arduino pin 8
  4. L: Arduino pin 9

Pin Connection with Node MCU:-

  1. Connect G to a GND port of your NodeMCU
  2. Connect + to a 3.3v port of your NodeMCU
  3. Connect S to a digital port on your NodeMCU (in my example port D3)
  4. Connect L to a digital port on your NodeMCU (in my example port D5)

Arduino Example Code:-

In this Arduino sketch, well use two Switching modules to create the magic light cup effect. The mercury switches in each module provide a digital signal that is used to regulate the brightness of the LEDs using PWM. Tilting the modules will decrease the brightness on one module while increasing it on the other one, creating the illusion of light magically passing from one module to the other.

int ledPinA = 9;int switchPinA = 8;int switchStateA = 0;int ledPinB = 6;int switchPinB = 7;int switchStateB = 0;int brightness   = 0;void setup() {  pinMode(ledPinA, OUTPUT);   pinMode(ledPinB, OUTPUT);    pinMode(switchPinA, INPUT);   pinMode(switchPinB, INPUT);}void loop() {  switchStateA = digitalRead(switchPinA);  if (switchStateA == HIGH && brightness != 255)  {    brightness ++;  }   switchStateB = digitalRead(switchPinB);  if (switchStateB == HIGH && brightness != 0)  {    brightness --;  }   analogWrite(ledPinA, brightness);  //  A slow fade out  analogWrite(ledPinB, 255 - brightness);  // B slow bright up  delay(20);}

* product image for illustration purposes only. actual product may vary.


There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

You may also like…