Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //с нужной скоростью прокручивается нужное количество оборотов
- #include <Wire.h>
- uint8_t id = 1;
- void setup() {
- Wire.begin();//инициализируем библиотеку wire
- Wire.beginTransmission(id);
- Wire.write(0x25);//controller enable
- Wire.endTransmission();
- Wire.beginTransmission(id);
- //encoder count motor1, всего 6 байт в команде
- Wire.write(0x46);
- Wire.write(0x01);//два первые байта это скорость в градусах в сек
- Wire.write(0x68);//hex0168 - это 360 гр/сек
- //следующие 4 байта это количество отсчётов энкодера
- //с редуктором 60:1 у енкодера 1440 импульсов на оборот; здесь для примера hex05a0 = dec1440 = 1 оборот
- //вал прокручивается один оборот и держит позицию
- //после прокрутки енкодер запоминает позицию, чтобы заново выполнить оборот надо ресетить контроллер, например питанием
- Wire.write(0x00);
- Wire.write(0x00);
- Wire.write(0x05);
- Wire.write(0xa0);
- Wire.endTransmission();
- }
- void loop() {
- }
Advertisement
Add Comment
Please, Sign In to add comment