pxt-calliope/docs/reference/input/rotation.md

61 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2016-03-26 00:47:20 +01:00
# Rotation
2016-11-02 01:44:37 +01:00
Find how much the @boardname@ is tilted in different directions.
2016-03-26 00:47:20 +01:00
```sig
input.rotation(Rotation.Roll);
```
## ~hint
The @boardname@ has a part called the **accelerometer** that can
check how the @boardname@ is moving. Watch this video to learn how the accelerometer works:
https://www.youtube.com/watch?v=byngcwjO51U
## ~
## Parameters
2016-03-26 00:47:20 +01:00
2016-07-15 23:53:52 +02:00
* ``kind`` means which direction you are checking: `Rotation.Pitch` (up and down) or `Rotation.Roll` (left and right)
2016-03-26 00:47:20 +01:00
## Returns
2016-03-26 00:47:20 +01:00
* a [number](/types/number) that means how much the @boardname@ is tilted in the direction you ask for. This is a value in degrees between `-180` to `180` in either the `Rotation.Pitch` or the `Rotation.Roll` direction of rotation.
2016-03-26 00:47:20 +01:00
## Example: @boardname@ leveler
2016-03-26 00:47:20 +01:00
This program helps you move the @boardname@ until it is level. When it is level, the @boardname@ shows a smiley.
If you are running this program in a browser, you can tilt the @boardname@ with your mouse.
```blocks
let pitch = 0;
2016-03-26 00:47:20 +01:00
basic.forever(() => {
pitch = input.rotation(Rotation.Pitch);
let roll = input.rotation(Rotation.Roll);
2016-03-26 00:47:20 +01:00
if (Math.abs(pitch) < 10 && Math.abs(roll) < 10) {
basic.showLeds(`
. # . # .
. . . . .
. . . . .
# . . . #
. # # # .
`);
2016-03-26 00:47:20 +01:00
} else {
basic.showLeds(`
# . . . #
. # . # .
. . # . .
. # . # .
# . . . #
`);
}
});
2016-03-26 00:47:20 +01:00
```
## See also
2016-03-26 00:47:20 +01:00
2016-04-13 17:27:45 +02:00
[acceleration](/reference/input/acceleration), [compass-heading](/reference/input/compass-heading)
2016-03-26 00:47:20 +01:00