Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* SD card attached to SPI bus as follows:
- ** MOSI - pin 11
- ** MISO - pin 12
- ** CLK - pin 13
- ** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN) */
- //Carrega a biblioteca SPI
- #include <SPI.h>
- //Carrega a biblioteca SD
- #include <SD.h>
- //Carrega a biblioteca Wire
- #include<Wire.h>
- //Endereco I2C do MPU6050
- const int MPU=0x68;
- //Arquivo
- File myFile;
- //Variaveis para armazenar valores dos sensores
- int AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;
- unsigned long time=0;
- int cont=0;
- void setup(){
- Serial.begin(9600);
- Wire.begin();
- Wire.beginTransmission(MPU);
- Wire.write(0x6B);
- //Inicializa o MPU-6050
- Wire.write(0);
- Wire.endTransmission(true);
- if (!SD.begin(4)) {
- Serial.println("initialization failed!");
- return;
- }
- myFile = SD.open("test.txt", FILE_WRITE);
- if (myFile) {
- myFile.println("");
- }
- //myFile.close();
- }
- void loop(){
- Wire.beginTransmission(MPU);
- Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
- Wire.endTransmission(false);
- //Solicita os dados do sensor
- Wire.requestFrom(MPU,14,true);
- //Armazena o valor dos sensores nas variaveis correspondentes
- AcX=Wire.read()<<8|Wire.read(); //0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
- AcY=Wire.read()<<8|Wire.read(); //0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
- AcZ=Wire.read()<<8|Wire.read(); //0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
- Tmp=Wire.read()<<8|Wire.read(); //0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)
- GyX=Wire.read()<<8|Wire.read(); //0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
- GyY=Wire.read()<<8|Wire.read(); //0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
- GyZ=Wire.read()<<8|Wire.read(); //0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
- //Mostra os valores na serial
- Serial.print("Acel. X = "); Serial.print(AcX);
- Serial.print(" | Y = "); Serial.print(AcY);
- Serial.print(" | Z = "); Serial.print(AcZ);
- Serial.print(" | Gir. X = "); Serial.print(GyX);
- Serial.print(" | Y = "); Serial.print(GyY);
- Serial.print(" | Z = "); Serial.print(GyZ);
- Serial.print(" | Temp = "); Serial.println(Tmp/340.00+36.53);
- time = millis();
- if (myFile) {
- myFile.print(time);
- myFile.print(";");
- myFile.print(GyX);
- myFile.print(";");
- myFile.print(GyY);
- myFile.print(";");
- myFile.println(GyZ);
- }
- if(cont==200){
- myFile.close();
- cont = 0;
- myFile = SD.open("test.txt", FILE_WRITE);
- }
- cont++;
- //Aguarda 150 ms e reinicia o processo
- delay(10);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement