summaryrefslogtreecommitdiffhomepage
path: root/wiiLightMote,rb
diff options
context:
space:
mode:
authorTradam <[email protected]>2020-06-14 03:46:27 -0400
committerGitHub <[email protected]>2020-06-14 03:46:27 -0400
commit2e645ff7b2eddf7aec3ade2485f7e30286f82002 (patch)
treeb57a69b59d0247d8c76c43330b21c7374e2e5568 /wiiLightMote,rb
parentfee09614dc4ccc17729a1e5c522ded1f5b54f0e4 (diff)
downloadwiiLightMote-2e645ff7b2eddf7aec3ade2485f7e30286f82002.tar.gz
wiiLightMote-2e645ff7b2eddf7aec3ade2485f7e30286f82002.zip
Initialize Code
Diffstat (limited to 'wiiLightMote,rb')
-rw-r--r--wiiLightMote,rb158
1 files changed, 158 insertions, 0 deletions
diff --git a/wiiLightMote,rb b/wiiLightMote,rb
new file mode 100644
index 0000000..5dc3fac
--- /dev/null
+++ b/wiiLightMote,rb
@@ -0,0 +1,158 @@
+
+require 'hue'
+require 'cwiid'
+
+bridge = Hue.application
+
+loop do
+ begin
+ puts "Searching for wiimote(press 1 + 2)"
+ wiimote = WiiMote.new
+ puts "Wiimote Connected"
+ wiimote.rpt_mode = wiimote.rpt_mode = WiiMote::RPT_BTN | WiiMote::RPT_ACC
+
+ wiimote.led = 9
+ wiimote.get_state
+ colour = Hue::Colors::ColorTemperature.new(((([[wiimote.acc[1].to_f,150.0].min,100.0].max - 100.0)/50.0) * 4500) + 2000)
+ up = [colour,255]
+ right = [colour,255]
+ down = [colour,255]
+ left = [colour,255]
+
+ begin
+ wiimote.get_state
+
+ if ( wiimote.buttons & WiiMote::BTN_HOME ) != 0
+ for bulb in bridge.bulbs
+ if bulb.on?
+ bulb.off
+ else
+ bulb.on
+ end
+ end
+ sleep(0.245)
+ end
+
+ if ( wiimote.buttons & WiiMote::BTN_A ) != 0
+ for bulb in bridge.bulbs
+ if bulb.on?
+ colour = Hue::Colors::ColorTemperature.new(((([[wiimote.acc[1].to_f,150.0].min,100.0].max - 100.0)/50.0) * 4500) + 2000)
+ bulb.color = colour
+ end
+ end
+ sleep(0.004)
+ end
+
+ if ( wiimote.buttons & WiiMote::BTN_B ) != 0
+ for bulb in bridge.bulbs
+ if bulb.on?
+ colour = Hue::Colors::HueSaturation.new((([[wiimote.acc[1].to_f,150.0].min,100.0].max - 100.0)/50.0) * 65535, 255)
+ bulb.color = colour
+ end
+ end
+ sleep(0.004)
+ end
+
+ if ( wiimote.buttons & WiiMote::BTN_PLUS ) != 0
+ for bulb in bridge.bulbs
+ if bulb.on?
+ if ( bulb.brightness + 15 ) < 255
+ bulb.brightness += 15
+ else
+ bulb.brightness = 255
+ end
+ end
+ end
+ end
+
+ if ( wiimote.buttons & WiiMote::BTN_MINUS ) != 0
+ for bulb in bridge.bulbs
+ if bulb.on?
+ if ( bulb.brightness - 15 ) > 1
+ bulb.brightness -= 15
+ else
+ bulb.brightness = 1
+ end
+ end
+ end
+ end
+
+ if ( wiimote.buttons & WiiMote::BTN_UP ) != 0
+ for bulb in bridge.bulbs
+ if (( wiimote.buttons & WiiMote::BTN_1 ) != 0) & bulb.on?
+ #set preset
+ up[0] = colour
+ up[1] = bulb.brightness
+
+ else
+ if bulb.off?
+ bulb.on
+ end
+ #load preset
+ bulb.color = up[0]
+ bulb.brightness = up[1]
+ end
+ end
+ end
+ if ( wiimote.buttons & WiiMote::BTN_RIGHT ) != 0
+ for bulb in bridge.bulbs
+ if (( wiimote.buttons & WiiMote::BTN_1 ) != 0) & bulb.on?
+ #set preset
+ right[0] = colour
+ right[1] = bulb.brightness
+
+ else
+ if bulb.off?
+ bulb.on
+ end
+ #load preset
+ bulb.color = right[0]
+ bulb.brightness = right[1]
+ end
+ end
+ end
+ if ( wiimote.buttons & WiiMote::BTN_DOWN ) != 0
+ for bulb in bridge.bulbs
+ if (( wiimote.buttons & WiiMote::BTN_1 ) != 0) & bulb.on?
+ #set preset
+ down[0] = colour
+ down[1] = bulb.brightness
+
+ else
+ if bulb.off?
+ bulb.on
+ end
+ #load preset
+ bulb.color = up[0]
+ bulb.brightness = up[1]
+ end
+ end
+ end
+ if ( wiimote.buttons & WiiMote::BTN_LEFT ) != 0
+ for bulb in bridge.bulbs
+ if (( wiimote.buttons & WiiMote::BTN_1 ) != 0) & bulb.on?
+ #set preset
+ left[0] = colour
+ left[1] = bulb.brightness
+
+ else
+ if bulb.off?
+ bulb.on
+ end
+ #load preset
+ bulb.color = up[0]
+ bulb.brightness = up[1]
+ end
+ end
+ end
+
+ sleep(0.001)
+ end until ( wiimote.buttons & WiiMote::BTN_2 ) != 0
+ wiimote.close
+ puts "Wiimote Disconnected"
+ rescue RuntimeError => e
+ puts e.message
+ puts "Trying to connect again..."
+ end
+end
+