diff options
| author | Tradam <[email protected]> | 2020-06-14 03:46:27 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-06-14 03:46:27 -0400 |
| commit | 2e645ff7b2eddf7aec3ade2485f7e30286f82002 (patch) | |
| tree | b57a69b59d0247d8c76c43330b21c7374e2e5568 | |
| parent | fee09614dc4ccc17729a1e5c522ded1f5b54f0e4 (diff) | |
| download | wiiLightMote-2e645ff7b2eddf7aec3ade2485f7e30286f82002.tar.gz wiiLightMote-2e645ff7b2eddf7aec3ade2485f7e30286f82002.zip | |
Initialize Code
| -rw-r--r-- | wiiLightMote,rb | 158 |
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 + |
