https://pp.vk.me/c7010/c620229/v6202291 ... ummv2Y.jpg
https://pp.vk.me/c7010/c620229/v6202291 ... NSeBqs.jpg
roboforum.ruТехнический форум по робототехнике. |
|
|
#include <HardWire.h>
HardWire H1Wire(1, I2C_FAST_MODE); // I2c1
#define M_S 1000
int z_1[M_S];
int z_2[M_S];
int x_1[M_S];
int i=0;
int16_t AcX,AcY;
void setup()
{
Serial.begin(115200);
H1Wire.begin();
H1Wire.beginTransmission(0x69); //77
H1Wire.write(0x6B);
H1Wire.write(0x00);
byte error=H1Wire.endTransmission();
Serial.print(error, HEX);
H1Wire.beginTransmission(0x68); //77
H1Wire.write(0x6B);
H1Wire.write(0x00);
byte error2=H1Wire.endTransmission();
Serial.print(error, HEX);
}
void loop()
{
delayMicroseconds(720);
x_1[i] = digitalRead(PB9); // считываем значение с входа
H1Wire.beginTransmission(0x69);
H1Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
H1Wire.endTransmission();
H1Wire.requestFrom(0x69,2); // request a total of 14 registers
AcX=H1Wire.read()<<8 | H1Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
H1Wire.beginTransmission(0x68);
H1Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
H1Wire.endTransmission();
H1Wire.requestFrom(0x68,2); // request a total of 14 registers
AcY=H1Wire.read()<<8 | H1Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
z_1[i] = AcY;
z_2[i] = AcX;
i++;
if(i==M_S)
{
for(i=0;i<M_S;i++)
{
Serial.write((uint8_t)(z_1[i] >> 8)); Serial.write((uint8_t)(z_1[i] & 0xFF));
Serial.write((uint8_t)(z_2[i] >> 8)); Serial.write((uint8_t)(z_2[i] & 0xFF));
Serial.write((uint8_t)(x_1[i] >> 8)); Serial.write((uint8_t)(x_1[i] & 0xFF));
}
i=0;
}
}
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13