#include #include #include 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); }