Skip to content

Commit 6c90a40

Browse files
committed
пример с новыми методами
1 parent 887336c commit 6c90a40

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
/*
2+
* ReadDegreesAndRadiansAngle_Serial
3+
*
4+
* Демонстрация вывода значений угла в градусах и угла в радианых
5+
* от датчика AS5600 в "Монитор порта"
6+
*
7+
* Подключение:
8+
* AS5600 Board
9+
* VCC -> +3V3
10+
* GND -> GND
11+
* DIR -> GND
12+
* SDA -> SDA
13+
* SCL -> SCL
14+
*
15+
* Проверка:
16+
* 1. Подключить датчик согласно распиновке
17+
* 2. Загрузить скетч в плату
18+
* 3. Открыть "Монитор порта"
19+
* 4. Менять положение магнита
20+
*
21+
* Примечания:
22+
* 1. Если используется плата с логическими уровнями 5В, то
23+
* необходимо удалить резистор R1 (0 Ом) с платы датчика,
24+
* а вывод VCC подкючить к 5В питанию!
25+
*
26+
* Документация к датчику:
27+
* https://ams.com/documents/20143/36005/AS5600_DS000365_5-00.pdf
28+
*
29+
* Контакты:
30+
** YouTube - https://www.youtube.com/channel/UCbkE52YKRphgkvQtdwzQbZQ
31+
** Telegram - https://www.t.me/slabyt
32+
** GitHub - https://github.com/S-LABc
33+
** Gmail - romansklyar15@gmail.com
34+
*
35+
* Copyright (C) 2022. v1.0 / Скляр Роман S-LAB
36+
*/
37+
38+
// Подключаем библиотеку
39+
#include <AMS_AS5600.h>
40+
41+
// Раскомментировать, если используется второй аппаратный блок I2C у платы
42+
//TwoWire Wire2 (2, I2C_FAST_MODE);
43+
//#define Wire Wire2
44+
45+
// Создаем объект Sensor с указанием ссылки на объект Wire
46+
AS5600 Sensor(&Wire);
47+
48+
void setup() {
49+
Serial.begin(115200);
50+
51+
// Запускаем соединение
52+
Sensor.begin();
53+
// Настраиваем шину I2C на 400кГц
54+
Sensor.setClock();
55+
56+
// Пока не подключен датчик
57+
while (!Sensor.isConnected()) {
58+
// Выводим сообщение об отсутствии датчика
59+
Serial.println("AS5600 not detected!");
60+
delay(1000);
61+
}
62+
// Выводим сообщение о наличии датчика
63+
Serial.println("AS5600 detected!");
64+
65+
// Пока датчик не обнаружил магнит
66+
while (!Sensor.isMagnetDetected()) {
67+
// Выводим сообщение об отсутствии магнита
68+
Serial.println("Magnet not detected!");
69+
delay(1000);
70+
}
71+
// Выводим сообщение о наличии магнита
72+
Serial.println("Magnet detected!");
73+
}
74+
75+
void loop() {
76+
// Выводим значения в градусах (от 0.00 до 360.00)
77+
Serial.print("Degrees Angle: ");
78+
Serial.println(Sensor.getDegreesAngle()); // RawAngle*360/4096
79+
80+
// Выводим значения в радианах (от 0.00 - 6.29)
81+
Serial.print("Radians Angle: ");
82+
Serial.println(Sensor.getRadiansAngle()); // DegreesAngle*pi/180
83+
84+
// Разделение и задержка
85+
Serial.println();
86+
delay(100);
87+
}

0 commit comments

Comments
 (0)