Skip to content

Пример

Roman edited this page Dec 19, 2022 · 5 revisions

Для более полного понимания, смотрите примеры

Для AS5600

Описание

  1. Подключить библиотеку (класс) AMS_AS5600.h
#include <AMS_AS5600.h>
  1. Создать объект класса AS5600 с подходящим именем. В данном примере Sensor
AS5600 Sensor(&Wire);
  1. В блоке setup вызвать метод begin() для запуска шины I2C и setClock() для установки частоты шины на 400 кГц. Другие методы тут тоже работают

Эти методы можно не использовать, если другая(ие) библиотека(и) выполняет(ют) те же действия раньше, например в своем конструкторе. Для ESP8266 и ESP32 доступна перегрузка с возможностью указать SDA и SCL выводы микроконтроллера

void setup() {
  Sensor.begin();
  //Sensor.begin(33, 32); // Для ESP8266 и ESP32. SDA=33 SCL=32
  Sensor.setClock();
}
  1. В блоке loop вызывать методы настройки, получения значений, смены направления, и т.д.
void loop() {
  word angle_adc = Sensor.getRawAngle();
}

Итог

#include <AMS_AS5600.h>

AS5600 Sensor(&Wire);

void setup() {
  Sensor.begin();
  Sensor.setClock();
}

void loop() {
  word angle_adc = Sensor.getRawAngle();
}

Для AS5600L

Описание

  1. Подключить библиотеку (класс) AMS_AS5600L.h
#include <AMS_AS5600L.h>
  1. Создать объект класса AS5600L с подходящим именем. В данном примере Sensor. Адрес датчика по умолчанию 0x40
AS5600 Sensor(&Wire, uint8_t _iic_address = AS5600L_DEFAULT_I2C_ADDRESS);
  1. В блоке setup вызвать метод begin() для запуска шины I2C и setClock() для установки частоты шины на 400 кГц. Другие методы тут тоже работают

Эти методы можно не использовать, если другая(ие) библиотека(и) выполняет(ют) те же действия раньше, например в своем конструкторе. Для ESP8266 и ESP32 доступна перегрузка с возможностью указать SDA и SCL выводы микроконтроллера

void setup() {
  Sensor.begin();
  //Sensor.begin(33, 32); // Для ESP8266 и ESP32. SDA=33 SCL=32
  Sensor.setClock();
}
  1. В блоке loop вызывать методы настройки, получения значений, смены направления, и т.д.
void loop() {
  word angle_adc = Sensor.getRawAngle();
}

Итог

#include <AMS_AS5600L.h>

AS5600L Sensor(&Wire); // I2C адрес 0x40

void setup() {
  Sensor.begin();
  Sensor.setClock();
}

void loop() {
  word angle_adc = Sensor.getRawAngle();
}