Content-Length: 312033 | pFad | http://github.com/philipphenkel/pxt-powerfunctions

53 GitHub - philipphenkel/pxt-powerfunctions: MakeCode extension for controlling your LEGO Power Functions devices with an IR-emitting LED
Skip to content

philipphenkel/pxt-powerfunctions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Power Functions IR Sender

Build Status

Control your LEGO® Power Functions motors using your micro:bit or Calliope-Mini, an infrared LED and MakeCode. This extension turns your device into a remote control for your Power Functions devices.

A project using this extension is documented on hackster.io

Installation

Open MakeCode and select '+ Extensions' in the 'Advanced' menu. You need to enter our project URL https://github.com/philipphenkel/pxt-powerfunctions in the search field, hit return and then select the powerfunctions extension.

Documentation

powerfunctions.connectIrLed

Configures the infrared LED pin. A 940 nm emitting diode is required.

powerfunctions.connectIrLed(AnalogPin.P0)

Parameters

  • pin - analog pin with an attached IR-emitting LED

powerfunctions.setSpeed

Sets the speed of a motor.

powerfunctions.setSpeed(PowerFunctionsMotor.Red1, 3)

Parameters

  • motor - the motor
  • speed - the speed of the motor from -7 to 7.

powerfunctions.brake

Brakes then float. The motor's power is quickly reversed and thus the motor will stop abruptly.

powerfunctions.brake(PowerFunctionsMotor.Red1)

Parameters

  • motor - the motor

powerfunctions.float

Floats a motor to stop. The motor's power is switched off and thus the motor will roll to a stop.

powerfunctions.float(PowerFunctionsMotor.Red1)

Parameters

  • motor - the motor

powerfunctions.setMotorDirection

Configures a motor direction.

powerfunctions.setMotorDirection(PowerFunctionsMotor.Red1, PowerFunctionsDirection.Right)

Parameters

  • motor - the motor
  • direction - the direction of the motor

MakeCode Example

basic.showIcon(IconNames.Heart);
powerfunctions.connectIrLed(AnalogPin.P1);

powerfunctions.setMotorDirection(
  PowerFunctionsMotor.Blue1,
  PowerFunctionsDirection.Backward
);

input.onButtonPressed(Button.A, () => {
  powerfunctions.setSpeed(PowerFunctionsMotor.Blue1, 3);
});

input.onButtonPressed(Button.B, () => {
  powerfunctions.float(PowerFunctionsMotor.Blue1);
});

basic.forever(() => {
  led.plotBarGraph(input.lightLevel(), 255);

  if (input.lightLevel() > 200) {
    powerfunctions.float(PowerFunctionsMotor.Blue1);
    basic.pause(5000);
    powerfunctions.setSpeed(PowerFunctionsMotor.Blue1, 2);
    basic.pause(3000);
  }
});

Disclaimer

LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this project.

License

Copyright (C) 2017-2020 Philipp Henkel

Licensed under the MIT License (MIT). See LICENSE file for more details.

Supported targets

  • for PXT/microbit








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/philipphenkel/pxt-powerfunctions

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy