Javascript assignment
1. Make block (highlighted in green) executable for two seconds.
2. Once two seconds execution completed, make next block (highlighted in red) executed.
3. All operations should work simultaneously.
var b = require('bonescript');
var pins = (typeof bone != 'undefined') ? bone : b.bone.pins;
var left_IR_sensor = pins.P9_39;
var center_IR_sensor = pins.P9_40;
var right_IR_sensor = pins.P9_37;
var left_motor_pin = pins.P9_14;
var right_motor_pin = pins.P9_16;
var rearRight_motor_pin = pins.P8_13;
var rearLeft_motor_pin = pins.P8_19;
var left_motor_for_rev = pins.P9_23;
var rearLeft_motor_for_rev = pins.P9_23;
var right_motor_for_rev = pins.P9_25;
var rearRight_motor_for_rev = pins.P9_25;
var left_sensor_value;
var center_sensor_value;
var right_sensor_value;
b.pinMode(left_motor_pin, b.OUTPUT);
b.pinMode(rearLeft_motor_pin, b.OUTPUT);
b.pinMode(right_motor_pin, b.OUTPUT);
b.pinMode(rearRight_motor_pin, b.OUTPUT);
b.pinMode(left_motor_for_rev, b.OUTPUT);
b.pinMode(rearLeft_motor_for_rev, b.OUTPUT);
b.pinMode(right_motor_for_rev, b.OUTPUT);
b.pinMode(rearRight_motor_for_rev, b.OUTPUT);
while(1)
{
left_sensor_value = b.analogRead(left_IR_sensor);
center_sensor_value = b.analogRead(center_IR_sensor);
right_sensor_value = b.analogRead(right_IR_sensor);
if((left_sensor_value != 0.714)&&
(center_sensor_value <= 0.714)&&
(right_sensor_value > 0.714))
{
b.digitalWrite(left_motor_pin, b.HIGH);
b.analogWrite(left_motor_pin, 0.7);
b.digitalWrite(rearLeft_motor_pin, b.HIGH);
b.analogWrite(rearLeft_motor_pin, 0.7);
b.digitalWrite(right_motor_pin, b.LOW);
b.analogWrite(right_motor_pin, 0);
b.digitalWrite(rearRight_motor_pin, b.LOW);
b.analogWrite(rearRight_motor_pin, 0);
}
b.pinMode('P9_14', b.OUTPUT);
b.analogWrite('P9_14', 0, 2000.0, printStatus);
b.pinMode('P9_16', b.OUTPUT);
b.analogWrite('P9_16', 0, 2000.0, printStatus);
b.pinMode('P8_13', b.OUTPUT);
b.analogWrite('P8_13', 0, 2000.0, printStatus);
b.pinMode('P8_19', b.OUTPUT);
b.analogWrite('P8_19', 0, 2000.0, printStatus);
function printStatus(x) {
console.log('x.value = ' + x.value);
console.log('x.err = ' + x.err);
}
}