Duvida sobre Acelerômetros (valores retornados na leitura feita usando Arduíno) - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T05:22:24Zhttps://labdegaragem.com/forum/topics/duvida-sobre-aceler-metros-valores-retornados-na-leitura-feita?commentId=6223006%3AComment%3A708244&feed=yes&xn_auth=noPara isso recomendo fazer dir…tag:labdegaragem.com,2019-05-15:6223006:Comment:7082442019-05-15T03:54:47.987ZEduardohttps://labdegaragem.com/profile/EduardoHenriqueMarcondes
<p>Para isso recomendo fazer direto uma programação no excell em VBA.</p>
<p><a href="https://www.embarcados.com.br/serie/utilizando-o-excel-para-interagir-com-arduino-atraves-do-vba/">https://www.embarcados.com.br/serie/utilizando-o-excel-para-interagir-com-arduino-atraves-do-vba/</a></p>
<p></p>
<p>Para isso recomendo fazer direto uma programação no excell em VBA.</p>
<p><a href="https://www.embarcados.com.br/serie/utilizando-o-excel-para-interagir-com-arduino-atraves-do-vba/">https://www.embarcados.com.br/serie/utilizando-o-excel-para-interagir-com-arduino-atraves-do-vba/</a></p>
<p></p> Ola, sou novo do fórum e gost…tag:labdegaragem.com,2019-05-14:6223006:Comment:7082282019-05-14T19:03:05.036ZFelipe Ferreira dos Santoshttps://labdegaragem.com/profile/FelipeFerreiradosSantos
<p>Ola, sou novo do fórum e gostaria da ajuda </p>
<p></p>
<p>estou querendo exportar os resultados das leituras do giroscópio e acelerômetro para o excel, e com isso fazer gráficos. Como posso fazer?</p>
<p></p>
<p>segue meu código:</p>
<p></p>
<div><font style="background-color: #ffffff;">// Codigo adaptado de: Usuário do Arduino JohnChi</font></div>
<div><font style="background-color: #ffffff;">#include "Wire.h" //Biblioteca para comunicação I2C<br></br>#include "MPU6050.h" //Biblioteca…</font></div>
<p>Ola, sou novo do fórum e gostaria da ajuda </p>
<p></p>
<p>estou querendo exportar os resultados das leituras do giroscópio e acelerômetro para o excel, e com isso fazer gráficos. Como posso fazer?</p>
<p></p>
<p>segue meu código:</p>
<p></p>
<div><font style="background-color: #ffffff;">// Codigo adaptado de: Usuário do Arduino JohnChi</font></div>
<div><font style="background-color: #ffffff;">#include "Wire.h" //Biblioteca para comunicação I2C<br/>#include "MPU6050.h" //Biblioteca MPU6050<br/>#include "I2Cdev.h"</font></div>
<div><font style="background-color: #ffffff;">const int MPU_addr=0x68; //Endereço do sensor</font></div>
<div><font style="background-color: #ffffff;">int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ; //Variaveis para pegar os valores medidos</font></div>
<div><font style="background-color: #ffffff;">void setup(){<br/> Wire.begin(); //Inicia a comunicação I2C<br/> Wire.beginTransmission(MPU_addr); //Começa a transmissao de dados para o sensor<br/> Wire.write(0x6B); // registrador PWR_MGMT_1<br/> Wire.write(0); // Manda 0 e "acorda" o MPU 6050<br/> Wire.endTransmission(true);</font></div>
<div><font style="background-color: #ffffff;"> Serial.begin(9600); //Inicia a comunicaçao serial (para exibir os valores lidos)<br/>}<br/>void loop(){<br/> Wire.beginTransmission(MPU_addr); //Começa a transmissao de dados para o sensor<br/> Wire.write(0x3B); // registrador dos dados medidos (ACCEL_XOUT_H)<br/> Wire.endTransmission(false);<br/> Wire.requestFrom(MPU_addr,14,true); // faz um "pedido" para ler 14 registradores, que serão os registrados com os dados medidos<br/> AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)<br/> AcY=Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)<br/> AcZ=Wire.read()<<8|Wire.read(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)<br/> Tmp=Wire.read()<<8|Wire.read(); // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)<br/> GyX=Wire.read()<<8|Wire.read(); // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)<br/> GyY=Wire.read()<<8|Wire.read(); // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)<br/> GyZ=Wire.read()<<8|Wire.read(); // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)</font></div>
<div><font style="background-color: #ffffff;"> //Agora escreve os valores no monitor serial<br/> Serial.print("| AcX (m/s2) = "); Serial.print(AcX * (9.81/16384));<br/> Serial.print(" | AcY (m/s2) = "); Serial.print(AcY * (9.81/16384));<br/> Serial.print(" | AcZ (m/s2) = "); Serial.print(AcZ * (9.81/16384));<br/> Serial.print(" | Tmp (ºC) = "); Serial.print(Tmp/340.00+36.53); //Equação da temperatura em Cº de acordo com o datasheet<br/> Serial.print(" | GyX (deg/s) = "); Serial.print(GyX * (250.0/32768.0));<br/> Serial.print(" | GyY (deg/s) = "); Serial.print(GyY * (250.0/32768.0));<br/> Serial.print(" | GyZ (deg/s) = "); Serial.println(GyZ * (250.0/32768.0));<br/> delay(333);<br/>}</font></div> Mineirin, Vlw de mais mano! …tag:labdegaragem.com,2018-04-27:6223006:Comment:6688162018-04-27T03:27:50.308Zwesley alves rodrigueshttps://labdegaragem.com/profile/wesleyalvesrodrigues
<p>Mineirin, Vlw de mais mano! :)<br/>eu usei um codigo que encontrei na internet msm, e ele n esta usando a biblioteca msm n. mas isso da pra resolver, vou usar um que tenha a biblioteca. mas de inicio eu queria era entender os valores retornados na leitura, mas vc ja me esclareceu bastante coisa e agora (acho) que já consigo fazer oq estava pretendendo ( q era usar o acelerômetro para determinar a aceleração gravitacional em um experimento e queda livre) <br/> </p>
<p>Mineirin, Vlw de mais mano! :)<br/>eu usei um codigo que encontrei na internet msm, e ele n esta usando a biblioteca msm n. mas isso da pra resolver, vou usar um que tenha a biblioteca. mas de inicio eu queria era entender os valores retornados na leitura, mas vc ja me esclareceu bastante coisa e agora (acho) que já consigo fazer oq estava pretendendo ( q era usar o acelerômetro para determinar a aceleração gravitacional em um experimento e queda livre) <br/> </p> Boa noite WAR,
faltou você AN…tag:labdegaragem.com,2018-04-26:6223006:Comment:6686002018-04-26T22:22:53.312Zmineirin RVhttps://labdegaragem.com/profile/RuiViana
<p>Boa noite WAR,</p>
<p>faltou você ANEXAR o arquivo com o seu code, mas:</p>
<p></p>
<p>o GY-521 MPU-6050 é um giroscópio e acelerômetro. </p>
<p><br></br>Os valores que voce postou são do acelerometro.<br></br>O acelerômetro tem vários ranges Accelerometer ranges: ±2, ±4, ±8, ±16g</p>
<p>Na biblioteca desse módulo, os limites (range) do MPU é definido dentro da função initialize() através das funções setFullScaleAccelRange() para o acelerômetro e setFullScaleGyroRange() para o…</p>
<p>Boa noite WAR,</p>
<p>faltou você ANEXAR o arquivo com o seu code, mas:</p>
<p></p>
<p>o GY-521 MPU-6050 é um giroscópio e acelerômetro. </p>
<p><br/>Os valores que voce postou são do acelerometro.<br/>O acelerômetro tem vários ranges Accelerometer ranges: ±2, ±4, ±8, ±16g</p>
<p>Na biblioteca desse módulo, os limites (range) do MPU é definido dentro da função initialize() através das funções setFullScaleAccelRange() para o acelerômetro e setFullScaleGyroRange() para o giroscópio.</p>
<p> Assim, se você está fazendo o uso da biblioteca MPU6050.h, basta chamar a função setFullScaleAccelRange(x) </p>
<p>após a chamada de initialize(), onde x é o range de 2g (MPU6050_ACCEL_FS_2) a 16g (MPU6050_ACCEL_FS_16) do acelerômetro.</p>
<p><br/>Se você está acessando o MPU sem o uso de sua biblioteca, como no caso do código fornecido nesta página,</p>
<p>aí o processo é um pouco mais complexo, pois será preciso adaptar e simplificar algumas funções de outras bibliotecas.</p>
<p></p>
<p>Os valores valores podem ser transformado em g ; 1g = 9,806 65 m/s²</p>
<p>Para transformar estes valores lidos em g, use a seguinte formula:</p>
<p><br/> Valor g(x, y ou z) = Valor-lido/ sensibilidade</p>
<p><br/>A sensibilidade é a que você definiu.</p>
<p>Em exemplos que vi na internet, sem uso de biblioteca, o valor parece que está definido como 2g ;16.384,</p>
<p>mas não tenho certeza</p>
<p>User-programmable accelerometer full-scale range of ±2g, ±4g, ±8g, and ±16g.</p>
<p>2g | 16,384</p>
<p>4g | 8,192 </p>
<p>8g | 4,096</p>
<p>16g | 2,048</p>
<p>No exemplo que voce postou: <br/>x = 136 ; 136/16384 = 0,00830078125 m/s²</p>
<p>y = 124 ; 124/16384 = 0,007568359375 m/s²</p>
<p>z = 16388 ; 16388/16384 = 1,000244140625 m/s²</p>
<p><br/>RV</p>