Пример #1
0
board.on('ready', function () {
  var piezo = new five.Piezo(9)
  var led = new five.Led(13)
  var btn = new five.Button(5)
  var thermo = new five.Thermometer({
    controller: 'TMP36',
    pin: 'A0'
  })

  var threshold = 50
  var isOnFire = false
  var isReset = false

  var sirenInterval = null

  // Sound the alarm
  function panic () {
    if (isOnFire) return
    isOnFire = true

    led.strobe(1000)
    piezo.tone(five.Piezo.Notes.c4, 750)
    sirenInterval = setInterval(function () {
      piezo.tone(five.Piezo.Notes.c4, 750)
    }, 1000)
  }

  // Silence the things
  function calm () {
    if (!isOnFire) return
    isOnFire = false

    led.stop().off()
    clearInterval(sirenInterval)
    piezo.noTone()
  }

  // The reset button
  btn.on('press', function () {
    if (!isOnFire) return
    isReset = true
    calm()
  })

  // Watch the temp
  thermo.on('change', function () {
    if (this.celsius > threshold) {
      if (!isReset) {
        panic()
      }
    } else {
      calm()
      isReset = false // clear the reset flag when temp drops below threshold
    }
  })
})
Пример #2
0
board.on('ready', function () {
  var piezo = new five.Piezo(8)
  var server = dgram.createSocket('udp4')

  server.on('message', function () {
    piezo.song('cdfda ag cdfdg gf ', '111111442111111442')
  })

  server.bind(1337)
})
Пример #3
0
  // Sound the alarm
  function panic () {
    if (isOnFire) return
    isOnFire = true

    led.strobe(1000)
    piezo.tone(five.Piezo.Notes.c4, 750)
    sirenInterval = setInterval(function () {
      piezo.tone(five.Piezo.Notes.c4, 750)
    }, 1000)
  }
Пример #4
0
board.on("ready", function() {

  // Create a new `piezo` hardware instance.
  piezo = new five.Piezo({pin: 9});

  // Inject the `piezo` hardware into
  // the Repl instance's context;
  // allows direct command line access
  board.repl.inject({
    piezo: piezo
  });


  piezo.song(
    "e e e e e e e g c d e f f f f f e e e e e d d e d g", 
    "111113111113111111111511111111111111111111111111231"
  );
 
});
Пример #5
0
board.on("ready", function() {
  // Creates a piezo object and defines the pin to be used for the signal
  var piezo = new five.Piezo(8);

  // Plays a song
  piezo.play({
    // song is composed by an array of pairs of notes and beats
    // The first argument is the note (null means "no note")
    // The second argument is the length of time (beat) of the note (or non-note)
    song: [
      ["C4", 1 / 4],
      ["D4", 1 / 4],
      ["F4", 1 / 4],
      ["D4", 1 / 4],
      ["A4", 1 / 4],
      [null, 1 / 4],
      ["A4", 1],
      ["G4", 1],
      [null, 1 / 2],
      ["C4", 1 / 4],
      ["D4", 1 / 4],
      ["F4", 1 / 4],
      ["D4", 1 / 4],
      ["G4", 1 / 4],
      [null, 1 / 4],
      ["G4", 1],
      ["F4", 1],
      [null, 1 / 2]
    ],
    tempo: 100
  });

  // Plays the same song with a string representation
  piezo.play({
    // song is composed by a string of notes
    // a default beat is set, and the default octave is used
    // any invalid note is read as "no note"
    song: "C D F D A - A A A A G G G G - - C D F D G - G G G G F F F F - -",
    beats: 1 / 4,
    tempo: 100
  });
});
Пример #6
0
five.Board().on("ready", function() {
  var piezo = new five.Piezo(9);
  var val = 0;

  this.loop(200, function() {
    if (val ^= 1) {
      // Play note a4 for 1/5 second
      piezo.frequency(five.Piezo.Notes["a4"], 200);
    }
  });
});
Пример #7
0
  function controls(ch, key) {
    if ( !key ) { return; }

    if ( key.name === 'q' ) {
      console.log('uitting mBot Controls');
      motors.left.stop();
      motors.right.stop();
      process.exit();
    }

    if ( key.name === 'space' ) {
      console.log('Stopping');
      motors.left.stop();
      motors.right.stop();
    }

    if ( key.name === 'up' ) {
      console.log('Going forward');
      motors.left.rev(MAX_SPEED);
      motors.right.fwd(MAX_SPEED);
    }

    if ( key.name === 'down' ) {
      console.log('Going backward');
      motors.left.fwd(MAX_SPEED);
      motors.right.rev(MAX_SPEED);
    }

    if ( key.name === 'f' ) {
      console.log('lank right');
      motors.left.rev(MAX_SPEED_TURNS);
      motors.right.rev(MAX_SPEED_TURNS);
    }

    if ( key.name === 'a' ) {
      console.log('bout to be going  left');
      motors.left.fwd(MAX_SPEED_TURNS);
      motors.right.fwd(MAX_SPEED_TURNS);
    }

    if ( key.name === 't' ) {
      console.log('urbo Boost!!');
      motors.left.rev(255);
      motors.right.fwd(255);
    }

    if ( key.name === 'r' ) {
      console.log('ick Rolled!!');
      piezo.play(songs.load('never-gonna-give-you-up'));
      motors.left.fwd(255);
      motors.right.fwd(255);
    }
  }
Пример #8
0
    var play = function(tempo) {
        // Plays a song
        piezo.play({
            // song is composed by an array of pairs of notes and beats
            // The first argument is the note (null means "no note")
            // The second argument is the length of time (beat) of the note (or non-note)
            song: [
                ["C4", 1 / 4],
                ["D4", 1 / 4],
                ["F4", 1 / 4],
                ["D4", 1 / 4],
                ["A4", 1 / 4],
                [null, 1 / 4],
                ["A4", 1],
                ["G4", 1],
                [null, 1 / 2],
                ["C4", 1 / 4],
                ["D4", 1 / 4],
                ["F4", 1 / 4],
                ["D4", 1 / 4],
                ["G4", 1 / 4],
                [null, 1 / 4],
                ["G4", 1],
                ["F4", 1],
                [null, 1 / 2]
            ],
            tempo: tempo
        });

        // Plays the same song with a string representation
        piezo.play({
            // song is composed by a string of notes
            // a default beat is set, and the default octave is used
            // any invalid note is read as "no note"
            song: "C D F D A - A A A A G G G G - - C D F D G - G G G G F F F F - -",
            beats: 1 / 4,
            tempo: tempo
        });

    }
Пример #9
0
board.on("ready", function() {

  piezo = new five.Piezo({
    controller: "I2C_BACKPACK",
    pin: 3
  });

  // Injects the piezo into the repl
  board.repl.inject({
    piezo: piezo
  });

   // Plays a song
  piezo.play({
    // song is composed by an array of pairs of notes and beats
    // The first argument is the note (null means "no note")
    // The second argument is the length of time (beat) of the note (or non-note)
    song: [
      ["F4", 1/8], ["C4", 1/8], ["A3", 1/8], ["C4", 1/8], ["A3", 1/8], ["F4", 1/8],
      ["F4", 1/8], ["C4", 1/8], ["A3", 1/8], ["C4", 1/8], ["A3", 1/8], ["F4", 1/8],
      ["E4", 1/8], ["C4", 1/8],["G3", 1/8], ["C4", 1/8], ["G3", 1/8], ["E4", 1/8],
      ["E4", 1/8], ["C4", 1/8], ["G3", 1/8], ["C4", 1/8], ["G3", 1/8], ["E4", 1/8],
      ["E4", 1/8], ["C#4", 1/8], ["A3", 1/8], ["C#4", 1/8],["A3", 1/8], ["E4", 1/8],
      ["E4", 1/8], ["C#4", 1/8], ["A3", 1/8], ["C#4", 1/8], ["A3", 1/8],["E4", 1/8],

      ["D4", 1/2], ["E4", 1/3], ["F4", 1/3], ["A4", 1/4], ["G4", 1/4], ["A4", 1/2],["C4", 1/2],
      ["D4", 1/2], ["E4", 1/3], ["F4", 1/3], ["E4", 1/4], ["G4", 1/4], ["A4", 1/2],["G4", 1/2], ["F4", 1/2],

      ["F4", 1/8], ["F4", 1/8], ["F4", 1/8], ["A4", 1/8], ["A4", 1/8],["G4", 1/8], ["F4", 1/8],
      ["A4", 1/8], ["A4", 1/8], ["A4", 1/8], ["G4", 1/8], ["A4", 1/8],["G4", 1/8], ["F4", 1/8],
      ["F4", 1/8], ["F4", 1/8], ["F4", 1/8], ["A4", 1/8], ["A4", 1/8],["G4", 1/8], ["F4", 1/8],

      ["A4", 1/3], ["A4", 1/3], ["A4", 1/3], ["C#5", 1/3], ["C#5", 1/3], ["C#5", 1/2],
      ["F4", 1/3], ["F4", 1/3], ["F4", 1/3], ["A4", 1/3], ["A4", 1/3], ["G4", 1/3],["F4", 1/2],
      ["A#4", 1/2], ["A#4", 1/2], ["A#4", 1/2], ["G4", 1/2], ["C5", 1/2], ["A4", 1/8], ["C#5", 1/8], ["D5", 1]
    ],
    tempo: 100
  });

});
Пример #10
0
 function fire () {
     laserState = !laserState;
     if (laserState) {
         piezo.frequency(440,2000);
         laser.blink();
         that.wait(2000, function () {
             laser.stop();
             laser.off();
         });
     } else {
         laser.off();
     }
 };
Пример #11
0
five.Board().on("ready", function() {
  // Creates a piezo object and defines the pin to be used for the signal
  var piezo = new five.Piezo(3);

  // Plays a song
  piezo.play({
    // song is composed by an array of pairs of notes and beats
    // The first argument is the note (null means "no note")
    // The second argument is the length of time (beat) of the note (or non-note)
    song: [
      ["C4", 1],
      ["D4", 1],
      ["E4", 1],
      ["F4", 1],
      ["G4", 1],
      ["A4", 1],
      ["B4", 1],
      ["C5", 1]
    ],
    tempo: 200
  });

});
Пример #12
0
 temp.on('data', function (err, data) {
   if (err) {
     throw err
   }
   console.log(data.celsius)
   if (buttonState === false && data.celsius > 50) {
     trigger()
   } else if (buttonState === true && data.celsius < 50) {
     buttonState = false
     console.log('Reset')
   } else {
     led.stop().off()
     piezo.noTone()
   }
 })
Пример #13
0
    sensor.on("data", function() {

        var thisPitch = Math.floor(map(this.value, 960, 995, 0, 7));

        if (thisPitch < 0) {
            thisPitch = 0;
        }
        if (thisPitch > 7) {
            thisPitch = 7;
        }

        var frequencies = [261.63, 293.66, 329.63, 349.23, 392.00, 440.00, 493.88, 523.25];

        thisPitch = frequencies[thisPitch];
        piezo.frequency(thisPitch, 100);

    });
Пример #14
0
board.on("ready", function() {

    // Create a new BioMEMS sensor (photoresistor) instance.
    sensor1 = new five.Sensor({
        pin: "A0", // Arduino analog input pin number
        freq: 500  // Sampling frequency (500 milliseconds = 2 Hz)
    });
	sensor2 = new five.Sensor({
        pin: "A1", // Arduino analog input pin number
        freq: 500  // Sampling frequency (500 milliseconds = 2 Hz)
    });

    // When a new sensor value is avaiable ("data"), execute {}
    sensor1.on("data", function() {
        console.log(this.value); // Show the sensor value on Windows Command Shell
        io.emit('sensorValue1', this.value); //Send the sensor value named "sensorValue" to the web client (e.g., sensorValue: 300)
    });
	sensor2.on("data", function() {
        console.log(this.value); // Show the sensor value on Windows Command Shell
        io.emit('sensorValue2', this.value); //Send the sensor value named "sensorValue" to the web client (e.g., sensorValue: 300)
    });

    // Create a new BioMEMS actuator (LED) instance on pin 11
    var actuator1 = new five.Led(11);
    io.on('connection', function(socket){
        // When the control value is received from the web client, execute {}
        socket.on('control1', function(controlValue){
            actuator1.brightness(controlValue); //Change the LED brightness to "controlValue"
        });
    });
	var actuator2 = new five.Led(10);
    io.on('connection', function(socket){
        // When the control value is received from the web client, execute {}
        socket.on('control2', function(controlValue){
            actuator2.brightness(controlValue); //Change the LED brightness to "controlValue"
        });
    });
	var actuator3 = new five.Piezo(8);
    io.on('connection', function(socket){
        // When the control value is received from the web client, execute {}
        socket.on('control3', function(controlValue){
            actuator3.frequency(controlValue, 10000); //Change the LED brightness to "controlValue"
        });
    });
});
Пример #15
0
  cl.addListener('stanza', function(stanza) {
      if (stanza.is('message') && (stanza.attrs.type !== 'error')) {
        var body = stanza.getChild('body');

        if (!body) {
          return;
        }

        var songTitle = body.getText();
        // play a song if it exists
        if (songTable[songTitle]) {
          piezo.song(songTable[songTitle]['notes'], songTable[songTitle]['durations']);
        }
        else {
          return;
        }
      }
  });
Пример #16
0
board.on("ready", function() {
  // create a piezo object (pin 3)
  var piezo = new five.Piezo(3);
  // connect to jabber
  var cl = new xmpp.Client({ jid: jabber_user,  password: jabber_password });

  board.repl.inject({
    piezo: piezo
  });

  // when connected to jabber, log to console, set presence to online
  cl.on('online', function() {
      console.log('connected to jabber...')
      cl.send(new xmpp.Element('presence', { })
        .c('show').t('chat').up()
        .c('status').t('Send a song name')
      )
  })

  // listen for msgs, play songs
  cl.addListener('stanza', function(stanza) {
      if (stanza.is('message') && (stanza.attrs.type !== 'error')) {
        var body = stanza.getChild('body');

        if (!body) {
          return;
        }

        var songTitle = body.getText();
        // play a song if it exists
        if (songTable[songTitle]) {
          piezo.song(songTable[songTitle]['notes'], songTable[songTitle]['durations']);
        }
        else {
          return;
        }
      }
  });
});
Пример #17
0
board.on("ready", function() {
    var piezo = new five.Piezo(9);
    this.repl.inject({
        piezo: piezo
    });

    sensor = new five.Sensor({
        pin: "A0",
        freq: 250
    });



    sensor.on("data", function() {

        var thisPitch = Math.floor(map(this.value, 960, 995, 0, 7));

        if (thisPitch < 0) {
            thisPitch = 0;
        }
        if (thisPitch > 7) {
            thisPitch = 7;
        }

        var frequencies = [261.63, 293.66, 329.63, 349.23, 392.00, 440.00, 493.88, 523.25];

        thisPitch = frequencies[thisPitch];
        piezo.frequency(thisPitch, 100);

    });



    // piezo.play({
    //   song: "F# F# G A A G F# E D D E f# F# e e   ",
    //   beats: 1/3,
    //   tempo: 50
    // });
});
Пример #18
0
board.on('ready', function () {
  var temp = new five.Temperature({
    controller: 'TMP36',
    pin: 'A0'
  })
  var piezo = new five.Piezo(9)
  var led = new five.Led(13)
  var button = new five.Button(5)
  var buttonState = false

  button.on('press', function () {
    buttonState = true
    led.stop().off()
    piezo.noTone()
  })

  function trigger () {
    console.log('Triggered')
    piezo.frequency(587, 500)
    led.on()
  }

  temp.on('data', function (err, data) {
    if (err) {
      throw err
    }
    console.log(data.celsius)
    if (buttonState === false && data.celsius > 50) {
      trigger()
    } else if (buttonState === true && data.celsius < 50) {
      buttonState = false
      console.log('Reset')
    } else {
      led.stop().off()
      piezo.noTone()
    }
  })
})
Пример #19
0
	tempSensor.on('data' , function(err , data) {
		// When the temperature sensor detects a temperature above 50c , 
		// the piezo should sound and the LED should flash on and off continously		
		if (data.celsius > 50) {
			if (!buttonPressed) {
				piezo.play({
					song: "C D F",
					beats: 1 / 4,
					tempo: 100
				});
				led.strobe(500);
			} else {
				led.off();
			}
		}
		// if the temperature drops below 50c , the piezo and LED should turn off
		else if (data.celsius < 50) {
			// um no piezo.stop so not wasting my time with poor directions
			led.off();
		}


	});	
Пример #20
0
board.on("ready", function() {
  //Base
  var servo_base = new five.Servo({
    pin: 2,
    type: "continuous"
  });
  //Aticulacion 1
  var servo_1 = new five.Servo({
    pin: 3,
    type: "continuous"    
  });
  //Aticulacion 2
  var servo_2 = new five.Servo({
    pin: 4,
    type: "continuous"    
  });
  //Pinza
  var servo_pinza = new five.Servo({
    pin: 5,
    type: "continuous"    
  });
  var piezo = new five.Piezo(10);
  //base inicial=90, 0 y 180
  //art1 inicial= ,atras=60, adelante=;
  //pinza inicial= 180, 90= cerrado, 180= abierto

  board.repl.inject({
    piezo: piezo
  });

  servo_base.to(85);
  servo_1.to(30);
  servo_2.to(145);
  servo_pinza.to(0);


  app.post('/valor_pinza', function(req, res) {
    var valor = req.body.estado;
    console.log("Valor pinza: "+valor);
    servo_pinza.to(valor);
    res.status(200).end();
  });

  app.post('/valor_base', function(req, res) {
    var valor = req.body.estado;
    console.log("Valor base: "+valor);
    servo_base.to(valor);
    res.status(200).end();
  });

  app.post('/valor_art1', function(req, res) {
    var valor = req.body.estado;
    console.log("Valor art1: "+valor);
    servo_1.to(valor);
    res.status(200).end();
  });

  app.post('/valor_art2', function(req, res) {
    var valor = req.body.estado;
    console.log("Valor art2: "+valor);
    servo_2.to(valor);
    res.status(200).end();
  });



app.post('/iniciar', function(req, res) {
  console.log("Iniciando rutina 1 en el servidor");
    //responder al html
    
    //mover_winner();

    rutina(108,85,60);
    //esperar 105 segundos
    res.status(200).end();

});

app.post('/iniciar2', function(req, res) {
  
  console.log("Iniciando rutina 2 en el servidor");

   
  rutina(60, 85, 108);
  //esperar 105 segundos
  res.status(200).end();

});



function rutina(base1,base2,base3){

    var base_1 = base1;
    var base_2 = base2;
    var base_3 = base3; 

    piezo.play({
      song: [
        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["C4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["A3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["G#3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["C4", 1],
        [null, 1 / 4],
        ["E4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["G#4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        [null, 1]

    ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["C4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["A3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["G#3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["C4", 1],
        [null, 1 / 4],
        ["E4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["G#4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        [null, 1]
        




      ],
      tempo: 250
    });

    //VALORES INICIALES  
    servo_base.to(85);
    servo_1.to(30);
    servo_2.to(145);
    servo_pinza.to(90);


    /*
    * ATENCION
    * despues de VOLVER se suman 2 segundos
    * despues de MOVER A POSICION se suman 5 segundos
    */

    //tomar pieza pequeña de 1
    setTimeout(function(){
      mover_piso3(base_1);
      cerrar_pinza();
      console.log("mover-pos1->piso3");
    }, 1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 6*1000);

    //dejar pieza pequeña en 3
    setTimeout(function(){
      mover_piso1(base_3);
      abrir_pinza();
      console.log("mover-pos3->piso1");
    }, 8*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 13*1000);

    //tomar pieza mediana de 1
    setTimeout(function(){
      mover_piso2(base_1);
      cerrar_pinza();
      console.log("mover-pos1->piso2");
    }, 15*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 20*1000);

    //dejar pieza mediana en 2
    setTimeout(function(){
      mover_piso1(base_2);
      abrir_pinza();
      console.log("mover-pos2->piso1");
    }, 22*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 27*1000);

    //tomar pieza pequeña de 1
    setTimeout(function(){
      mover_piso1(base_3);
      cerrar_pinza();
      console.log("mover-pos3->piso1");
    }, 29*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 34*1000);

    //dejar pieza pequeña en 2
    setTimeout(function(){
      mover_piso2(base_2);
      abrir_pinza();
      console.log("mover-pos2->piso2");
    }, 36*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 41*1000);
////////////////////////////////

    //tomar pieza grande de 1
    setTimeout(function(){
      mover_piso1(base_1);
      cerrar_pinza();
      console.log("mover-pos1->piso1");
    }, 43*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 48*1000);

    //dejar pieza grande en 3
    setTimeout(function(){
      mover_piso1(base_3);
      abrir_pinza();
      console.log("mover-pos3->piso1");
    }, 50*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 55*1000);

////////////////////////////////////

    //tomar pieza pequeña de 2
    setTimeout(function(){
      mover_piso2(base_2);
      cerrar_pinza();
      console.log("mover-pos2->piso2");
    }, 57*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 62*1000);

    //dejar pieza pequeña en 1
    setTimeout(function(){
      mover_piso1(base_1);
      abrir_pinza();
      console.log("mover-pos1->piso1");
    }, 64*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 69*1000);

////////////////////////////////////

    //tomar pieza mediana de 2
    setTimeout(function(){
      mover_piso1(base_2);
      cerrar_pinza();
      console.log("mover-pos2->piso1");
    }, 71*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 76*1000);

    //dejar pieza mediana en 3
    setTimeout(function(){
      mover_piso2(base_3);
      abrir_pinza();
      console.log("mover-pos3->piso2");
    }, 78*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 83*1000);

////////////////////////////////////

    //tomar pieza pequeña de 1
    setTimeout(function(){
      mover_piso1(base_1);
      cerrar_pinza();
      console.log("mover-pos1->piso1");
    }, 85*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 90*1000);

    //dejar pieza pequeña en 3
    setTimeout(function(){
      mover_piso3(base_3);
      abrir_pinza();
      console.log("mover-pos3->piso3");
    }, 92*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 97*1000);

    setTimeout(function(){
      mover_winner();
      console.log("mover:winner");
    }, 100*1000);

}


function mover_piso3(base){
  setTimeout(function(){
    servo_base.to(base);
  }, 200);

  timeout([30, 95], 0.1, function(i){
    servo_1.to(i);
  });

  timeout([115, 145], 0.1, function(i){
    servo_2.to(115+145-i);
  });
}

function mover_piso2(base){
  setTimeout(function(){
    servo_base.to(base);
  }, 200);

  timeout([30, 100], 0.1, function(i){
    servo_1.to(i);
  });

  timeout([110, 135], 0.1, function(i){
    servo_2.to(110+135-i);
  });
}

function mover_piso1(base){
  setTimeout(function(){
    servo_base.to(base);
  }, 200);

  timeout([30, 105], 0.1, function(i){
    servo_1.to(i);
  });
  timeout([105, 145], 0.1, function(i){
    servo_2.to(105+145-i);
  });
}

function cerrar_pinza(){
  setTimeout(function(){
    timeout_pinza([0, 90], 1, function(i){
      servo_pinza.to(90-i);
    });
  }, 5*100);
}
function abrir_pinza(){
  setTimeout(function(){
    timeout_pinza([0, 90], 1, function(i){
      servo_pinza.to(i);
    });
  }, 5*100);
}

function mover_volver(){
  timeout([30, 60], 0.1, function(i){
    servo_1.to(30+60-i);
  });
  timeout([115, 145], 0.1, function(i){
    servo_2.to(i);
  });
  setTimeout(function(){
    servo_base.to(85);
  }, 800);
  
}

function mover_winner(){
  setTimeout(function(){
    servo_pinza.to(0);
    servo_1.to(45);
    servo_2.to(160);
  }, 500);

  setTimeout(function(){
    servo_pinza.to(90);
    servo_1.to(75);
  }, 2*500);

  setTimeout(function(){
    servo_pinza.to(0);
   servo_1.to(45);
  }, 3*500);

  setTimeout(function(){
    servo_pinza.to(90);
    servo_1.to(75);
  }, 4*500);

  setTimeout(function(){
    servo_pinza.to(0);
   servo_1.to(45);
   }, 5*500);

  setTimeout(function(){
    servo_pinza.to(90);
    servo_1.to(75);

  }, 6*500);

  setTimeout(function(){
    servo_pinza.to(0);
  }, 7*500);


}

});
Пример #21
0
board.on('ready', function (err) {
  if (err) {
    console.log('Oops, there was an error:', err);
    return;
  }

  const motors = {
    right: new five.Motor([6, 7]),
    left: new five.Motor([5, 4])
  };

  const piezo = new five.Piezo(8);

  this.repl.inject({
    motors: motors,
    piezo: piezo
  });

  console.info('Board connected. Welcome to mBot Controls!');
  console.log('Control the bot with the right arrow keys, and SPACE to stop.');

  function controls(ch, key) {
    if ( !key ) { return; }

    if ( key.name === 'q' ) {
      console.log('uitting mBot Controls');
      motors.left.stop();
      motors.right.stop();
      process.exit();
    }

    if ( key.name === 'space' ) {
      console.log('Stopping');
      motors.left.stop();
      motors.right.stop();
    }

    if ( key.name === 'up' ) {
      console.log('Going forward');
      motors.left.rev(MAX_SPEED);
      motors.right.fwd(MAX_SPEED);
    }

    if ( key.name === 'down' ) {
      console.log('Going backward');
      motors.left.fwd(MAX_SPEED);
      motors.right.rev(MAX_SPEED);
    }

    if ( key.name === 'f' ) {
      console.log('lank right');
      motors.left.rev(MAX_SPEED_TURNS);
      motors.right.rev(MAX_SPEED_TURNS);
    }

    if ( key.name === 'a' ) {
      console.log('bout to be going  left');
      motors.left.fwd(MAX_SPEED_TURNS);
      motors.right.fwd(MAX_SPEED_TURNS);
    }

    if ( key.name === 't' ) {
      console.log('urbo Boost!!');
      motors.left.rev(255);
      motors.right.fwd(255);
    }

    if ( key.name === 'r' ) {
      console.log('ick Rolled!!');
      piezo.play(songs.load('never-gonna-give-you-up'));
      motors.left.fwd(255);
      motors.right.fwd(255);
    }
  }

  keypress(process.stdin);
  process.stdin.on('keypress', controls);
  process.stdin.setRawMode(true);
  process.stdin.resume();
});
Пример #22
0
board.on("ready", function() {

  /**
   * Playground Controllers
   */
  var accelerometer = new five.Accelerometer({
    controller: Playground.Accelerometer
  });

  var pixels = new five.Led.RGBs({
    controller: Playground.Pixel,
    pins: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  });

  var pads = new five.Touchpad({
    controller: Playground.Touchpad,
    pads: [0, 10],
  });

  var piezo = new five.Piezo({
    controller: Playground.Piezo,
    pin: 5,
  });

  var thermometer = new five.Thermometer({
    controller: Playground.Thermometer,
    freq: 100
  });

  /**
   * Default Component Controllers
   * @type {five}
   */
  var buttons = new five.Buttons([4, 19]);

  var led = new five.Led(13);

  var light = new five.Sensor({
    pin: "A5",
    freq: 100
  });

  var sound = new five.Sensor({
    pin: "A4",
    freq: 100
  });

  var toggle = new five.Switch(21);

  /**
   * Events and Data Handling
   */
  accelerometer.on("tap", (data) => {
    piezo.frequency(data.double ? 1500 : 500, 50);
  });

  board.loop(1000, () => {
    console.log("Raw Light: %d", light.value);
    console.log("Raw Sound: %d", sound.value);
  });

  buttons.on("press", (button) => {
    console.log("Which button was pressed? ", button.pin);
    if (button.pin === 4) {
      led.on();
    }
    if (button.pin === 19) {
      led.off();
    }
  });

  thermometer.on("change", (data) => {
    console.log("Celcius: %d", data.C);
  });

  pads.on("change", (data) => {
    if (data.type === "down") {
      piezo.frequency(700, 50);
    } else {
      piezo.noTone();
    }
  });

  var index = 0;
  var colors = [
    "red",
    "orange",
    "yellow",
    "green",
    "blue",
    "indigo",
    "violet",
  ];

  setInterval(() => {
    pixels.forEach(pixel => pixel.color(colors[index]));
    if (++index === colors.length) {
      index = 0;
    }
  }, 100);
});
Пример #23
0
 accelerometer.on("tap", (data) => {
   piezo.frequency(data.double ? 1500 : 500, 50);
 });
Пример #24
0
 socket.on('control3', function(controlValue){
     actuator3.frequency(controlValue, 10000); //Change the LED brightness to "controlValue"
 });
Пример #25
0
 accelerometer.on('tap', (data) => {
   piezo.frequency(data.double ? 1500 : 500, 50)
 })
Пример #26
0
board.on('ready', function () {
  /**
   *    * Playground Controllers
   *       */
  var accelerometer = new five.Accelerometer({
    controller: Playground.Accelerometer
  })

  var pixels = new five.Led.RGBs({
    controller: Playground.Pixel,
    pins: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  })

  var pads = new five.Touchpad({
    controller: Playground.Touchpad,
    pads: [0, 10]
  })

  var piezo = new five.Piezo({
    controller: Playground.Piezo,
    pin: 5
  })

  var thermometer = new five.Thermometer({
    controller: Playground.Thermometer,
    freq: 100
  })

  /**
   *    * Default Component Controllers
   *       * @type {five}
   *          */
  var buttons = new five.Buttons([4, 19])

  var led = new five.Led(13)

  var light = new five.Sensor({
    pin: 'A5',
    freq: 100
  })

  var sound = new five.Sensor({
    pin: 'A4',
    freq: 100
  })

  // var toggle = new five.Switch(21)

  /**
   *    * Events and Data Handling
   *       */
  accelerometer.on('tap', (data) => {
    piezo.frequency(data.double ? 1500 : 500, 50)
  })

  board.loop(1000, () => {
    console.log('Raw Light: %d', light.value)
    console.log('Raw Sound: %d', sound.value)
  })

  buttons.on('press', (button) => {
    console.log('Which button was pressed? ', button.pin)
    if (button.pin === 4) {
      led.on()
    }
    if (button.pin === 19) {
      led.off()
    }
  })

  thermometer.on('change', (data) => {
    console.log('Celcius: %d', data.C)
  })

  pads.on('change', (data) => {
    if (data.type === 'down') {
      piezo.frequency(700, 50)
    } else {
      piezo.noTone()
    }
  })

  var index = 0
  var colors = [
    'red',
    'orange',
    'yellow',
    'green',
    'blue',
    'indigo',
    'violet'
  ]

  setInterval(() => {
    pixels.forEach(pixel => pixel.color(colors[index]))
    if (++index === colors.length) {
      index = 0
    }
  }, 100)
})
Пример #27
0
 this.loop(200, function() {
   if (val ^= 1) {
     // Play note a4 for 1/5 second
     piezo.frequency(five.Piezo.Notes["a4"], 200);
   }
 });
Пример #28
0
function rutina(base1,base2,base3){

    var base_1 = base1;
    var base_2 = base2;
    var base_3 = base3; 

    piezo.play({
      song: [
        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["C4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["A3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["G#3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["C4", 1],
        [null, 1 / 4],
        ["E4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["G#4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        [null, 1]

    ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["C4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["A3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["G#3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        ["B3", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["C4", 1],
        [null, 1 / 4],
        ["E4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["G#4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["E5", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["C5", 1],
        ["B4", 1],

        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        ["C5", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        ["A4", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        [null, 1 / 4],

        ["D5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["F5", 1],
        ["A5", 1],
        [null, 1 / 4],
        ["G5", 1],
        ["F5", 1],

        ["E5", 1],
        [null, 1 / 4],
        [null, 1 / 4],
        ["C5", 1],
        ["E5", 1],
        [null, 1 / 4],
        ["D5", 1],
        ["C5", 1],

        ["B4", 1],
        [null, 1 / 4],
        ["B4", 1],
        ["C5", 1],
        ["D5", 1],
        [null, 1 / 4],
        ["E5", 1],
        [null, 1 / 4],

        [null, 1]
        




      ],
      tempo: 250
    });

    //VALORES INICIALES  
    servo_base.to(85);
    servo_1.to(30);
    servo_2.to(145);
    servo_pinza.to(90);


    /*
    * ATENCION
    * despues de VOLVER se suman 2 segundos
    * despues de MOVER A POSICION se suman 5 segundos
    */

    //tomar pieza pequeña de 1
    setTimeout(function(){
      mover_piso3(base_1);
      cerrar_pinza();
      console.log("mover-pos1->piso3");
    }, 1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 6*1000);

    //dejar pieza pequeña en 3
    setTimeout(function(){
      mover_piso1(base_3);
      abrir_pinza();
      console.log("mover-pos3->piso1");
    }, 8*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 13*1000);

    //tomar pieza mediana de 1
    setTimeout(function(){
      mover_piso2(base_1);
      cerrar_pinza();
      console.log("mover-pos1->piso2");
    }, 15*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 20*1000);

    //dejar pieza mediana en 2
    setTimeout(function(){
      mover_piso1(base_2);
      abrir_pinza();
      console.log("mover-pos2->piso1");
    }, 22*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 27*1000);

    //tomar pieza pequeña de 1
    setTimeout(function(){
      mover_piso1(base_3);
      cerrar_pinza();
      console.log("mover-pos3->piso1");
    }, 29*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 34*1000);

    //dejar pieza pequeña en 2
    setTimeout(function(){
      mover_piso2(base_2);
      abrir_pinza();
      console.log("mover-pos2->piso2");
    }, 36*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 41*1000);
////////////////////////////////

    //tomar pieza grande de 1
    setTimeout(function(){
      mover_piso1(base_1);
      cerrar_pinza();
      console.log("mover-pos1->piso1");
    }, 43*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 48*1000);

    //dejar pieza grande en 3
    setTimeout(function(){
      mover_piso1(base_3);
      abrir_pinza();
      console.log("mover-pos3->piso1");
    }, 50*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 55*1000);

////////////////////////////////////

    //tomar pieza pequeña de 2
    setTimeout(function(){
      mover_piso2(base_2);
      cerrar_pinza();
      console.log("mover-pos2->piso2");
    }, 57*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 62*1000);

    //dejar pieza pequeña en 1
    setTimeout(function(){
      mover_piso1(base_1);
      abrir_pinza();
      console.log("mover-pos1->piso1");
    }, 64*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 69*1000);

////////////////////////////////////

    //tomar pieza mediana de 2
    setTimeout(function(){
      mover_piso1(base_2);
      cerrar_pinza();
      console.log("mover-pos2->piso1");
    }, 71*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 76*1000);

    //dejar pieza mediana en 3
    setTimeout(function(){
      mover_piso2(base_3);
      abrir_pinza();
      console.log("mover-pos3->piso2");
    }, 78*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 83*1000);

////////////////////////////////////

    //tomar pieza pequeña de 1
    setTimeout(function(){
      mover_piso1(base_1);
      cerrar_pinza();
      console.log("mover-pos1->piso1");
    }, 85*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 90*1000);

    //dejar pieza pequeña en 3
    setTimeout(function(){
      mover_piso3(base_3);
      abrir_pinza();
      console.log("mover-pos3->piso3");
    }, 92*1000);
    
    setTimeout(function(){
      mover_volver();
      console.log("mover:volver");
    }, 97*1000);

    setTimeout(function(){
      mover_winner();
      console.log("mover:winner");
    }, 100*1000);

}
Пример #29
0
 server.on('message', function () {
   piezo.song('cdfda ag cdfdg gf ', '111111442111111442')
 })
Пример #30
0
board.on("ready", function() {
// <<<<<<< HEAD
//     var mic = new five.Sensor(MIC_PIN),
//         piezo = new five.Piezo(SPEAKER_PIN);
//     start = new Date();
// =======
    var mic = new five.Sensor("A0");
    var piezo = new five.Piezo(2);
    var time = 250;
// >>>>>>> normalized-mic

    start = new Date();
    
    var micVal = 0;
    mic.on("data", function () {
        micVal = this.value;
    });
    
    
    console.log(five.Piezo.Notes)
    var startTime = millis();
    // this.loop(1, function() {
    //     resample(micVal, signalMin, signalMax, startTime);
    // });
    
    
    // // if above a certain threshold, output to speaker
    
    // otherwise, calculate a threshold4
    
    /**
     * This loop samples the microphones input and
     * logs it in a volt variable. After each sample, it
     * resets itself.
     */
    this.loop(1, function () {
        if (millis() - startTime < SAMPLE_WINDOW) {
            if (micVal < 1024) {
                if (micVal > signalMax) {
                    signalMax = micVal;
                } else if (micVal < signalMin) {
                    signalMin = micVal;
                }
            }
        } else {
            peakToPeak = signalMax - signalMin;
            volts = peakToPeak * 3.3 / 1024;
            signalMax = 0;
            signalMin = 1024;
            startTime = millis();
        }
    });
    
    
    /**
     * This loop converts the volt into a value that the
     * speaker can use and then outputs it.
     */
    this.loop(time, function() {
        var out = toSpeakerFreq(volts, .018, .1, 0, 1047);
        // console.log(out);
        var mapped = mapToNote(out, MAJOR_SCALE, 262);
        if (mapped > 0) {
            piezo.frequency(mapped, time);
        } else {
            piezo.noTone();
        }
    });
    
    
    // this.wait(1, function() {
    //     mic.on("data", function() {
    //         if (count < 50) {
    //             if (this.value < 1024) {
    //                 if (this.value > signalMax) {
    //                     signalMax = this.value;
    //                 } else if (this.value < signalMin) {
    //                     signalMin = this.value;
    //                 }
    //             }
    //             count++;
    //         } else {
    //             peakToPeak = signalMax - signalMin;
    //             volts = peakToPeak * 3.3 / 1024;
    //             console.log(volts);       
    //         }
    //     });
    // });
    // peakToPeak = signalMax - signalMin;
    // var volts = peakToPeak * 3.3 / 1024;
    // console.log(volts);


    // collect data for 50 mS
    //    while (millis() - startMillis < sampleWindow)
    //    {
    //       sample = analogRead(0);
    //       if (sample < 1024)  // toss out spurious readings
    //       {
    //          if (sample > signalMax)
    //          {
    //             signalMax = sample;  // save just the max levels
    //          }
    //          else if (sample < signalMin)
    //          {
    //             signalMin = sample;  // save just the min levels
    //          }
    //       }
    //    }
    //    peakToPeak = signalMax - signalMin;  // max - min = peak-peak amplitude
    //    double volts = (peakToPeak * 3.3) / 1024;  // convert to volts



    // this.wait(time, function() {

    //     // if above a certain threshhold, output the value

    //     // otherwise, use the data 
    //     mic.on("data", function() {
    //         // var num = normalizeMic(30, 330, 380, this.value);
    //         var num = toSpeakerFreq(this.value, 320, 360, 370, 784);
    //         console.log(num);
    //         (num === 1) ? piezo.frequency(988, time) : piezo.noTone(time);
    //     });
    // });

});