#include <OneWire.h>
#include <DallasTemperature.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu; //объявление сенсора MPU6050
#define ONE_WIRE_BUS 2 //цепляем линию по 2 порту
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire); //определяем их
//SFE_BMP180 pressure;
void setup() { //функция выполняется 1 раз при запуске Arduino
Serial.begin(115200); //запускает канал между портом Arduino и портом компьютера, по которому они общаются (т.е. передают текстовую информацию). 115200 - это скорость "Общения"
// Try to initialize!
if (!mpu.begin()) {//проверка на работу сенсора акселерометра. Будет перезапускаться до тех пор, пока не подключится сенсор
Serial.println("Failed to find MPU6050 chip");
while (1) {
delay(10);
}
}
sensors.begin(); // Инициализация шины (желтый и оранжевый провода)
}
void loop() { //повторяется на постоянной основе, до тех пор пока на ардуино будет идти питание
sensors.requestTemperatures(); // запрос на получение температуры с датчика (функция описана в библиотеке <DallasTemperature.h>)
Serial.println("");
Serial.print("Sensor Temperature: ");
// Отображаем значение температуры датчика
Serial.print(sensors.getTempCByIndex(0));
Serial.println("");
/* Get new sensor events with the readings */
sensors_event_t a, g, temp; //получение информации с сенсора MPU6050
mpu.getEvent(&a, &g, &temp);
/* Print out the values */
Serial.print(a.acceleration.x); //значения с акселерометра по осям x, y, z (Здесь и далее)
Serial.print(",");
Serial.print(a.acceleration.y);
Serial.print(",");
Serial.print(a.acceleration.z);
Serial.print(", ");
Serial.print(g.gyro.x);//значения с гироскопа по осям x, y, z (здесь и далее)
Serial.print(",");
Serial.print(g.gyro.y);
Serial.print(",");
Serial.print(g.gyro.z);
Serial.println("");
delay(1000);
}