# Класс «gyroscope»

Представляет [гироскоп](/trik/programming-code/object-brick.md#gyroscope) контроллера ТРИК. В состоянии покоя среднее значение выходного сигнала гироскопа не равно нулю и называется **смещением нуля** (`bias`) или **систематической ошибкой** (`bias error`).

Параметр обусловлен многими факторами и может изменяться, например, в зависимости от окружающей температуры.

Для правильной работы гироскопа необходимо вычитать смещение нуля из приходящих значений. Вычислить его можно с помощью метода «[calibrate](/trik/programming-code/object-brick/class-gyroscope.md#calibrate)».

Так как калибровка занимает длительное время, то при частом запуске модели можно выполнять ее один раз, после чего запоминать значение в переменную с помощью «[getCalibrationVaules»](/trik/programming-code/object-brick/class-gyroscope.md#getcalibrationvalues), а при запуске программы вместо калибровки вызывать «[setCalibrationValues](/trik/programming-code/object-brick/class-gyroscope.md#setcalibrationvalues)».

| Метод                                                                                               | Описание                                                                                                                          |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| [calibrate](/trik/programming-code/object-brick/class-gyroscope.md#calibrate)                       | Вычисляет смещением нуля в течение указанного времени и инициализирует гироскоп этим параметром, сбрасывает текущие углы наклона. |
| [getCalibrationValues](/trik/programming-code/object-brick/class-gyroscope.md#getcalibrationvalues) | Возвращает объект, в котором содержатся необходимые данные о смещении нуля.                                                       |
| [isCalibrated](/trik/programming-code/object-brick/class-gyroscope.md#iscalibrated)                 | Возвращает true в случае завершении калибровки, false — в противном случае.                                                       |
| [read](/trik/programming-code/object-brick/class-gyroscope.md#read)                                 | Возвращает массив из семи элементов: угловые скорости по трем осям, время последнего замера, углы наклона по трем осям.           |
| [readRawData](/trik/programming-code/object-brick/class-gyroscope.md#readrawdata)                   | Возвращает массив из трех элементов с угловыми скоростями по трем осям.                                                           |
| [setCalibrationValues](/trik/programming-code/object-brick/class-gyroscope.md#setcalibrationvalues) | Устанавливает объект, содержащий необходимые параметры о смещении нуля.                                                           |

| Сигнал                                                                                            | Описание                                                       |
| ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| [calibrationFinished](/trik/programming-code/object-brick/class-gyroscope.md#calibrationfinished) | Сигнал, посылаемый сенсором после окончания калибровки.        |
| [newData](/trik/programming-code/object-brick/class-gyroscope.md#newdata)                         | Сигнал, посылаемый сенсором, когда у него готовы новые данные. |

## calibrate

Вычисляет смещение нуля в течение указанного времени и инициализирует гироскоп этим параметром, сбрасывает текущие углы наклона.Рекомендуемое время калибровки — 10−20 секунд.

#### Синтаксис

{% tabs %}
{% tab title="Python" %}

```
brick.gyroscope().calibrate(msec)
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
brick.gyroscope().calibrate(msec);
```

{% endtab %}
{% endtabs %}

В качестве параметра необходимо указать:

* `msec` — время в миллисекундах.

## calibrationFinished

Сигнал, посылаемый сенсором после окончания калибровки.

## getCalibrationValues

Возвращает объект, в котором содержатся необходимые данные о смещении нуля.

#### Синтаксис

{% tabs %}
{% tab title="Python" %}

```
brick.gyroscope().getCalibrationValues()
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
brick.gyroscope().getCalibrationValues();
```

{% endtab %}
{% endtabs %}

## isCalibrated

Возвращает `true` в случае завершении калибровки, `false` — в противном случае.

#### Синтаксис

{% tabs %}
{% tab title="Python" %}

```
brick.gyroscope().isCalibrated()
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
brick.gyroscope().isCalibrated();
```

{% endtab %}
{% endtabs %}

## newData

Сигнал, посылаемый сенсором, когда у него готовы новые данные.

## read

Возвращает массив из семи элементов:

* 0−2 — угловые скорости по трем осям (в миллиградусах/секунды),
* 3 — время последнего замера (в микросекундах),
* 4−6 — углы наклона по трем осям (в миллиградусах).

#### Синтаксис

{% tabs %}
{% tab title="Python" %}

```
brick.gyroscope().read()
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
brick.gyroscope().read();
```

{% endtab %}
{% endtabs %}

## readRawData

Возвращает массив из трех элементов с угловыми скоростями по трем осям.

#### Синтаксис

{% tabs %}
{% tab title="Python" %}

```
brick.gyroscope().readRawData()
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
brick.gyroscope().readRawData();
```

{% endtab %}
{% endtabs %}

## setCalibrationValues

Устанавливает объект, содержащий необходимые параметры о смещении нуля.&#x20;

{% hint style="warning" %}
Так как калибровка занимает длительное время, то при частом запуске модели можно выполнять ее один раз, после чего запоминать значение в переменную с помощью «[getCalibrationVaules](/trik/programming-code/object-brick/class-gyroscope.md#getcalibrationvalues)», а при запуске программы вместо калибровки вызывать «setCalibrationValues».
{% endhint %}

#### Синтаксис

{% tabs %}
{% tab title="Python" %}

```
brick.gyroscope().setCalibrationValues(values)
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
brick.gyroscope().setCalibrationValues(values);
```

{% endtab %}
{% endtabs %}

В качестве параметра необходимо указать:

* `values` — объект, содержащий данные о биасе.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.trikset.com/trik/programming-code/object-brick/class-gyroscope.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
