Arduino Polska Forum

Pełna wersja: Akcelerometr działa tylko przy włączonej aplikacji Arduino, dlaczego?
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Sprawa wygląda tak: programuję Arduino Micro, wszystko gra, dopóki jest podłączone przez kabel usb i dopóki jest włączona aplikacja Arduino na PC. Gdy zamknę aplikację na PC, program przestaje działać. Ktoś wie dlaczego?
P.S: program to tylko przykład, ma działać w ten sposób: obracam czujnikiem wokół jednej z osi w lewo: zapala się jedna dioda, obracam w drugim kierunku: zapala się druga. Gdy przestaję obracać dioda jedna i druga gaśnie.
Testowałem kilka różnych programów znalezionych w Sieci, ale we wszystkich to samo.
Natknąłem się na dwie biblioteki MPU6050, jedna działa druga nie, niestety nie wiem na jakich stronach się znajdowały, w załączniku ta, która na 100% działa.
Jeśli
Kod:
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
int button = 0;

   void setup()
   {
     Serial.begin(115200);
     pinMode(15, INPUT);
     pinMode(10, OUTPUT);
     pinMode(16, OUTPUT);
     
     Serial.println("Inicjalizacja MPU6050");
     while(!mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G))
     {
       Serial.println("Nie mozna znalezc MPU6050 - sprawdz polaczenie!");
       delay(500);
     }
   
     
     mpu.calibrateGyro(); // Kalibracja żyroskopu
     mpu.setThreshold(1); // Ustawienie czułości
   }
   
   void loop()
   {
     Vector rawGyro = mpu.readRawGyro();
     Vector normGyro = mpu.readNormalizeGyro();
   
     //Serial.print(" Yraw = ");
     //Serial.print(rawGyro.YAxis);
     //Serial.print(" Zraw = ");
     //Serial.println(rawGyro.ZAxis);
   
     Serial.print(" Ynorm = ");
     Serial.print(normGyro.YAxis);
     Serial.print(" Znorm = ");
     Serial.println(normGyro.ZAxis);

   if (normGyro.ZAxis > 1) {
   digitalWrite(16, HIGH);
 }
   else{
   digitalWrite(16, LOW);
   }
   if (normGyro.ZAxis < -1) {
   digitalWrite(10, HIGH);
 }
 else{
   digitalWrite(10, LOW);
   }


   //delay(2);
   }
Witam,
Kilka razy zdarzyło mi się, że poprawnie działające programy na Uno nie chciały działać na Micro, choć teoretycznie powinny (oczywiście przy uwzględnieniu, że programowana jest inna płytka). Proponowałbym więc spróbować program na Uno.
pozdrawiam,
Tomek.