Помогите разобраться с программой

KBSH
Offline
Зарегистрирован: 21.05.2014

В языке ориентируюсь слабо, поэтому нужны небольшие комментарии, что делается в каждом конкретном блоке программы. Программа имитирует компьютерную мышь.
В идеале хотелось бы получить комментарии к каждой строке кода.

Готов за это заплатить)

#include <Wire.h>
#include <I2Cdev.h>
#include <MPU6050.h>

#define LBUT  4
#define RBUT  5

MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;

int angleToDistance(int a) {
  if (a < -80) {
    return -40;
  }
  else if (a < -65) {
    return -20;
  }
  else if (a < -50) {
    return -10;
  }
  else if (a < -15) {
    return -5;
  }
  else if (a < -5) {
    return -1;
  }
  else if (a > 80) {
    return 40;
  }
  else if (a > 65) {
    return 20;
  }
  else if (a > 15) {
    return 10;
  }
  else if (a > 5) {
    return 1;
  }
  else {
    return 0;
  }
}

void setup() {
  pinMode(LBUT, INPUT);
  digitalWrite(LBUT, HIGH);
  pinMode(RBUT, INPUT);
  digitalWrite(RBUT, HIGH);
  Wire.begin();
  mpu.initialize();
  if (!mpu.testConnection()) {
    while (1);
  }
}

void loop() {
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  int vx = map(ax, -16000, 16000, 90, -90);
  int vy = map(ay, -16000, 16000, 90, -90);
  Mouse.move(angleToDistance(vx), angleToDistance(vy));
  if (digitalRead(LBUT) == LOW) {
    if (!Mouse.isPressed(MOUSE_LEFT)) {
      Mouse.press(MOUSE_LEFT);
    }
  }
  else {
    if (Mouse.isPressed(MOUSE_LEFT)) {
      Mouse.release(MOUSE_LEFT);
    }
  }
  if (digitalRead(RBUT) == LOW) {
    if (!Mouse.isPressed(MOUSE_RIGHT)) {
      Mouse.press(MOUSE_RIGHT);
    }
  }
  else {
    if (Mouse.isPressed(MOUSE_RIGHT)) {
      Mouse.release(MOUSE_RIGHT);
    }
  }
  delay(20);
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

KBSH пишет:

Готов за это заплатить)

Если так, то Вам вот сюда.

Только напрасно - деньги зря потратите. Для начала прочитайте вот это, а уж если и тогда останутся вопросы, тогда уж приходите.

KBSH
Offline
Зарегистрирован: 21.05.2014

За совет спасибо, но у меня нет задачи изучить язык досконально. Мне бы найти партнера-программиста, который сможет написать программу, выполняющую то что мне нужно.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, тогда Вам точно по той ссылке. что я Вам дал. Там за денюшку всё напишут. Здесь не пишут программ, здесь помогают оибку найти.