Инструменты пользователя

Инструменты сайта


rotator_control_5600
#include <Wire.h>
#include <AS5600.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Адрес дисплея
AS5600 as5600;                       // Датчик угла

void setup() {
  // Инициализация дисплея (ДОЛЖНА БЫТЬ МГНОВЕННОЙ)
  lcd.begin();
  lcd.backlight();
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("CONFIGURE");
  lcd.setCursor(0, 1);
  lcd.print("CONTRAST NOW!");

  // Ждем 3 секунды, чтобы вы настроили контраст
  delay(3000);
  lcd.clear();
  lcd.print("Testing...");

  // Проверяем датчик (ТОЛЬКО С МАГНИТОМ!)
  Wire.begin();
  if (as5600.begin()) {
    lcd.setCursor(0, 1);
    lcd.print("Sensor OK");
    delay(1000);
  } else {
    lcd.setCursor(0, 1);
    lcd.print("NO SENSOR!");
    while(1); // Стоп, если датчик не найден
  }
  lcd.clear();
}

void loop() {
  // Читаем угол (работает ТОЛЬКО с магнитом)
  int raw = as5600.readAngle();
  float angle = (raw * 360.0) / 4096.0;

  // Выводим на дисплей
  lcd.setCursor(0, 0);
  lcd.print("Angle: ");
  lcd.print(angle, 1);
  lcd.print("   "); // Стираем хвост

  lcd.setCursor(0, 1);
  lcd.print("RAW: ");
  lcd.print(raw);
  lcd.print("    ");

  delay(300);
}
rotator_control_5600.txt · Последнее изменение: eu8t