Помогите разобраться с программой
- Войдите на сайт для отправки комментариев
Чт, 21/01/2016 - 12:13
В языке ориентируюсь слабо, поэтому нужны небольшие комментарии, что делается в каждом конкретном блоке программы. Программа имитирует компьютерную мышь.
В идеале хотелось бы получить комментарии к каждой строке кода.
Готов за это заплатить)
#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);
}
Готов за это заплатить)
Если так, то Вам вот сюда.
Только напрасно - деньги зря потратите. Для начала прочитайте вот это, а уж если и тогда останутся вопросы, тогда уж приходите.
За совет спасибо, но у меня нет задачи изучить язык досконально. Мне бы найти партнера-программиста, который сможет написать программу, выполняющую то что мне нужно.
Ну, тогда Вам точно по той ссылке. что я Вам дал. Там за денюшку всё напишут. Здесь не пишут программ, здесь помогают оибку найти.