{"id":2644,"date":"2020-08-21T03:39:03","date_gmt":"2020-08-20T20:39:03","guid":{"rendered":"https:\/\/www.phidgets.com\/education\/?page_id=2644"},"modified":"2022-08-31T23:53:31","modified_gmt":"2022-08-31T16:53:31","slug":"dataevents_3","status":"publish","type":"page","link":"https:\/\/www.phidgets.com\/education\/learn\/getting-started-kit-tutorial\/dataevents_3\/","title":{"rendered":"Getting Started Kit &#8211; Smart Phidget"},"content":{"rendered":"<p>[et_pb_section bb_built=&#8221;1&#8243; fullwidth=&#8221;off&#8221; specialty=&#8221;on&#8221; inner_width=&#8221;auto&#8221; inner_max_width=&#8221;1200px&#8221;][et_pb_column type=&#8221;1_3&#8243;][et_pb_code admin_label=&#8221;ph-vertical-menu&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<div class=\"ph-vertical-menu ph-vertical-sticky\"><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_1\"><!-- [et_pb_line_break_holder] -->    Button Events<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_2\/\"><!-- [et_pb_line_break_holder] -->    Button &#038; LED Events<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item active red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_3\/\"><!-- [et_pb_line_break_holder] -->    Smart Phidget Events<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] --><a class=\"ph-vertical-menu-subitem\" href=\"#overview\"><!-- [et_pb_line_break_holder] -->    Overview<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-subitem\" href=\"#write-code\"><!-- [et_pb_line_break_holder] -->    Write Code<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-subitem\" href=\"#run-program\"><!-- [et_pb_line_break_holder] -->    Run Your Program<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-subitem\" href=\"#practice\"><!-- [et_pb_line_break_holder] -->    Practice<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-subitem\" href=\"#troubleshoot\"><!-- [et_pb_line_break_holder] -->    Troubleshoot<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/attach\/\"><!-- [et_pb_line_break_holder] -->    Attach\/Detach Events<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_4\/\"><!-- [et_pb_line_break_holder] -->    Data Interval<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][et_pb_code admin_label=&#8221;ph-vertical-menu&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; disabled=&#8221;on&#8221; disabled_on=&#8221;on|on|on&#8221;]<\/p>\n<div class=\"ph-vertical-menu ph-vertical-sticky\"><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dutycycle\/\"><!-- [et_pb_line_break_holder] -->    LED Brightness<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/getting-started-kit-advanced-10-closing\/\"><!-- [et_pb_line_break_holder] -->    Closing Phidgets<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_1\"><!-- [et_pb_line_break_holder] -->    Button Events<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_2\/\"><!-- [et_pb_line_break_holder] -->    Button &#038; LED Events<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item active red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_3\/\"><!-- [et_pb_line_break_holder] -->    Smart Phidget Events<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] --><a class=\"ph-vertical-menu-subitem\" href=\"#overview\"><!-- [et_pb_line_break_holder] -->    Overview<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-subitem\" href=\"#write-code\"><!-- [et_pb_line_break_holder] -->    Write code<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-subitem\" href=\"#practice\"><!-- [et_pb_line_break_holder] -->    Practice<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-subitem\" href=\"#troubleshoot\"><!-- [et_pb_line_break_holder] -->    Troubleshoot<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/attach\/\"><!-- [et_pb_line_break_holder] -->    Attach\/Detach Events<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_4\/\"><!-- [et_pb_line_break_holder] -->    Data Interval<!-- [et_pb_line_break_holder] -->  <\/a>  <a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/addressing_1\/\"><!-- [et_pb_line_break_holder] -->    Two or More Smart Phidgets<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] --><a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/addressing_1-2\/\"><!-- [et_pb_line_break_holder] -->    Two or More VINT Hubs<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] --><a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/getting-started-kit-advanced-9-errors\/\"><!-- [et_pb_line_break_holder] -->    Errors<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] --><a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/getting-started-kit-advanced-11-sensorapi\/\"><!-- [et_pb_line_break_holder] -->    Using the Sensor API<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><a class=\"ph-vertical-menu-item red\" href=\"\/education\/learn\/getting-started-kit-tutorial\/getting-started-kit-advanced-12-phidget-api\/\"><!-- [et_pb_line_break_holder] -->    Using the Phidget API<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][et_pb_column type=&#8221;2_3&#8243; specialty_columns=&#8221;4&#8243;][et_pb_row_inner _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_id=&#8221;overview&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Advanced &#8211; 4 &#8211; Smart Phidgets&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<div class=\"ph-overline-text\"><!-- [et_pb_line_break_holder] -->    <a href=\"\/education\/learn\/getting-started-kit-tutorial\">Getting started tutorial<\/a><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"ph-pre-h1 ph-color-grey-200\">Advanced Lesson<\/div>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<h1>Smart Phidget Events<\/h1>\n<p><!-- [et_pb_line_break_holder] --><pee>In this lesson, you\u2019ll learn how to write a program that gets both temperature and humidity data using events!<\/pee>[\/et_pb_code][et_pb_image _builder_version=&#8221;4.18.0&#8243; src=&#8221;https:\/\/www.phidgets.com\/education\/wp-content\/uploads\/2022\/08\/kit4003_2_temphum-change2.gif&#8221; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; align=&#8221;center&#8221; background_pattern_color=&#8221;rgba(0,0,0,0.2)&#8221; background_mask_color=&#8221;#ffffff&#8221; \/][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_id=&#8221;write-code&#8221; module_class=&#8221;ph-hidden-anchor&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Write Code &#8211; row hidden anchor&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; \/][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_class=&#8221;ph-user-java&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Write code Java&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Write Code (Java)<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Copy the code below into the project you created. If you don&#8217;t have a project or forgot how to create one, revisit the <a href=\"\/education\/learn\/getting-started-kit-tutorial\/configure-ide\/\">Configure section<\/a>.<\/pee><!-- [et_pb_line_break_holder] --><pee>Not your programming language? <a class=\"ph-toggle-settings\">Set your preferences<\/a> so we can display relevant code examples<\/pee>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample &#8211; Netbeans&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_class=&#8221;ph-user-netbeans&#8221;]<\/p>\n<pre class=\"language-java\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->package gettingstarted;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/Add Phidgets Library<!-- [et_pb_line_break_holder] -->import com.phidget22.*;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->public class GettingStarted {<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    public static void main(String[] args) throws Exception {<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Create<!-- [et_pb_line_break_holder] -->        HumiditySensor humiditySensor = new HumiditySensor();<!-- [et_pb_line_break_holder] -->        TemperatureSensor temperatureSensor = new TemperatureSensor();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Humidity Event |  Event code runs when data input from the sensor changes. The following event is a Humidity change event. The contained code will only run when the humidity input changes.<!-- [et_pb_line_break_holder] -->        humiditySensor.addHumidityChangeListener(new HumiditySensorHumidityChangeListener() {<!-- [et_pb_line_break_holder] -->            public void onHumidityChange(HumiditySensorHumidityChangeEvent e) {<!-- [et_pb_line_break_holder] -->                System.out.println(\"Humidity: \" + e.getHumidity() + \"%RH\");<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Temperature Event |  Event code runs when data input from the sensor changes. The following event is a Temperature change event. The contained code will only run when the temperature input changes.<!-- [et_pb_line_break_holder] -->        temperatureSensor.addTemperatureChangeListener(new TemperatureSensorTemperatureChangeListener() {<!-- [et_pb_line_break_holder] -->            public void onTemperatureChange(TemperatureSensorTemperatureChangeEvent e) {<!-- [et_pb_line_break_holder] -->                System.out.println(\"Temperature: \" + e.getTemperature() + \"\u00b0C\");<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Open<!-- [et_pb_line_break_holder] -->        humiditySensor.open(1000);<!-- [et_pb_line_break_holder] -->        temperatureSensor.open(1000);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Keep program running<!-- [et_pb_line_break_holder] -->        while (true) {<!-- [et_pb_line_break_holder] -->            Thread.sleep(150);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample &#8211; Eclipse&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_class=&#8221;ph-user-eclipse&#8221;]<\/p>\n<pre class=\"language-java\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->\/\/Add Phidgets Library<!-- [et_pb_line_break_holder] -->import com.phidget22.*;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->public class GettingStarted {<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    public static void main(String[] args) throws Exception {<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Create<!-- [et_pb_line_break_holder] -->        HumiditySensor humiditySensor = new HumiditySensor();<!-- [et_pb_line_break_holder] -->        TemperatureSensor temperatureSensor = new TemperatureSensor();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Humidity Event |  Event code runs when data input from the sensor changes. The following event is a Humidity change event. The contained code will only run when the humidity input changes.<!-- [et_pb_line_break_holder] -->        humiditySensor.addHumidityChangeListener(new HumiditySensorHumidityChangeListener() {<!-- [et_pb_line_break_holder] -->            public void onHumidityChange(HumiditySensorHumidityChangeEvent e) {<!-- [et_pb_line_break_holder] -->                System.out.println(\"Humidity: \" + e.getHumidity() + \"%RH\");<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Temperature Event |  Event code runs when data input from the sensor changes. The following event is a Temperature change event. The contained code will only run when the temperature input changes.<!-- [et_pb_line_break_holder] -->        temperatureSensor.addTemperatureChangeListener(new TemperatureSensorTemperatureChangeListener() {<!-- [et_pb_line_break_holder] -->            public void onTemperatureChange(TemperatureSensorTemperatureChangeEvent e) {<!-- [et_pb_line_break_holder] -->                System.out.println(\"Temperature: \" + e.getTemperature() + \"\u00b0C\");<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Open<!-- [et_pb_line_break_holder] -->        humiditySensor.open(1000);<!-- [et_pb_line_break_holder] -->        temperatureSensor.open(1000);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Keep program running<!-- [et_pb_line_break_holder] -->        while (true) {<!-- [et_pb_line_break_holder] -->            Thread.sleep(150);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample &#8211; Processing&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_class=&#8221;ph-user-processing&#8221;]<\/p>\n<pre class=\"language-java\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->\/\/Add Phidgets Library<!-- [et_pb_line_break_holder] -->import com.phidget22.*;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/Define<!-- [et_pb_line_break_holder] -->TemperatureSensor temperatureSensor;<!-- [et_pb_line_break_holder] -->HumiditySensor humiditySensor;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->void setup(){<!-- [et_pb_line_break_holder] -->  try{<!-- [et_pb_line_break_holder] -->    \/\/Create<!-- [et_pb_line_break_holder] -->    humiditySensor = new HumiditySensor();<!-- [et_pb_line_break_holder] -->    temperatureSensor = new TemperatureSensor();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/Humidity Event |  Event code runs when data input from the sensor changes. The following event is a Humidity change event. The contained code will only run when the humidity input changes.<!-- [et_pb_line_break_holder] -->    humiditySensor.addHumidityChangeListener(new HumiditySensorHumidityChangeListener() {<!-- [et_pb_line_break_holder] -->        public void onHumidityChange(HumiditySensorHumidityChangeEvent e) {<!-- [et_pb_line_break_holder] -->            System.out.println(\"Humidity: \" + e.getHumidity() + \"%RH\");<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/Temperature Event |  Event code runs when data input from the sensor changes. The following event is a Temperature change event. The contained code will only run when the temperature input changes. <!-- [et_pb_line_break_holder] -->    temperatureSensor.addTemperatureChangeListener(new TemperatureSensorTemperatureChangeListener() {<!-- [et_pb_line_break_holder] -->        public void onTemperatureChange(TemperatureSensorTemperatureChangeEvent e) {<!-- [et_pb_line_break_holder] -->            System.out.println(\"Temperature: \" + e.getTemperature() + \"\u00b0C\");<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/Open<!-- [et_pb_line_break_holder] -->    humiditySensor.open(1000);<!-- [et_pb_line_break_holder] -->    temperatureSensor.open(1000);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->  }catch(Exception e){<!-- [et_pb_line_break_holder] -->    e.printStackTrace();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->void draw(){<!-- [et_pb_line_break_holder] -->  delay(150);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_class=&#8221;ph-user-python&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Write code Python&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Write Code (Python)<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Copy the code below into the project you created. If you don&#8217;t have a project or forgot how to create one, revisit the <a href=\"\/education\/learn\/getting-started-kit-tutorial\/configure-ide\/\">Configure section<\/a>.<\/pee><!-- [et_pb_line_break_holder] --><pee>Not your programming language? <a class=\"ph-toggle-settings\">Set your preferences<\/a> so we can display relevant code examples<\/pee>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<pre class=\"language-python\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->#Add Phidgets Library<!-- [et_pb_line_break_holder] -->from Phidget22.Phidget import *<!-- [et_pb_line_break_holder] -->from Phidget22.Devices.HumiditySensor import *<!-- [et_pb_line_break_holder] -->from Phidget22.Devices.TemperatureSensor import *<!-- [et_pb_line_break_holder] -->import time<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->#Humidity Change Event |  Event code runs when data input from the sensor changes. The following event is a Humidity change event. The contained code will only run when the humidity input changes.<!-- [et_pb_line_break_holder] -->def onHumiditySensor_HumidityChange(self, humidity):<!-- [et_pb_line_break_holder] -->    print(\"Humidity: \" + str(humidity) + \"%RH\")<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->#Temperature Change Event |  Event code runs when data input from the sensor changes. The following event is a Temperature change event. The contained code will only run when the temperature input changes.<!-- [et_pb_line_break_holder] -->def onTemperatureSensor_TemperatureChange(self, temperature):<!-- [et_pb_line_break_holder] -->    print(\"Temperature: \" + str(temperature) + \"\u00b0C\")<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->#Create<!-- [et_pb_line_break_holder] -->humiditySensor = HumiditySensor()<!-- [et_pb_line_break_holder] -->temperatureSensor = TemperatureSensor()<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->#Subscribe to event | Subscribing to an Event tells your program to start listening to a Phidget. Here, the program will begin to listen to the temperature and humidity sensors in you Humidity Phidget<!-- [et_pb_line_break_holder] -->humiditySensor.setOnHumidityChangeHandler(onHumiditySensor_HumidityChange)<!-- [et_pb_line_break_holder] -->temperatureSensor.setOnTemperatureChangeHandler(onTemperatureSensor_TemperatureChange)<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->#Open<!-- [et_pb_line_break_holder] -->humiditySensor.openWaitForAttachment(1000)<!-- [et_pb_line_break_holder] -->temperatureSensor.openWaitForAttachment(1000)<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --># Keep program running<!-- [et_pb_line_break_holder] -->while(True):<!-- [et_pb_line_break_holder] -->    time.sleep(0.15)  <!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_class=&#8221;ph-user-csharp&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Write code C#&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Write Code (C#)<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Copy the code below into the project you created. If you don&#8217;t have a project or forgot how to create one, revisit the <a href=\"\/education\/learn\/getting-started-kit-tutorial\/configure-ide\/\">Configure section<\/a>.<\/pee><!-- [et_pb_line_break_holder] --><pee>Not your programming language? <a class=\"ph-toggle-settings\">Set your preferences<\/a> so we can display relevant code examples<\/pee>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<pre class=\"language-csharp\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->\/\/Add Phidgets Library<!-- [et_pb_line_break_holder] -->using Phidget22;<!-- [et_pb_line_break_holder] -->using Phidget22.Events;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->namespace GettingStarted<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] -->    class Program<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->        \/\/Humidity Change Event  |  Event code runs when data input from the sensor changes. The following event is a Humidity change event. The contained code will only run when the humidity input changes.<!-- [et_pb_line_break_holder] -->        private static void HumiditySensor_HumidityChange(object sender, Phidget22.Events.HumiditySensorHumidityChangeEventArgs e)<!-- [et_pb_line_break_holder] -->        {<!-- [et_pb_line_break_holder] -->            System.Console.WriteLine(\"Humidity: \" + e.Humidity + \"%RH\");<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        \/\/Temperature Change Event |  Event code runs when data input from the sensor changes. The following event is a Temperature change event. The contained code will only run when the temperature input changes.<!-- [et_pb_line_break_holder] -->        private static void TemperatureSensor_TemperatureChange(object sender, Phidget22.Events.TemperatureSensorTemperatureChangeEventArgs e)<!-- [et_pb_line_break_holder] -->        {<!-- [et_pb_line_break_holder] -->            System.Console.WriteLine(\"Temperature: \" + e.Temperature + \"\u00b0C\");<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        static void Main(string[] args)<!-- [et_pb_line_break_holder] -->        {<!-- [et_pb_line_break_holder] -->            \/\/Create<!-- [et_pb_line_break_holder] -->            HumiditySensor humiditySensor = new HumiditySensor();<!-- [et_pb_line_break_holder] -->            TemperatureSensor temperatureSensor = new TemperatureSensor();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Subscribe to event | Subscribing to an Event tells your program to start listening to a Phidget. Here, the program will begin to listen to the temperature and humidity sensors in you Humidity Phidget<!-- [et_pb_line_break_holder] -->            humiditySensor.HumidityChange += HumiditySensor_HumidityChange;<!-- [et_pb_line_break_holder] -->            temperatureSensor.TemperatureChange += TemperatureSensor_TemperatureChange;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Open<!-- [et_pb_line_break_holder] -->            humiditySensor.Open(1000);<!-- [et_pb_line_break_holder] -->            temperatureSensor.Open(1000);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Keep Program Running          <!-- [et_pb_line_break_holder] -->            while (true)<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                System.Threading.Thread.Sleep(150);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}  <!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_class=&#8221;ph-user-swift&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Write code Swift&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Write Code (Swift)<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Oops, how did you end up here? There is no Button Events lesson for Swift. Go back to the <a href=\"\/education\/learn\/getting-started-kit-tutorial\/\">main tutorial page<\/a>.<\/pee>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_id=&#8221;run-program&#8221; module_class=&#8221;ph-hidden-anchor&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Run Program &#8211; row hidden anchor&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; \/][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.4.5&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Run Program&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Run Your Program<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>You will see the temperature and humidity displayed.<\/pee>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;How do events work with sensors?&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h3>What are Events?<\/h3>\n<p><!-- [et_pb_line_break_holder] --><pee>In previous programs, you used a method called <strong>polling<\/strong> to access data from your sensor. This meant your program was continuously checking the state of the sensor (using a loop) to get the latest value. <strong>Events<\/strong> allow you to sit back and wait for data to come to you! For example, in the program above, you simply subscribe to the Temperature Change Event and wait for your function to be called when there is new temperature data available.<\/pee>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_id=&#8221;practice&#8221; module_class=&#8221;ph-hidden-anchor&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Practice &#8211; row hidden anchor&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; \/][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;Practice&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Practice<\/h2>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<ol><!-- [et_pb_line_break_holder] -->    <\/p>\n<li>Compare the code sample to the code sample in <a href=\"https:\/\/www.phidgets.com\/education\/learn\/getting-started-kit-tutorial\/temperature-and-humidity\/\" target=\"_blank\" rel=\"noopener noreferrer\"> Lesson 5<\/a>. Note the differences in the code and the program\u2019s output.<\/li>\n<p><!-- [et_pb_line_break_holder] --><liOnly print the humidity if it is above 30%. If the humidity is below 30%, print \u201cHumidity is low\u201d.<\/li>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<li>Only print the temperature if it is above 21\u00b0C (70\u00b0F). If the temperature is below 21\u00b0C, print &#8220;Room is too cold&#8221;.<\/li>\n<p><!-- [et_pb_line_break_holder] --><\/ol>\n<p>[\/et_pb_code][et_pb_code admin_label=&#8221;Email for Solutions&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; saved_tabs=&#8221;all&#8221; global_module=&#8221;4139&#8243;]<pee><i>Solutions available for educators. <a href=\"mailto:education@phidgets.com\">Email us for access.<\/a><\/i><\/pee>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_id=&#8221;troubleshoot&#8221;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_toggle admin_label=&#8221;Troubleshoot&#8221; _builder_version=&#8221;4.4.3&#8243; title=&#8221;Troubleshoot&#8221; text_shadow_horizontal_length=&#8221;text_shadow_style,%91object Object%93&#8243; text_shadow_horizontal_length_tablet=&#8221;0px&#8221; text_shadow_vertical_length=&#8221;text_shadow_style,%91object Object%93&#8243; text_shadow_vertical_length_tablet=&#8221;0px&#8221; text_shadow_blur_strength=&#8221;text_shadow_style,%91object Object%93&#8243; text_shadow_blur_strength_tablet=&#8221;1px&#8221; title_text_shadow_horizontal_length=&#8221;title_text_shadow_style,%91object Object%93&#8243; title_text_shadow_horizontal_length_tablet=&#8221;0px&#8221; title_text_shadow_vertical_length=&#8221;title_text_shadow_style,%91object Object%93&#8243; title_text_shadow_vertical_length_tablet=&#8221;0px&#8221; title_text_shadow_blur_strength=&#8221;title_text_shadow_style,%91object Object%93&#8243; title_text_shadow_blur_strength_tablet=&#8221;1px&#8221; closed_title_text_shadow_horizontal_length=&#8221;closed_title_text_shadow_style,%91object Object%93&#8243; closed_title_text_shadow_horizontal_length_tablet=&#8221;0px&#8221; closed_title_text_shadow_vertical_length=&#8221;closed_title_text_shadow_style,%91object Object%93&#8243; closed_title_text_shadow_vertical_length_tablet=&#8221;0px&#8221; closed_title_text_shadow_blur_strength=&#8221;closed_title_text_shadow_style,%91object Object%93&#8243; closed_title_text_shadow_blur_strength_tablet=&#8221;1px&#8221; body_text_shadow_horizontal_length=&#8221;body_text_shadow_style,%91object Object%93&#8243; body_text_shadow_horizontal_length_tablet=&#8221;0px&#8221; body_text_shadow_vertical_length=&#8221;body_text_shadow_style,%91object Object%93&#8243; body_text_shadow_vertical_length_tablet=&#8221;0px&#8221; body_text_shadow_blur_strength=&#8221;body_text_shadow_style,%91object Object%93&#8243; body_text_shadow_blur_strength_tablet=&#8221;1px&#8221; body_link_text_shadow_horizontal_length=&#8221;body_link_text_shadow_style,%91object Object%93&#8243; body_link_text_shadow_horizontal_length_tablet=&#8221;0px&#8221; body_link_text_shadow_vertical_length=&#8221;body_link_text_shadow_style,%91object Object%93&#8243; body_link_text_shadow_vertical_length_tablet=&#8221;0px&#8221; body_link_text_shadow_blur_strength=&#8221;body_link_text_shadow_style,%91object Object%93&#8243; body_link_text_shadow_blur_strength_tablet=&#8221;1px&#8221; body_ul_text_shadow_horizontal_length=&#8221;body_ul_text_shadow_style,%91object Object%93&#8243; body_ul_text_shadow_horizontal_length_tablet=&#8221;0px&#8221; body_ul_text_shadow_vertical_length=&#8221;body_ul_text_shadow_style,%91object Object%93&#8243; body_ul_text_shadow_vertical_length_tablet=&#8221;0px&#8221; body_ul_text_shadow_blur_strength=&#8221;body_ul_text_shadow_style,%91object Object%93&#8243; body_ul_text_shadow_blur_strength_tablet=&#8221;1px&#8221; body_ol_text_shadow_horizontal_length=&#8221;body_ol_text_shadow_style,%91object Object%93&#8243; body_ol_text_shadow_horizontal_length_tablet=&#8221;0px&#8221; body_ol_text_shadow_vertical_length=&#8221;body_ol_text_shadow_style,%91object Object%93&#8243; body_ol_text_shadow_vertical_length_tablet=&#8221;0px&#8221; body_ol_text_shadow_blur_strength=&#8221;body_ol_text_shadow_style,%91object Object%93&#8243; body_ol_text_shadow_blur_strength_tablet=&#8221;1px&#8221; body_quote_text_shadow_horizontal_length=&#8221;body_quote_text_shadow_style,%91object Object%93&#8243; body_quote_text_shadow_horizontal_length_tablet=&#8221;0px&#8221; body_quote_text_shadow_vertical_length=&#8221;body_quote_text_shadow_style,%91object Object%93&#8243; body_quote_text_shadow_vertical_length_tablet=&#8221;0px&#8221; body_quote_text_shadow_blur_strength=&#8221;body_quote_text_shadow_style,%91object Object%93&#8243; body_quote_text_shadow_blur_strength_tablet=&#8221;1px&#8221; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243;]<\/p>\n<p><strong>I am getting a &#8220;Timed Out&#8221; exception.<\/strong><\/p>\n<ol>\n<li>Make sure the USB cable from your VINT Hub to your computer is attached properly.<\/li>\n<li>Make the Phidget cable (the black, red and white one) is connected to your VINT Hub and to your Humidity Phidget properly).<\/li>\n<li>Make sure no other program is running that uses Phidgets. If a Phidget is already in use in another program, it will be busy and won&#8217;t respond to this one.<\/li>\n<\/ol>\n<p><strong>Still having issues?<\/strong><\/p>\n<p>Visit the <a href=\"\/education\/learn\/advanced-troubleshooting\/\" target=\"_blank\" rel=\"noopener noreferrer\">Advanced Troubleshooting Page<\/a> or contact us (education@phidgets.com).<\/p>\n<p>[\/et_pb_toggle][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.4.3&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; disabled=&#8221;on&#8221; disabled_on=&#8221;on|on|on&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;ph-button-cta: Finish&#8221; _builder_version=&#8221;4.4.1&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<!-- Button CTA --><!-- [et_pb_line_break_holder] --><a class=\"ph-button-cta\" href=\"\/education\/learn\/getting-started-kit-tutorial#smart-phidgets-step\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"ph-button-cta__icon\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->  Finish<!-- [et_pb_line_break_holder] --><\/a>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; disabled_on=&#8221;off|off|off&#8221; disabled=&#8221;off&#8221; _builder_version=&#8221;4.4.3&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;2_3&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;2_3&#8243;][et_pb_code admin_label=&#8221;ph-button-progress-ctn&#8221; _builder_version=&#8221;4.4.5&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<!-- Button Progress Container --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"ph-button-progress-ctn\"><!-- [et_pb_line_break_holder] -->  <!-- Button Progress Next --><!-- [et_pb_line_break_holder] -->  <a class=\"ph-button-progress-previous-adv\" href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_2\/\"><!-- [et_pb_line_break_holder] -->    Back to Button &#038; LED Events<!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Button Progress Next --><!-- [et_pb_line_break_holder] -->  <a class=\"ph-button-progress-next-adv\" href=\"\/education\/learn\/getting-started-kit-tutorial\/attach\/\"><!-- [et_pb_line_break_holder] -->    Next: Attach\/Detach Events  <\/a><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][\/et_pb_column][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>package gettingstarted;\/\/Add Phidgets Libraryimport com.phidget22.*;public class GettingStarted { public static void main(String[] args) throws Exception { \/\/Create HumiditySensor humiditySensor = new HumiditySensor(); TemperatureSensor temperatureSensor = new TemperatureSensor(); \/\/Humidity Event | Event code runs when data input from the sensor changes. The following event is a Humidity change event. The contained code will only run when [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":309,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"<!-- wp:paragraph -->\r\n<p>This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:<\/p>\r\n<!-- \/wp:paragraph --><!-- wp:quote -->\r\n<blockquote class=\"wp-block-quote\">\r\n<p>Hi there! I'm a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like pi\u00f1a coladas. (And gettin' caught in the rain.)<\/p>\r\n<\/blockquote>\r\n<!-- \/wp:quote --><!-- wp:paragraph -->\r\n<p>...or something like this:<\/p>\r\n<!-- \/wp:paragraph --><!-- wp:quote -->\r\n<blockquote class=\"wp-block-quote\">\r\n<p>The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.<\/p>\r\n<\/blockquote>\r\n<!-- \/wp:quote --><!-- wp:paragraph -->\r\n<p>As a new WordPress user, you should go to <a href=\"https:\/\/www.phidgets.com\/education\/wp-admin\/\">your dashboard<\/a> to delete this page and create new pages for your content. Have fun!<\/p>\r\n<!-- \/wp:paragraph -->","_et_gb_content_width":"","footnotes":""},"class_list":["post-2644","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages\/2644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/comments?post=2644"}],"version-history":[{"count":34,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages\/2644\/revisions"}],"predecessor-version":[{"id":8591,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages\/2644\/revisions\/8591"}],"up":[{"embeddable":true,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages\/309"}],"wp:attachment":[{"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/media?parent=2644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}