Пример #1
0
app.get('/turn/:action', function (req, res) {

	// CLOCKWISE piblaster.setPwm(23, 0.13);
	// PAUSE piblaster.setPwm(23, 0.15);
	// ANTICLOCKWISE piblaster.setPwm(23, 0.17);

	if (req.params.action === "left") {

		piblaster.setPwm(23, 0.17);

		pinOn(7);

		setTimeout(function () {
			piblaster.setPwm(23, 0);
			pinOff(7);
			res.send(200);
		}, turnDuration);
		
	} else if (req.params.action === "right") {
		
		piblaster.setPwm(23, 0.13);

		pinOn(7);

		setTimeout(function () {
			piblaster.setPwm(23, 0);
			pinOff(7);
			res.send(200);
		}, turnDuration);
	}

});
Пример #2
0
	I_moveServoTo = setInterval(function(){

		if(lastPosition < pTo)
		{
			if(position < pTo)
			{
				position += stepWidth;
				piblaster.setPwm(4, position);
			}
			else
			{
				clearInterval(I_moveServoTo);
				lastPosition = pTo;
				position = lastPosition;
			}
		} 
		else if(lastPosition > pTo)
		{
			if(position > pTo)
			{
				position -= stepWidth;
				piblaster.setPwm(4, position);
			}
			else
			{
				clearInterval(I_moveServoTo);
				lastPosition = pTo;
			}
		}

	}, ms)
Пример #3
0
app.get('/feed', function (req, res) {

	if (direction) {
		piblaster.setPwm(23, 0.17);
		direction = false;
	} else {
		piblaster.setPwm(23, 0.13);
		direction = true;
	}

	pinOn(7);

	setTimeout(function () {
		piblaster.setPwm(23, 0);
		pinOff(7);

		T.post('statuses/update', { status: 'I just fed the cats at ' + getDateTime() }, function(err, reply) {
			if (!err) {
				res.send(200);
			} else {
				res.send(500, err);
			}
		});

	}, turnDuration);

});
Пример #4
0
function loop(){
    colorPick();
    
    // set R G B with current values
    piblaster.setPwm(2, test);
    piblaster.setPwm(3, test);
    piblaster.setPwm(4, test);
    console.log(test);
    
}
Пример #5
0
function setLEDs()
{
  var redOut = rgb[0] / 255.0;
  var greenOut = rgb[1] / 255.0;
  var blueOut = rgb[2] / 255.0;

  piblaster.setPwm(redLED, redOut);
  piblaster.setPwm(greenLED, greenOut);
  piblaster.setPwm(blueLED, blueOut);
}
Пример #6
0
app.io.route('threads',function(req)
{
  var leftThread=req.data.leftThread;
  var rightThread=req.data.rightThread;
  if(leftThread>=0)
  {
    piblaster.setPwm(leftMotorBack,0);
    piblaster.setPwm(leftMotorFront,leftThread);
  }
  else
  {
    piblaster.setPwm(leftMotorFront,0);
    piblaster.setPwm(leftMotorBack,-leftThread);
  }
  if(rightThread>=0)
  {
    piblaster.setPwm(rightMotorBack,0);
    piblaster.setPwm(rightMotorFront,rightThread);
  }
  else
  {
    piblaster.setPwm(rightMotorFront,0);
    piblaster.setPwm(rightMotorBack,-rightThread);
  }
});
Пример #7
0
   Motor.prototype.setPower = function(power) {

       if(power >= 0 && power <= 100) {
           this.power = power;
           this.power = this.power/100;
           pwm.setPwm(this.powerPin, this.power);
       }

   };
Пример #8
0
  var setSpeed = function (speed) {
    if (!speed) speed = self.config.defaultSpeed;
    if (speed > self.config.maxSpeed) speed = self.config.maxSpeed;
    if (speed < 0) speed = 0;

    self.emit('info', ['Setting speed to', speed]);

    piBlasterJs.setPwm(self.config.speedPin, speed);
  };
Пример #9
0
 setState : function(state, callback) {
     piblaster.setPwm(servo.PIN, state, function(err) {
         if (err) callback(err);
         else {
             setTimeout(function () {
                 callback();
             }, servo.WAIT);
         }
     });
 }
Пример #10
0
io.on("connect", function() {
  piblaster.setPwm(17, position);
  console.log("Servo Key: " + key);
  console.log("Resetting servo position");
  io.on("PiServo", function(data) {
    if(data.servoName === key) {
      move(data.direction, data.speed);
    }
  });
});
Пример #11
0
app.io.route('leds',function(req)
{
  var ledDig=req.data.ledDig
  var ledPWM=req.data.ledPWM
  if(ledDig==1)
    gpio.write(7,true);
  else
    gpio.write(7,false);
  piblaster.setPwm(17,ledPWM);
});
Пример #12
0
 this.timer = setInterval(function () {
     // Get the current temperature
     var temperature = self.temperatureSensor.getTemperature();
     
     // calculate the power as a fraction of 1
     self.power = parseFloat(self.pid.calculate(temperature)) / parseFloat(2000); // %power based on available power output
     
     // apply the power to the PWM output pin
     console.log("setting power output to " + self.power + "% on pin " + self.pin);
     
     PIBlaster.setPwm(self.pin, self.power); //in theory - see https://github.com/sarfata/pi-blaster.js
 }, 500);
Пример #13
0
        connection.on('message', function (message) {  
        
                var data = message.utf8Data;
                data = data.slice(1, 3);
        
                // Set GPIO PWM of 7% 
                if (Number(data) > 2) {        
                        piblaster.setPwm(24, 0.17);
                }

                // Set GPIO PWM of 6%
                if (Number(data) < (-2)) {        
                        piblaster.setPwm(24, 0.1);
                }

                // Set GPIO PWM of 6~7%  
                if (Number(data) == 0) {        
                        piblaster.setPwm(24, 0.12);
                }

        });  
Пример #14
0
server.defineCommand('c', color => {
  var mapping = {
    r: 24,
    g: 23,
    b: 18,
  };
  var split = color.split(' ');
  var abbr = split[0];
  var intensity = parseFloat(split[1]);
  var pin = mapping[abbr];
  blaster.setPwm(pin, intensity);
  server.displayPrompt();
});
Пример #15
0
var srv = artnetsrv.listen(6454, function(msg, peer) {
  debug_outputs(msg);
  for(i=0; i<msg.length; i++){
    value = msg.data[i];
    if(light_values[i] != value){
      light_values[i] = value;
      piblaster.setPwm(pin_GPIO[i],dmxToPercentValue(value));
    }
  }



});
Пример #16
0
	setTimeout(function () {
		piblaster.setPwm(23, 0);
		pinOff(7);

		T.post('statuses/update', { status: 'I just fed the cats at ' + getDateTime() }, function(err, reply) {
			if (!err) {
				res.send(200);
			} else {
				res.send(500, err);
			}
		});

	}, turnDuration);
Пример #17
0
    this.setPower = function (power) {
        this.targetTemperature = 0;
        this.targetType = "power";

        if (this.timer) {
            clearInterval(this.timer);
            this.timer = null;
        }
        this.power = power;
        PIBlaster.setPwm(this.pin, this.power);
        
        if (this.power > 0)
            this.messageBus.publish("ElementOn", { name: this.name });
        else
            this.messageBus.publish("ElementOff", { name: this.name });
    };
Пример #18
0
function move(direction, speed) {
  if(typeof(speed) === "undefined") {
    speed = 0.01
  }
  speed = parseFloat(speed);
  if(speed > 0.01) {
   speed = 0.01
  }
  if(direction == "right" && position > 0.06) {
    console.log("Going right!");
    position =+ parseFloat((position -= speed).toFixed(5));
  } else if(direction == "left" && position < 0.23) {
    console.log("Going left!");
    position =+ parseFloat((position += speed).toFixed(5));
  } else if(direction == "centre") {
    console.log("Centreing!");
    position = 0.15;
  }
  piblaster.setPwm(17, position);
}
Пример #19
0
  socket.on('changeColor', function (data) {
    var color = data.split('=')[0];
    var value = Number(data.split('=')[1]);

    var pin;

    if (color == "R")
        pin = 2;
    else if (color = "G")
        pin = 5;
    else if (color = "B")
        ping = 6;
    else
        return console.error("Wrong color");

    if (value < 0 || value > 1)
        return console.error("Wrong value");

    console.log("Changing color %s to %d", color, value);

    piblaster.setPwn(pin, value);
  });
Пример #20
0
Redoid._applyColor = function(color)
{
    if (this._applyColorCallback === null)
    {
        // apply each changed color component
        for (var i = 0; i < 3; i ++) {
            if (this._color === null || color[i] != this._color[i]) {
                piblaster.setPwm(this._colorComponentPins[i], color[i] / 255.0);
            }
        }
    }
    else
    {
        // apply color by calling the user defined callback
        this._applyColorCallback(color, this._color);
    }

    // track current color
    this._color = color;

    return this;
};
Пример #21
0
 socket.on('yellow', function (data) {
   piblaster.setPwm(17, Number(data.val) / 100);
 });
Пример #22
0
 socket.on('green', function (data) {
   piblaster.setPwm(27, Number(data.val) / 100);
 });
Пример #23
0
 socket.on('red', function (data) {
   piblaster.setPwm(22, Number(data.val) / 100);
 });
Пример #24
0
app.io.route('key',function(req)
{
  console.log(req.data.key);
  
  switch(req.data.key)
  {
    case 'up':
      piblaster.setPwm(leftMotorBack,0);
      piblaster.setPwm(rightMotorBack,0);
      piblaster.setPwm(leftMotorFront,1);
      piblaster.setPwm(rightMotorFront,1);
      break;
    case 'down':
      piblaster.setPwm(leftMotorFront,0);
      piblaster.setPwm(rightMotorFront,0);
      piblaster.setPwm(leftMotorBack,1);
      piblaster.setPwm(rightMotorBack,1);
      break;
    case 'left':
      piblaster.setPwm(leftMotorBack,0);
      piblaster.setPwm(rightMotorFront,0);
      piblaster.setPwm(leftMotorFront,1);
      piblaster.setPwm(rightMotorBack,1);
      break;
    case 'right':
      piblaster.setPwm(leftMotorFront,0);
      piblaster.setPwm(rightMotorBack,0);
      piblaster.setPwm(leftMotorBack,1);
      piblaster.setPwm(rightMotorFront,1);
      break;
    default:
      piblaster.setPwm(leftMotorFront,0);
      piblaster.setPwm(leftMotorBack,0);
      piblaster.setPwm(rightMotorFront,0);
      piblaster.setPwm(rightMotorBack,0);
      break;
  }
});
Пример #25
0
var app=require('express.io')(),
    gpio=require('rpi-gpio'),
    piblaster=require('pi-blaster.js');

var rightMotorFront=22,
    rightMotorBack=17,
    leftMotorFront=23,
    leftMotorBack=18;

piblaster.setPwm(leftMotorFront,0);
piblaster.setPwm(leftMotorBack,0);

app.http().io();
app.get('/',function(req,res)
{
  res.sendfile('./views/index.html');
});

app.io.route('key',function(req)
{
  console.log(req.data.key);
  
  switch(req.data.key)
  {
    case 'up':
      piblaster.setPwm(leftMotorBack,0);
      piblaster.setPwm(rightMotorBack,0);
      piblaster.setPwm(leftMotorFront,1);
      piblaster.setPwm(rightMotorFront,1);
      break;
    case 'down':
Пример #26
0
function setBrightness(amount){
    console.log("setting brightness to: "+_currentBrightness);
    pwm.setPwm(18,amount/100);
}
Пример #27
0
function updateLedState(state){

    switch (state) {
        case 0:
            console.log('vert');
	    piblaster.setPwm(RED_GPIO_PIN, 0);
	    piblaster.setPwm(GREEN_GPIO_PIN, 1);
	    piblaster.setPwm(BLUE_GPIO_PIN, 0);
            break;
        case 1:
            console.log('orange');
            piblaster.setPwm(RED_GPIO_PIN, 1);
            piblaster.setPwm(GREEN_GPIO_PIN, 0.02);
            piblaster.setPwm(BLUE_GPIO_PIN, 0);
            break;
        case 2:
            console.log('rouge');
            piblaster.setPwm(RED_GPIO_PIN, 1);
            piblaster.setPwm(GREEN_GPIO_PIN, 0);
            piblaster.setPwm(BLUE_GPIO_PIN, 0);

            setTimeout(function() {
                console.log("Choupette valide");
                web3.personal.unlockAccount(account, pwdAccount, 60, function(err, result) {
                    if (!err) {
                        contract.ValidateTravel.sendTransaction({
                            from: account
                        });
                    }
                });
            }, 2000);
	    break;
        case 3:
            console.log('bleu');
            piblaster.setPwm(RED_GPIO_PIN, 0);
            piblaster.setPwm(GREEN_GPIO_PIN, 0);
            piblaster.setPwm(BLUE_GPIO_PIN, 1);
            break;
    }
}
Пример #28
0
var piblaster = require('pi-blaster.js');
var wpi = require('wiring-pi');

// Forward on PIN 24 (wpi 5)
wpi.setup('wpi');
wpi.pinMode(5, wpi.OUTPUT);
wpi.digitalWrite(5, 1);


piblaster.setPwm(25, 1);
Пример #29
0
console.log('***JUST FOR FUN***');
var piblaster = require("pi-blaster.js");
var a = "green";

//  console.log("turn off");
//    piblaster.setPwm(22, 1);
//    piblaster.setPwm(17, 1);
//    piblaster.setPwm(4, 1);

//  console.log("blue");
//    piblaster.setPwm(22, 1);
//    piblaster.setPwm(17, 0);
//    piblaster.setPwm(4, 1);
if (a==="green"){
  console.log("green");
    piblaster.setPwm(22, 0);
    piblaster.setPwm(17, 1);
    piblaster.setPwm(4, 1);
}
else if (a==="red"){
  console.log("red");
    piblaster.setPwm(22, 1);
    piblaster.setPwm(17, 1);
    piblaster.setPwm(4, 0);
}
else {
  console.log("blue");
    piblaster.setPwm(22, 1);
    piblaster.setPwm(17, 0);
    piblaster.setPwm(4, 1);
}
Пример #30
0
		setTimeout(function () {
			piblaster.setPwm(23, 0);
			pinOff(7);
			res.send(200);
		}, turnDuration);