Ruslan_nig

Tetrix_0x46

Mar 19th, 2022
1,092
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //с нужной скоростью прокручивается нужное количество оборотов
  2. #include <Wire.h>
  3. uint8_t id = 1;
  4. void setup() {
  5.       Wire.begin();//инициализируем библиотеку wire
  6.       Wire.beginTransmission(id);
  7.       Wire.write(0x25);//controller enable
  8.       Wire.endTransmission();
  9.      
  10.   Wire.beginTransmission(id);
  11.  
  12.   //encoder count motor1, всего 6 байт в команде
  13.   Wire.write(0x46);
  14.  
  15.   Wire.write(0x01);//два первые байта это скорость в градусах в сек
  16.   Wire.write(0x68);//hex0168 - это 360 гр/сек
  17.  
  18.   //следующие 4 байта это количество отсчётов энкодера
  19.   //с редуктором 60:1 у енкодера 1440 импульсов на оборот; здесь для примера hex05a0 = dec1440 = 1 оборот
  20.   //вал прокручивается один оборот и держит позицию
  21.   //после прокрутки енкодер запоминает позицию, чтобы заново выполнить оборот надо ресетить контроллер, например питанием
  22.   Wire.write(0x00);
  23.   Wire.write(0x00);
  24.   Wire.write(0x05);
  25.   Wire.write(0xa0);
  26.   Wire.endTransmission();
  27.  
  28. }
  29.  
  30. void loop() {
  31.  
  32. }
Advertisement
Add Comment
Please, Sign In to add comment