Smart Objects for Human Computer
Interaction, Experimental Study
            Doggen, J.*; Neefs, J.; Brands, E.; Peeters, T.;
              Bracke, J.; Smets, M.; Van der Schueren, F.
                                 *jeroen.doggen@artesis.be
                                            March 22, 2012
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     2/29
Arduino based Smart Objects



 We developed a wireless sensor
 module based on the Arduino
 development board.




                                  3/29
Arduino based Smart Objects



 We developed a wireless sensor
 module based on the Arduino
 development board.
 We use the “smart dice” to
 control computer applications.




                                  3/29
Arduino based Smart Objects



 We developed a wireless sensor
 module based on the Arduino
 development board.
 We use the “smart dice” to
 control computer applications.
 This basic concept can be
 adapted to implement various
 sensor based applications.




                                  3/29
Wireless Sensor Networks & Smart Objects

      A wireless sensor network is a set of small autonomous sensor
      nodes which cooperate to solve a common application using
      some kind of perception of physical parameters1 .




 1
     An FDL’ed Textbook on Sensor Networks, Thomas Haenselmann.
                                                                  4/29
Wireless Sensor Networks & Smart Objects

      A wireless sensor network is a set of small autonomous sensor
      nodes which cooperate to solve a common application using
      some kind of perception of physical parameters1 .
      Smart objects sense their environment and communicate to
      increase sensing efficiency and enable new ways of end-user
      interaction.




 1
     An FDL’ed Textbook on Sensor Networks, Thomas Haenselmann.
                                                                  4/29
Arduino Development Platform


 The Arduino development platform
 allow designers to develop electronic
 prototypes.




                                         5/29
Arduino Development Platform


 The Arduino development platform
 allow designers to develop electronic
 prototypes.
 The platform has gained increased
 popularity over the last years.




                                         5/29
Arduino Development Platform


 The Arduino development platform
 allow designers to develop electronic
 prototypes.
 The platform has gained increased
 popularity over the last years.
 The open-source community has
 70000 registered users and an
 abundance of user submitted
 libraries.




                                         5/29
Arduino Development Platform


 The Arduino development platform
 allow designers to develop electronic
 prototypes.
 The platform has gained increased
 popularity over the last years.
 The open-source community has
 70000 registered users and an
 abundance of user submitted
 libraries.
 Ease of use is the main selling point.



                                          5/29
Arduino based Smart Objects



We built a WSN using the
Arduino platform to develop
a smart object.
A “smart dice” to control
computer applications.
The dice can be replaced by
any object, e.g. a kids’ toy




                               6/29
Arduino based Smart Objects




                              7/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     8/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     9/29
System Architecture




                      10/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     11/29
Hardware Specifications

  Seeeduino development board
  Digi XBee wireless interface
  Freescale Semiconductor MMA7361 analog accelerometer
  InvenSense ITG-3200 digital gyroscope
  Sharp GP2Y0A21YK infra-red distance sensor




                                                         12/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     13/29
Arduino Libraries


   Arduino software libraries make it straightforward for anyone to
   start embedded development.




                                                             14/29
Arduino Libraries


   Arduino software libraries make it straightforward for anyone to
   start embedded development.
   Used Arduino libraries
       ITG-3200 Gyro library




                                                             14/29
Arduino Libraries


   Arduino software libraries make it straightforward for anyone to
   start embedded development.
   Used Arduino libraries
       ITG-3200 Gyro library
   Developed Arduino libraries
       Sharp GP2Y0A21YK infra-red distance sensor
       MMA7361 accelerometer
       Signal filtering




                                                             14/29
Arduino Libraries


   Arduino software libraries make it straightforward for anyone to
   start embedded development.
   Used Arduino libraries
       ITG-3200 Gyro library
   Developed Arduino libraries
       Sharp GP2Y0A21YK infra-red distance sensor
       MMA7361 accelerometer
       Signal filtering
   XNA library to connect the module to C# applications




                                                             14/29
Arduino Library Example




1. Include header files




                           15/29
Arduino Library Example




1. Include header files
2. Initialise objects and variables




                                      15/29
Arduino Library Example




1. Include header files
2. Initialise objects and variables
3. setup → configuration




                                      15/29
Arduino Library Example




1. Include header files
2. Initialise objects and variables
3. setup → configuration
4. loop → start example program




                                      15/29
Arduino libraries: usage statistics

       MMA7361 accelerometer library2




  2
      http://code.google.com/p/mma7361-library
  3
      http://code.google.com/p/gp2y0a21yk-library/
                                                     16/29
Arduino libraries: usage statistics

       MMA7361 accelerometer library2




       Sharp GP2Y0A21YK infrared distance sensor library3




       Total downloads: both ± 320
  2
      http://code.google.com/p/mma7361-library
  3
      http://code.google.com/p/gp2y0a21yk-library/
                                                            16/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     17/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     18/29
Signal Filtering


       Many analog sensors have signal differences between individual
       sensors.
       Calibration and signal filtering is needed to compensate for
       these undesirable effects.




  4
      http://code.google.com/p/arduino-signal-filtering-library
                                                                  19/29
Signal Filtering


       Many analog sensors have signal differences between individual
       sensors.
       Calibration and signal filtering is needed to compensate for
       these undesirable effects.
       We implemented three simple software based filters:
            variable-length weighted moving average filter
            Bessel low-pass filter
            Chebychev low-pass filter
       The signal filtering library is available online4 .



  4
      http://code.google.com/p/arduino-signal-filtering-library
                                                                  19/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     20/29
Software Tools


   SerialMonitor: log and analyse sensor data
   SerialForwarder: forward serial data over a TCP/IP socket




                                                           21/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     22/29
Demo Applications




 Flight simulator: sensor acts
 as a joystick
 Pac-man clone: sensor
 generates arrow inputs




                                 23/29
Demo Applications




 2-D platform game:
     Left/right: tilt
     detection
     Jump: upward
     movement




                        24/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     25/29
Future Work

 Use mixed RF technologies
     Support the more power efficient nRF24
     wireless technology




                                            26/29
Future Work

 Use mixed RF technologies
     Support the more power efficient nRF24
     wireless technology
 Minimise energy consumption




                                            26/29
Future Work

 Use mixed RF technologies
     Support the more power efficient nRF24
     wireless technology
 Minimise energy consumption
 Use the module for various student
 projects:
     Development of embedded software
     Printed circuit board design
     Signal processing applications




                                            26/29
Future Work

 Use mixed RF technologies
     Support the more power efficient nRF24
     wireless technology
 Minimise energy consumption
 Use the module for various student
 projects:
     Development of embedded software
     Printed circuit board design
     Signal processing applications
 Projects
     Development of a city monitoring
     application
     Cooperation with product development
     department: prototyping

                                            26/29
Outline

Introduction and Problem Statement
System Design
   System Architecture
   Hardware Specifications
   Software Libraries
Applications
   Signal Filtering
   Software Tools
   Demo Applications
Future Work
Conclusion

                                     27/29
Conclusion


   We developed an Arduino based “smart cube”, equipped with
   various sensors.




                                                        28/29
Conclusion


   We developed an Arduino based “smart cube”, equipped with
   various sensors.
   The LGPL licensed Arduino software libraries for these sensors
   are freely available for download.




                                                             28/29
Conclusion


   We developed an Arduino based “smart cube”, equipped with
   various sensors.
   The LGPL licensed Arduino software libraries for these sensors
   are freely available for download.
   The system and its derivatives are being used for student
   projects.




                                                               28/29
Conclusion


   We developed an Arduino based “smart cube”, equipped with
   various sensors.
   The LGPL licensed Arduino software libraries for these sensors
   are freely available for download.
   The system and its derivatives are being used for student
   projects.
   We plan to cooperate with third parties by developing similar
   modules:




                                                             28/29
Conclusion


   We developed an Arduino based “smart cube”, equipped with
   various sensors.
   The LGPL licensed Arduino software libraries for these sensors
   are freely available for download.
   The system and its derivatives are being used for student
   projects.
   We plan to cooperate with third parties by developing similar
   modules:
       Evaluation of the feasibility of industrial applications.




                                                                   28/29
Conclusion


   We developed an Arduino based “smart cube”, equipped with
   various sensors.
   The LGPL licensed Arduino software libraries for these sensors
   are freely available for download.
   The system and its derivatives are being used for student
   projects.
   We plan to cooperate with third parties by developing similar
   modules:
       Evaluation of the feasibility of industrial applications.
       Prototyping tool for product development purposes.



                                                                   28/29
Questions & Answers




                      29/29

Smart Objects for Human Computer Interaction, Experimental Study

  • 1.
    Smart Objects forHuman Computer Interaction, Experimental Study Doggen, J.*; Neefs, J.; Brands, E.; Peeters, T.; Bracke, J.; Smets, M.; Van der Schueren, F. *jeroen.doggen@artesis.be March 22, 2012
  • 2.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 2/29
  • 3.
    Arduino based SmartObjects We developed a wireless sensor module based on the Arduino development board. 3/29
  • 4.
    Arduino based SmartObjects We developed a wireless sensor module based on the Arduino development board. We use the “smart dice” to control computer applications. 3/29
  • 5.
    Arduino based SmartObjects We developed a wireless sensor module based on the Arduino development board. We use the “smart dice” to control computer applications. This basic concept can be adapted to implement various sensor based applications. 3/29
  • 6.
    Wireless Sensor Networks& Smart Objects A wireless sensor network is a set of small autonomous sensor nodes which cooperate to solve a common application using some kind of perception of physical parameters1 . 1 An FDL’ed Textbook on Sensor Networks, Thomas Haenselmann. 4/29
  • 7.
    Wireless Sensor Networks& Smart Objects A wireless sensor network is a set of small autonomous sensor nodes which cooperate to solve a common application using some kind of perception of physical parameters1 . Smart objects sense their environment and communicate to increase sensing efficiency and enable new ways of end-user interaction. 1 An FDL’ed Textbook on Sensor Networks, Thomas Haenselmann. 4/29
  • 8.
    Arduino Development Platform The Arduino development platform allow designers to develop electronic prototypes. 5/29
  • 9.
    Arduino Development Platform The Arduino development platform allow designers to develop electronic prototypes. The platform has gained increased popularity over the last years. 5/29
  • 10.
    Arduino Development Platform The Arduino development platform allow designers to develop electronic prototypes. The platform has gained increased popularity over the last years. The open-source community has 70000 registered users and an abundance of user submitted libraries. 5/29
  • 11.
    Arduino Development Platform The Arduino development platform allow designers to develop electronic prototypes. The platform has gained increased popularity over the last years. The open-source community has 70000 registered users and an abundance of user submitted libraries. Ease of use is the main selling point. 5/29
  • 12.
    Arduino based SmartObjects We built a WSN using the Arduino platform to develop a smart object. A “smart dice” to control computer applications. The dice can be replaced by any object, e.g. a kids’ toy 6/29
  • 13.
    Arduino based SmartObjects 7/29
  • 14.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 8/29
  • 15.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 9/29
  • 16.
  • 17.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 11/29
  • 18.
    Hardware Specifications Seeeduino development board Digi XBee wireless interface Freescale Semiconductor MMA7361 analog accelerometer InvenSense ITG-3200 digital gyroscope Sharp GP2Y0A21YK infra-red distance sensor 12/29
  • 19.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 13/29
  • 20.
    Arduino Libraries Arduino software libraries make it straightforward for anyone to start embedded development. 14/29
  • 21.
    Arduino Libraries Arduino software libraries make it straightforward for anyone to start embedded development. Used Arduino libraries ITG-3200 Gyro library 14/29
  • 22.
    Arduino Libraries Arduino software libraries make it straightforward for anyone to start embedded development. Used Arduino libraries ITG-3200 Gyro library Developed Arduino libraries Sharp GP2Y0A21YK infra-red distance sensor MMA7361 accelerometer Signal filtering 14/29
  • 23.
    Arduino Libraries Arduino software libraries make it straightforward for anyone to start embedded development. Used Arduino libraries ITG-3200 Gyro library Developed Arduino libraries Sharp GP2Y0A21YK infra-red distance sensor MMA7361 accelerometer Signal filtering XNA library to connect the module to C# applications 14/29
  • 24.
    Arduino Library Example 1.Include header files 15/29
  • 25.
    Arduino Library Example 1.Include header files 2. Initialise objects and variables 15/29
  • 26.
    Arduino Library Example 1.Include header files 2. Initialise objects and variables 3. setup → configuration 15/29
  • 27.
    Arduino Library Example 1.Include header files 2. Initialise objects and variables 3. setup → configuration 4. loop → start example program 15/29
  • 28.
    Arduino libraries: usagestatistics MMA7361 accelerometer library2 2 http://code.google.com/p/mma7361-library 3 http://code.google.com/p/gp2y0a21yk-library/ 16/29
  • 29.
    Arduino libraries: usagestatistics MMA7361 accelerometer library2 Sharp GP2Y0A21YK infrared distance sensor library3 Total downloads: both ± 320 2 http://code.google.com/p/mma7361-library 3 http://code.google.com/p/gp2y0a21yk-library/ 16/29
  • 30.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 17/29
  • 31.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 18/29
  • 32.
    Signal Filtering Many analog sensors have signal differences between individual sensors. Calibration and signal filtering is needed to compensate for these undesirable effects. 4 http://code.google.com/p/arduino-signal-filtering-library 19/29
  • 33.
    Signal Filtering Many analog sensors have signal differences between individual sensors. Calibration and signal filtering is needed to compensate for these undesirable effects. We implemented three simple software based filters: variable-length weighted moving average filter Bessel low-pass filter Chebychev low-pass filter The signal filtering library is available online4 . 4 http://code.google.com/p/arduino-signal-filtering-library 19/29
  • 34.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 20/29
  • 35.
    Software Tools SerialMonitor: log and analyse sensor data SerialForwarder: forward serial data over a TCP/IP socket 21/29
  • 36.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 22/29
  • 37.
    Demo Applications Flightsimulator: sensor acts as a joystick Pac-man clone: sensor generates arrow inputs 23/29
  • 38.
    Demo Applications 2-Dplatform game: Left/right: tilt detection Jump: upward movement 24/29
  • 39.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 25/29
  • 40.
    Future Work Usemixed RF technologies Support the more power efficient nRF24 wireless technology 26/29
  • 41.
    Future Work Usemixed RF technologies Support the more power efficient nRF24 wireless technology Minimise energy consumption 26/29
  • 42.
    Future Work Usemixed RF technologies Support the more power efficient nRF24 wireless technology Minimise energy consumption Use the module for various student projects: Development of embedded software Printed circuit board design Signal processing applications 26/29
  • 43.
    Future Work Usemixed RF technologies Support the more power efficient nRF24 wireless technology Minimise energy consumption Use the module for various student projects: Development of embedded software Printed circuit board design Signal processing applications Projects Development of a city monitoring application Cooperation with product development department: prototyping 26/29
  • 44.
    Outline Introduction and ProblemStatement System Design System Architecture Hardware Specifications Software Libraries Applications Signal Filtering Software Tools Demo Applications Future Work Conclusion 27/29
  • 45.
    Conclusion We developed an Arduino based “smart cube”, equipped with various sensors. 28/29
  • 46.
    Conclusion We developed an Arduino based “smart cube”, equipped with various sensors. The LGPL licensed Arduino software libraries for these sensors are freely available for download. 28/29
  • 47.
    Conclusion We developed an Arduino based “smart cube”, equipped with various sensors. The LGPL licensed Arduino software libraries for these sensors are freely available for download. The system and its derivatives are being used for student projects. 28/29
  • 48.
    Conclusion We developed an Arduino based “smart cube”, equipped with various sensors. The LGPL licensed Arduino software libraries for these sensors are freely available for download. The system and its derivatives are being used for student projects. We plan to cooperate with third parties by developing similar modules: 28/29
  • 49.
    Conclusion We developed an Arduino based “smart cube”, equipped with various sensors. The LGPL licensed Arduino software libraries for these sensors are freely available for download. The system and its derivatives are being used for student projects. We plan to cooperate with third parties by developing similar modules: Evaluation of the feasibility of industrial applications. 28/29
  • 50.
    Conclusion We developed an Arduino based “smart cube”, equipped with various sensors. The LGPL licensed Arduino software libraries for these sensors are freely available for download. The system and its derivatives are being used for student projects. We plan to cooperate with third parties by developing similar modules: Evaluation of the feasibility of industrial applications. Prototyping tool for product development purposes. 28/29
  • 51.