Акселерометр тройка.

Тема в разделе "Arduino & Shields", создана пользователем 127486, 1 мар 2018.

  1. 127486

    127486 Нуб

    Всем привет.
    Подскажите кто сталкивался.
    Есть тройка акселерометр 2 шт., и 10 степеней свободы.
    Зависают на разных ардуинках, без каких то видимых причин.
    Пришлось даже сделать watchdog, но пропуски естественно остались.
    Что может быть, где копать?
     

    Вложения:

  2. ELITE

    ELITE Гик

    питание...ошибки в прошивке (коде)
     
  3. 127486

    127486 Нуб

    Питание слеланно http://www.stefanocottafavi.com/wp-content/uploads/2015/05/ywrobot-1024x676.png

    Пробовал скетчем работать и avr , всеровно зависает, потому врятли проблема в коде, завтра выложу его.

    Единственное что попробую кондер на ноги модуля тройки.
     
  4. 127486

    127486 Нуб

    Код (C++):
    [code]
    // библиотека для работы I²C
    #include <Wire.h>
    // библиотека для работы с модулями IMU
    #include <TroykaIMU.h>
    // создаём объект для работы с акселерометром
    Accelerometer accel;
    void setup()
    {
      // открываем последовательный порт
      Serial.begin(115200);
      // выводим сообщение о начале инициализации
      Serial.println("Accelerometer init...");
      // инициализация акселерометра
      accel.begin();
      // устанавливаем чувствительность акселерометра
      // 2g — по умолчанию, 4g, 8g
      accel.setRange(RANGE_2G);
      // выводим сообщение об удачной инициализации
      Serial.println("Initialization completed");
    }
    void loop()
    {
      // вывод направления и величины ускорения в м/с² по оси X
      Serial.print(accel.readAX());
      Serial.print("\t\t");
      // вывод направления и величины ускорения в м/с² по оси Y
      Serial.print(accel.readAY());
      Serial.print("\t\t");
      // вывод направления и величины ускорения в м/с² по оси Z
      Serial.print(accel.readAZ());
      Serial.print("\t\t");
      Serial.println("");
      delay(100);
      /*
      // вывод направления и величины ускорения в м/с² по X, Y и Z
      float x, y, z;
      accel.readAXYZ(&x, &y, &z);
      Serial.print(x);
      Serial.print("\t\t");
      Serial.print(y);
      Serial.print("\t\t");
      Serial.print(z);
      Serial.println("");
      delay(100);
      */

    }
     
    [/code]
     
  5. 127486

    127486 Нуб

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