0
Καλησπέρα και καλό μήνα σε όλους!
Θα ήθελα χρησιμοποιώντας τον αισθητήρα MPU6050 να κάνω το εξής:
Ο αισθητήρας είναι τοποθετημένος εξ αρχής οριζόντια. Μόλις περιστραφεί στους άξονες Χ ή Υ πάνω από 60 ή -60 περίπου μοίρες, να δώσει εντολή να περιστραφούν κατά 90 μοίρες δύο σερβο (ανάλογα σε ποιόν άξονα έχουμε περιστροφή) και να παραμείνουν σε αυτή τη θέση τα σερβο.
Βρήκα τον παρακάτω κώδικα σε ένα βίντεο του YouTube για την κατασκευή gimbal (τον πιο απλό που κατάφερα να βρω) και τον τροποποίησα. Επειδή δεν είμαι και πολύ σχετικός με τον προγραμματισμό μπορεί κάποιος να μου πει αν θα δουλέψει για το σκοπό που το θέλω; (δεν έχω ακόμα και το MPU6050 για να κάνω πειραματισμούς)
Ευχαριστώ!
gimbal code: https://gist.github.com/emretezcan/8...26345b484196f6
Τροποποίηση:
#include <SPI.h>
#include <MPU6050.h>
#include <Servo.h>
MPU6050 ACC_GYR;
int16_t accx, accy, accz;
int16_t gyrx, gyry, gyrz;
int deger ,deger2;
int a=0;
Servo s1,s2;
void setup() {
ACC_GYR.initialize();
Serial.begin(9600);
s1.attach(3);
s2.attach(4);
s1.write(a);
s2.write(a);
}
void loop() {
ACC_GYR.getMotion6(&accx, &accy, &accz, &gyrx, &gyry ,&gyrz);
deger=map(accx,-17000,17000,0,179);
deger2=map(accy,-17000,17000,0,179);
if(deger>160){
s1.write(90);
}
if(deger<30){
s1.write(90);
}
if(deger2>160){
s2.write(90);
}
if(deger2<30){
s2.write(90);
}
}