Suppose a pin is configured as an input. If nothing is connected to the pin and the program tries to read the state of the pin, it would be in a ‘floating’ state i.e an unknown state. To prevent this, a pull-up or a pull-down state is defined. They are often used in the case of Buttons and Switches.
Pins 2-7 on both the Ports are available for pull-up and pull-down.
Take a look at the following circuit. The code example given below turns on the Blue LED of the Tessel module when the pushbutton is pressed and turns off the Blue LED when the pushbutton is released.
var tessel= require('tessel'); // Import Tessel
var pin = tessel.port.A.pin[2]; // Select pin 2 on port A
var pullType = "pullup"; // Set the mode of `pin.pull` to pullup
var led = tessel.led[3]; // Blue LED of Tessel
pin.pull(pullType,(error, buffer) => { // Pin 2 pulled high
if (error){
throw error;
}
setInterval(() => {
pin.read(function(error, valReturned){
// valReturned is the digital value that is returned from the pin
if (error) {
throw error;
}
// Pin 2 reads high when the pushbutton is not pressed since it is pulled up
console.log(valReturned);
if (valReturned == 1){
led.off();
}
// Pin 2 reads low when the pushbutton is pressed since its connection with ground is completed
else{
led.on();
}
});
}, 500);
});
More information on Pull-up pins and resistors (Sparkfun Tutorials)