Ruslan_nig

baseCodeTest1

Dec 15th, 2021 (edited)
635
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //простой код для тестирования трёх двигателей tetrix на двух контроллерах с ID 1 и 2
  2. #include <Wire.h>
  3. uint8_t id = 1;
  4. void setup() {
  5.       Wire.begin();//инициализируем библиотеку wire
  6.       Serial.begin(9600);
  7.       Wire.beginTransmission(id);
  8.       Wire.write(0x25);//controller enable
  9.       Wire.endTransmission();
  10.   Wire.beginTransmission(id);
  11.   Wire.write(0x42);//если отправить только эту строку, двигатели останавливаются
  12.   Wire.write(0x0a);//от 0 до 64 в hex формате задаёт мощность; от 80-HEX (128 dec) до 96 - в обратн сторону
  13.                     //от 245 (hex 0xf5) до 255 (hex 0xff) стоим пищим, видимо мощности не хватает
  14.                     //0x7d (dec 125) stop brake mode - резко
  15.   Wire.write(0x0a);
  16.   Wire.endTransmission();
  17.   delay(3000);
  18.   Wire.beginTransmission(id);
  19.   Wire.write(0x42);
  20.   Wire.write(0x00);
  21.   Wire.endTransmission();
  22.   delay(500);
  23.   Wire.beginTransmission(id);
  24.   Wire.write(0x42);
  25.   Wire.write(0xf4);
  26.   Wire.write(0xf4);
  27.   Wire.endTransmission();
  28.   delay(3000);
  29.   Wire.beginTransmission(id);
  30.   Wire.write(0x42);
  31.   Wire.write(0x00);
  32.   Wire.endTransmission();
  33.  
  34.   //теперь для драйвера id=2
  35.       Wire.beginTransmission(2);
  36.       Wire.write(0x25);//controller enable
  37.       Wire.endTransmission();
  38.      
  39.   Wire.beginTransmission(2);
  40.   Wire.write(0x40);//если отправить только эту строку, двигатели останавливаются
  41.   Wire.write(0x0a);//от 0 до 64 в hex формате задаёт мощность; от 80-HEX (128 dec) до 96 - в обратн сторону
  42.   Wire.endTransmission();
  43.   delay(3000);
  44.  
  45.   Wire.beginTransmission(2);
  46.   Wire.write(0x40);
  47.   Wire.write(0x00);
  48.   Wire.endTransmission();
  49.   delay(500);
  50.  
  51.   Wire.beginTransmission(2);
  52.   Wire.write(0x40);
  53.   Wire.write(0xf4);
  54.   Wire.endTransmission();
  55.   delay(3000);
  56.  
  57.   Wire.beginTransmission(2);
  58.   Wire.write(0x40);
  59.   Wire.write(0x00);
  60.   Wire.endTransmission();
  61. }
  62.  
  63. void loop() {
  64.  
  65. }
Add Comment
Please, Sign In to add comment