Raspberry Pi - Button

For this example, we're going to toggle a LED every time a button is pressed. Both of these devices will be hooked up to a Raspberry Pi.

Before you get started, make sure you have the cylon-raspi module installed.

First, let's import Cylon:

var Cylon = require('cylon');

With Cylon imported, we can now start defining our robot.

Cylon.robot({

Our robot has one connection, to the Raspberry Pi the hardware will be running on. For hardware, we're keeping it simple. A LED on pin 11, and a button on pin 7.

  connections: {
    raspi: { adaptor: 'raspi' }
  },

  devices: {
    led: { driver: 'led', pin: 11 },
    button: { driver: 'button', pin: 7 }
  },

With the hardware defined, we can get to the work our robot will perform. And as you can see, it's enormously complex:

  work: function(my) {
    my.button.on('push', my.led.toggle);
  }

Essentially, when the robot's button emits the 'push' event (when it's pressed), the LED will be told to toggle.

And voila! We now have a basic light switch. All we need to do now is tell the robot to start:

}).start();